Where can I find docs on BlendActions?

Hey, I’m looking into how to use blend actions as a beginner to the concept, but I can’t find the info I need on the wiki or a forum search for “animation blending” (all the topics are too technical). Where should I be looking?

edit: also, the hello animation wiki is in the old AnimControl system. Is that correct…?

The new animation system has no official documentation yet, there is this branch (of documentation I was working on, but note this is outdated and contains some code changes, but maybe useful):

And you can use the following techdemos:

This is another fancy use of BlendActions (PieChartBlendSpace):

Yes, and the old system is deprecated, as far as I remember, the original name of the new animation system is MonkeyAnim or something similar and there was a thread by the original author that has a lot of useful information, but I don’t remember its title.

1 Like

So, If I’m getting this straight…

  1. A pose generated by a BlendAction at a given time is each pose for each action-to-blend (at that time) interpolated between by blendWeight amount.
  2. If the actions-to-blend are different lengths, one will be stretched.
  3. BlendSpace is used to control the blendWeight.

So to blend between walking and running would look like this?

LinearBlendSpace space = new LinearBlendSpace(0, 1);
animComposer.actionBlended("walk/run", space, "walk", "run");
animComposer.setCurrentAction("walk/run");
...
space.setValue(characterSpeedFactor);

Thanks

1 Like

Well, since there is no documentation, there are a lot of interpretations for a simple testcase, but in general, they are all somehow close to this, the blend space, in my opinion, is a mathematical model (linear or non-linear equation) which provides a delta-value (or simply a changeable) that controls how blending is done on each interpolation (so maybe I am wrong), I encourage you to do some testcases of your own, so you know the right use case for you.

1 Like

Hey @codex, I have found the post by Remy aka. Nehon, the original author of Monkanim, it’s very helpful, I used some of these concepts to construct the documentation:

1 Like

Well, that is the old one, which was never added to the engine repo I believe, I think the new one (that uses the Tween API) is discussed here:

2 Likes

Yeah, you are right, the old version seems to be based on a StateMachine pattern with an AnimationManager which is not a part of the engine.

2 Likes

Originally, nehon set out to write something for JME that was similar to MechAnim from Unity… called MonkAnim. It would have been a state-machine based animation system.

During the writing of MonkAnim, he constantly hit issues where the old animation system was blocking progress and in discussions I showed him how Lemur was doing animations with Tweens, etc… This led to a rewrite of JME’s animation system to be Tween-based.

Once this conversion was complete, I think he felt that the new system satisfied a lot of the goals he originally set out to accomplish with MonkAnim and so abandoned it. It’s tough for me to be 100% all these years later because it was around that time he got his job with Sketchfab and started disappearing from JME dev.

4 Likes