diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java index e44bbc386..10a328299 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/materials/MaterialContext.java @@ -69,7 +69,12 @@ public final class MaterialContext { diffuseShader = DiffuseShader.values()[diff_shader]; if(this.shadeless) { - diffuseColor = ColorRGBA.White.clone(); + float r = ((Number) structure.getFieldValue("r")).floatValue(); + float g = ((Number) structure.getFieldValue("g")).floatValue(); + float b = ((Number) structure.getFieldValue("b")).floatValue(); + float alpha = ((Number) structure.getFieldValue("alpha")).floatValue(); + + diffuseColor = new ColorRGBA(r, g, b, alpha); specularShader = null; specularColor = ambientColor = null; shininess = 0.0f; 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 10fd57082..575ce2195 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 @@ -241,6 +241,12 @@ public class MaterialHelper extends AbstractBlenderHelper { } else { if (materialContext.shadeless) { result = new Material(blenderContext.getAssetManager(), "Common/MatDefs/Misc/Unshaded.j3md"); + + if (!materialContext.transparent) { + materialContext.diffuseColor.a = 1; + } + + result.setColor("Color", materialContext.diffuseColor); } else { result = new Material(blenderContext.getAssetManager(), "Common/MatDefs/Light/Lighting.j3md"); result.setBoolean("UseMaterialColors", Boolean.TRUE);