I have a blender file with a simple object animation (Blender 2.62), sample blend file here Box
Loading this with BlenderModelLoader fails because it’s looking for an animation RNA key named “rotation”, but the keys are actually named “rotation_euler”:
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
org.jruby.exceptions.RaiseException: Native Exception: 'class java.lang.IllegalStateException'; Message: Unknown curve rna path: rotation_euler; StackTrace: java.lang.IllegalStateException: Unknown curve rna path: rotation_euler
at com.jme3.scene.plugins.blender.animations.IpoHelper.getCurveType(IpoHelper.java:136)
at com.jme3.scene.plugins.blender.animations.IpoHelper.fromAction(IpoHelper.java:93)
at com.jme3.scene.plugins.blender.modifiers.ModifierHelper.readAnimationModifier250(ModifierHelper.java:188)
at com.jme3.scene.plugins.blender.modifiers.ModifierHelper.readModifiers(ModifierHelper.java:111)
at com.jme3.scene.plugins.blender.objects.ObjectHelper.toObject(ObjectHelper.java:169)
at com.jme3.scene.plugins.blender.AbstractBlenderLoader.toObject(AbstractBlenderLoader.java:133)
[...]
Here is a patch to IpoHelper that fixes the problem for me:
[patch]Index: engine/src/blender/com/jme3/scene/plugins/blender/animations/IpoHelper.java
===================================================================
--- engine/src/blender/com/jme3/scene/plugins/blender/animations/IpoHelper.java (revision 9371)
+++ engine/src/blender/com/jme3/scene/plugins/blender/animations/IpoHelper.java (working copy)
@@ -130,7 +130,7 @@
if (rnaPath.endsWith("scale")) {
return Ipo.AC_SIZE_X + arrayIndex;
}
- if (rnaPath.endsWith("rotation")) {
+ if (rnaPath.endsWith("rotation_euler")) {
return Ipo.OB_ROT_X + arrayIndex;
}
throw new IllegalStateException("Unknown curve rna path: " + rnaPath);
[/patch]