diff --git a/engine/src/blender/com/jme3/asset/BlenderKey.java b/engine/src/blender/com/jme3/asset/BlenderKey.java index a09868213..4e791656e 100644 --- a/engine/src/blender/com/jme3/asset/BlenderKey.java +++ b/engine/src/blender/com/jme3/asset/BlenderKey.java @@ -99,7 +99,9 @@ public class BlenderKey extends ModelKey { * If set to -1 then the current layer will be loaded. */ protected int layersToLoad = -1; - + /** A variable that toggles the object custom properties loading. */ + protected boolean loadObjectProperties = true; + /** * Constructor used by serialization mechanisms. */ @@ -216,6 +218,22 @@ public class BlenderKey extends ModelKey { return layersToLoad; } + /** + * This method sets the properies loading policy. + * By default the value is true. + * @param loadObjectProperties true to load properties and false to suspend their loading + */ + public void setLoadObjectProperties(boolean loadObjectProperties) { + this.loadObjectProperties = loadObjectProperties; + } + + /** + * @return the current properties loading properties + */ + public boolean isLoadObjectProperties() { + return loadObjectProperties; + } + /** * This method sets the asset root path. * @param assetRootPath diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/objects/ObjectHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/objects/ObjectHelper.java index ed14a11af..f9ab647ef 100644 --- a/engine/src/blender/com/jme3/scene/plugins/blender/objects/ObjectHelper.java +++ b/engine/src/blender/com/jme3/scene/plugins/blender/objects/ObjectHelper.java @@ -274,9 +274,11 @@ public class ObjectHelper extends AbstractBlenderHelper { } //reading custom properties - Properties properties = this.loadProperties(objectStructure, blenderContext); - if(result instanceof Spatial && properties != null && properties.getValue() != null) { - ((Spatial)result).setUserData("properties", properties); + if(blenderContext.getBlenderKey().isLoadObjectProperties()) { + Properties properties = this.loadProperties(objectStructure, blenderContext); + if(result instanceof Spatial && properties != null && properties.getValue() != null) { + ((Spatial)result).setUserData("properties", properties); + } } } return result;