diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialHelper.java index d054a3520..787c9a0ae 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialHelper.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialHelper.java @@ -276,6 +276,7 @@ public class MaterialHelper extends AbstractBlenderHelper { result.getAdditionalRenderState().setBlendMode(BlendMode.Alpha); } + result.setName(materialContext.getName()); blenderContext.setMaterialContext(result, materialContext); blenderContext.addLoadedFeatures(structure.getOldMemoryAddress(), structure.getName(), structure, result); return result; diff --git a/engine/src/core/com/jme3/material/Material.java b/engine/src/core/com/jme3/material/Material.java index ee8feb1f7..8d43853b6 100644 --- a/engine/src/core/com/jme3/material/Material.java +++ b/engine/src/core/com/jme3/material/Material.java @@ -85,6 +85,7 @@ public class Material implements Asset, Cloneable, Savable, Comparable additiveLight.setDepthWrite(false); } private AssetKey key; + private String name; private MaterialDef def; private ListMap paramValues = new ListMap(); private Technique technique; @@ -132,6 +133,23 @@ public class Material implements Asset, Cloneable, Savable, Comparable public String getAssetName() { return key != null ? key.getName() : null; } + + /** + * @return the name of the material (not the same as the asset name), the returned value can be null + */ + public String getName() { + return name; + } + + /** + * This method sets the name of the material. + * The name is not the same as the asset name. + * It can be null and there is no guarantee of its uniqness. + * @param name the name of the material + */ + public void setName(String name) { + this.name = name; + } public void setKey(AssetKey key) { this.key = key;