[Solved] Import mesh + armature from Blender (2.7x)

Hi.

I’m working on getting a stock model from Blender into JME SDK, something I’ve done successfully in the past.
My main concern is not that it’s not working properly, but that I’m not getting any feedback on what is wrong.
The output when converting to j3o is:

Loading animations that will be later applied to scene features.
Found animation: Attack01.001.

Loading model’s textures.

And that the last line. No j3o appears.
This happens when I try to import a mesh with an armature set. If I remove the armature modifier it gets converted but then of course I don’t have any animations (and the skeleton is just an empty node).
I’ve tried various ways of modifying both mesh and armature in order to make it work. Is there a way to enable more output from the blender converter?
I’m using the 3.0 SDK.

Thanks

You could try to load it by code instead,

the convert button does not do much more than

→ assetmanager.loadModel(“bla.blend”);
→ BinaryExporter

In this case you can just step trough it with the debugger and check what happens, also you will most likly already get more debug output.

2 Likes

Great! Thanks for the input.

Funnily, it worked well to convert it through code. Might be something with the SDK version (which is 3.0) where as my jme3-blender.jar is built from 3.1

Theres been a lot of changes in the blender importer since 3.0 but it would still be interesting what the actual problem was, maybe you can try with a 3.0 blender importer as well (though there shouldn’t be any difference when doing it in code vs using the model import tool).

Using the jar from jmonkeyplatform/3.0/libs I get the following stacktrace:

java.lang.NullPointerException
    at com.jme3.animation.SkeletonControl.cloneForSpatial(SkeletonControl.java:375)
    at com.jme3.scene.Spatial.clone(Spatial.java:1185)
    at com.jme3.scene.Node.clone(Node.java:565)
    at com.jme3.scene.Node.clone(Node.java:60)
    at com.jme3.scene.Spatial.clone(Spatial.java:1172)
    at com.jme3.scene.Node.clone(Node.java:565)
    at com.jme3.scene.Node.clone(Node.java:60)
    at com.jme3.scene.Spatial.clone(Spatial.java:1172)
    at com.jme3.scene.Node.clone(Node.java:565)
    at com.jme3.scene.Node.clone(Node.java:60)
    at com.jme3.scene.Spatial.clone(Spatial.java:1214)
    at com.jme3.scene.Spatial.clone(Spatial.java:66)
    at com.jme3.asset.CloneableAssetProcessor.createClone(CloneableAssetProcessor.java:48)

Edit: Seems like it’s data related. I did have some problems with anims/actions in blender.

1 Like

Yeah, I’ve seen this error, too… it’s why I ultimately upgraded (only to find brand new blender importer problems).

Every second or third version of the blender importer seems to break different things that used to work. I suspect whatever test set the author runs through for changes is either poorly representative or poorly utilized.