[Solved with Xbuf] Animation not playing in JME SDK alpha 4 Scene Composer!

Hi Friends
Like my previous post this problem is also a bit complicate and strange to explain.
In SDK Alpha 4 :
I converted my animated .blend model to .j3o.
Animation plays OK inside game with no problem but does not play in SDK scene composer.

In SDK Alpha 3 and the before versions it was Playing correctly in SDK scene composer.
I know I need to provide more detailed info . (I will play with it and provide a detailed test case) it is late night here and going to :sleeping:
You may also take look to see if such thing happens to you either ?
But it is surprising that it plays in Game but not in SDK scene composer. Does SDK scene composer use different libraries :wink:

Have you tried right clicking the animation control and selecting “Controls->Start All”? If that’s the case, this might indeed be a bug.

If not, we’d need some log (best when launching the SDK inside of netbeans or launching the SDK from a Terminal to capture STDOUT).
It can always happen that there is an exception due to some corner case.
On the other hand you are right: The SDK simply uses the Engine. The Scene Composer is just like a usual game.

Yes I did. No difference.

After testing with two different models i got some interesting results:
[I am launching the SDK inside netbeans as you said.]
Human Model 1 : It has one mesh and one material for it and one human rig with some animations on it.
It plays OK in scene composer of SDK alpha 4 .

here is the log i get when loading, playing animation and closing model from scene composer.

EDT: addNotify
INFO [com.jme3.gde.core.assets.AssetDataObject]: Loaded asset Doha
OGL: Visible. Create strategy.
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for Kachujin (Node)
EDT: removeNotify
OGL: Not visible. Destroy strategy.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Doha/Doha.j3o, from cache via main asset Doha.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Doha/textures/Kachujin_normal.png, from cache via main asset Doha.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Doha/textures/Kachujin_diffuse.png, from cache via main asset Doha.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Common/MatDefs/Light/Lighting.j3md, from cache via main asset Doha.

Human Model 2 : It has multi separate meshes (meshes are not joined) , some of them have same material shared. and one human rig with some animations.
It does not play in scene composer of SDK alpha 4.

here is the log i get when loading, playing animation and closing model from scene composer.

EDT: addNotify
OGL: Visible. Create strategy.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Loaded asset Kang2
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for body1 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for face2 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for hand (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for hand2 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID105 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID150 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID186 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID222 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID240 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID249 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID258 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID294 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for ID33 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0007 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0008 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0011 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0015 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0018 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0024 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0026 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0030 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0031 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0033 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0035 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0037 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0039 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0040 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0044 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0045 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0046 (Node)
INFO [com.jme3.animation.SkeletonControl]: Hardware skinning engaged for mesh0048 (Node)
EDT: removeNotify
OGL: Not visible. Destroy strategy.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/Kang2.j3o, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/images/10_hokutex013.tga, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/images/8_hokutex011.tga, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Common/MatDefs/Light/Lighting.j3md, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/images/3_hokutex006.tga, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/images/0_hokutex003.tga, from cache via main asset Kang2.
INFO [com.jme3.gde.core.assets.AssetDataObject]: Removing asset Models/Models/Players/Kang/cadnav.com_model/images/4_hokutex007.tga, from cache via main asset Kang2.

And as I said it was working OK in SDK alpha 3 scene composer.

Well this leaves me clueless. No error means huge problems :stuck_out_tongue:
Actually there were problems with hardware skinning and shared materials (but in the engine)
Can you maybe find out if it works without shared materials?

Edit: these are the changes to the SDK since alpha3 and the only thing which could effect you is actually alpha4 itself.

or if it still works without animations.

I tested with another model without shared material but no success.

Yes i think.
Because when i convert .blend to .j3o model with alpha 3 then open that model in alpha 4 sdk scene composer it plays animation OK.
I need to investigate more.

That would mean alpha 4 importing fails, mhh strange, really strange.
If it was related to the Application changes and somehow not calling the proper update, then I could understand that.

@pspeed Could it be that there is a problem with the Animation Cloning, so that there are problems when cloning from the temporal (imported) to the serialized .j3o file?

Ali: Could you maybe import the same model with alpha3 and alpha4 and look for binary differences? (Note: You can also use BinaryImporter and then XMLExporter for more readable stuff, but only when those j3o files are different)

Of coarse. just let me some times.

but even more strange thing is that right now I converted that .blend to .j3o in SDK alpha 4 then opened it in SDK alpha 3 scene composer and it played animation OK.
Now it is a real complexity .
I doubt if it relates to me using the nightly version of netbeans 3/30/2016 when building my SDK alpha 4.

2 Likes

Anything is possible, of course… but I did test animation and cloning specifically and did not see any issues. I loaded the Jaime that is in the test data and cloned him various ways… in call cases animation played fine. I did this through code and not the SDK, though. But either way, the objects came from the asset manager and were thus cloned even there.

Seems the only thing different now is how the animation is being played in the SDK.

2 Likes

The “advanced” tools to play animation in the SDK were added by Remy and have some threading “nonchalantness”, otherwise most issues like this occurring in the SDK have in the past shown to be engine issues after all. The SDK is a very good test for engine issues :wink:

That’s not “nonchalantness” that’s the french touch.
I fixed those issues years ago though.
Here it could be an issue with cloning or/and the Blender loader…

@Ali_RS you said it works with alpha 4 in game? Are you absolutely sure about this? do you really use alpha 4?
The code for playing animation is just that… it plays animation. Also if it doesn’t work either with @Darkchaos “play all controls” feature, that’s a sign that it’s a more general issue.

1 Like

Yes it works in game.
I am using alpha4 and compiled it with nightly version of netbeans myself which the problem may relates to this. (version of netbeans = 3/30/2016).
I will download the newly released SDK (with its default netbeans ) tonight and test if it is because netbeans version .

That’s why I asked.
It was unrealistic but it could’ve been that the control starts “paused”.
On the other hand that feature was already from alpha 3, so this is not the issue.

The only thing that I could’ve imagined was the SDK cloning somewhat different to have shared materials over the engine itself. But that’s irrelastic as well.

@Ali_RS Can you maybe upload a broken model so we can try to step-debug it? (it’s not funny though. Some monkeys will be lost down that path :stuck_out_tongue: )

May the poop fly so that their lives are not lost in vain…

1 Like

Yes . I will upload it in a few minutes.

Don’t hurry. It will most likely be the weekend until I can look into that since I’m aways home at 8pm from work and well you don’t have the power to do this anymore :stuck_out_tongue:

I started the implementation of player of animation in my Editor and I also have this problem in JME3.1 alpha4 :frowning:
I cannot see the animation in this model.

Did it work before?

What code are you using to play the animation?

I also have an editor with actions to play animations and it worked fine when I tested it.

For example:

final AnimChannel channel = control.createChannel();
channel.setAnim("Walk");
channel.setSpeed(1);

Did it work with alpha3?