The main problem I guess is in the naming of your meshes.
Some names (Skull for example) are assigned to both bone and spatial object.
Blender does not store mapping between skeleton or bone and their tracks. Because of that, the importer needs to try to
figure out how to bind those. And the easiest way is by name. Try renaming your mesh elements in some way. For example Skull → SkullNode or something like that.
Then the track named Skull will be assigned to the bone and not to spatial.
But this is not enough. Thanks to your model I managed to fix several NullPointers and IndexOutOfBounds exceptions during constraints loading.
They will be available in the next Nightly build I guess. But if you’re in a hurry - take a look at your constraints. Some do not have target applied when they should.
And some IK constraints are applied to bones without parents with the option ‘Use tail’ disabled. They won’t work anyway and will cause the above mentioned exceptions - so remove them untill you update to the latest nightly.
After those changes I managed to finally load the model. Unfortunately the animations did not work well - but I think this is because of bad track-owner mapping.
I will work on this now and will let you know when I find out what is wrong.
OK I know now where the problem lies with the animation.
The skeleton is made of several separate Nodes. The nodes share the same skeleton.
In jme I cannot apply one SkeletonControl and AnimControl to many nodes. I have to create one instance of those two for every node that has Armature Modifier on itself.
This causes many skeletons appear in the scene even though one skeleton instance is created.
I am not sure if jme will allow to solve such problem.
I guess we will need some developers’ help here.
Question to developers: Is it possible to use one skeleton to control several separate nodes ?
If not then the only solution would be to join the meshes into one Object. Keep the meshes separate on vertices level of course so that the ‘dead’ animation is played properly.
I tried to do this but unfortunately my animation still looks badly.
I’ll take a look if it is the blender importer error or mine while joining the meshes.
I just have made a commit that removed the ugly artifacts of the mesh when I joined the elements of the skeleton into a single mesh.
The animations now look just like they should.
The only artifacts that appear are near the feet and are caused by IK constraint.
I will let you know when I fix that too
sorry it took me so much time, but the error was pretty hard to find.
I made a commit today. There should be no more ugly artifacts now in your animation of the skeleton.
Although there are still some issues with th IK constraint which is not yet perfect and migh cause some random ‘jumps’ of the bones, but this happens in my other models as well.
And the fix I commited caused the significant improvement of loading speed of the model
So two good things with one commit
I will let you know if I manage to improve the IK algorithm.