jME SDK Tutorial - Adding animations

Today I want to share with you a very cool feature I discovered in jME SDK.

I don’t know if all users of the SDK are aware of this but when you have a model with a full animation track combining all animations together you can manually extract sub animations on the AnimControl.

This is a very helpful feature when working with models that only have on animation track.

Enough talk and have a look how I do this.

7 Likes

I have implemented the same action in jMB :slight_smile:

2 Likes

And of course you can achieve the same result using Maud/Wes.

3 Likes

I ran into an error trying this in the latest version of the SDK (3.2.1 sdk3). Has anyone else had any success with this feature lately?

I also noticed it does not work in the latest version of JMB either.

However, I was able to successfully extract animations using Maud :slightly_smiling_face:

Hm.

1 Like

I’m not at my computer to get the exact error, I meant to post this last night but got tired and forgot. I’ll post the error up once I am home, although I do recall it was an Array out of index exception of some sort with the SDK.

JMB did not throw an error, but no matter what values I enter for the “start frame” and “end frame”, they change back to 0 as the start frame and 1 as the end from whenever I hit enter.

After trying to reproduce the error, I just realized that it is only caused by one specific model of mine which came from an asset store, so thankfully it does not look like a problem originating from the SDK or JMB.

java.lang.ArrayIndexOutOfBoundsException: 2
    at com.jme3.gde.core.sceneexplorer.nodes.actions.ExtractSubAnimationDialog$7.call(ExtractSubAnimationDialog.java:391)
    at com.jme3.gde.core.sceneexplorer.nodes.actions.ExtractSubAnimationDialog$7.call(ExtractSubAnimationDialog.java:368)
    at com.jme3.app.AppTask.invoke(AppTask.java:142)
    at com.jme3.app.LegacyApplication.runQueuedTasks(LegacyApplication.java:702)
    at com.jme3.app.LegacyApplication.update(LegacyApplication.java:716)
    at com.jme3.gde.core.scene.SceneApplication.update(SceneApplication.java:292)
    at com.jme3.system.awt.AwtPanelsContext.updateInThread(AwtPanelsContext.java:200)
    at com.jme3.system.awt.AwtPanelsContext.access$100(AwtPanelsContext.java:45)
    at com.jme3.system.awt.AwtPanelsContext$AwtPanelsListener.update(AwtPanelsContext.java:69)
    at com.jme3.system.lwjgl.LwjglOffscreenBuffer.runLoop(LwjglOffscreenBuffer.java:125)
    at com.jme3.system.lwjgl.LwjglOffscreenBuffer.run(LwjglOffscreenBuffer.java:156)
    at java.lang.Thread.run(Thread.java:748)

Not sure what is wrong with the model I’m using since I didn’t rig & animate it myself, but the ‘broken’ model does not cause this error with Maud, and I have to say that Maud makes it much easier to extract the animations with all the extra tools, so I will keep extracting my animations that way.

1 Like