diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ArmatureModifier.java b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ArmatureModifier.java
index f077a198c..51e2d76bf 100644
--- a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ArmatureModifier.java
+++ b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ArmatureModifier.java
@@ -177,6 +177,8 @@ import com.jme3.util.BufferUtils;
blenderContext.setAnimData(boneOma, animData);
}
}
+ } else {
+ modifying = false;
}
}
}
diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/Modifier.java b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/Modifier.java
index a7a3a1a80..6138dae5f 100644
--- a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/Modifier.java
+++ b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/Modifier.java
@@ -23,6 +23,12 @@ public abstract class Modifier {
/** This variable indicates if the modifier is invalid (true) or not (false). */
protected boolean invalid;
+ /**
+ * A variable that tells if the modifier causes modification. Some modifiers like ArmatureModifier might have no
+ * Armature object attached and thus not really modifying the feature. In such cases it is good to know if it is
+ * sense to add the modifier to the list of object's modifiers.
+ */
+ protected boolean modifying = true;
/**
* This method applies the modifier to the given node.
@@ -62,4 +68,11 @@ public abstract class Modifier {
invalid = pError.isNotNull();
return !invalid;
}
+
+ /**
+ * @return true if the modifier causes feature's modification or false if not
+ */
+ public boolean isModifying() {
+ return modifying;
+ }
}
diff --git a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ModifierHelper.java b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ModifierHelper.java
index 5688083f2..e7cdcc2dc 100644
--- a/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ModifierHelper.java
+++ b/engine/src/blender/com/jme3/scene/plugins/blender/modifiers/ModifierHelper.java
@@ -101,9 +101,13 @@ public class ModifierHelper extends AbstractBlenderHelper {
}
if (modifier != null) {
- result.add(modifier);
- blenderContext.addModifier(objectStructure.getOldMemoryAddress(), modifier);
- alreadyReadModifiers.add(modifierType);
+ if(modifier.isModifying()) {
+ result.add(modifier);
+ blenderContext.addModifier(objectStructure.getOldMemoryAddress(), modifier);
+ alreadyReadModifiers.add(modifierType);
+ } else {
+ LOGGER.log(Level.WARNING, "The modifier {0} will cause no changes in the model. It will be ignored!", modifierStructure.getName());
+ }
} else {
LOGGER.log(Level.WARNING, "Unsupported modifier type: {0}", modifierStructure.getType());
}