2 questions about the animation system

  1. When using “Play Action” node to switch animations, the animation length is limited by the length defined in the timeline. (In the “animation_actions” example, when press 1 to switch to “Idle-M” animation, it will be cut short due to its length is longer than which defined in the timeline). Is this expected behavior?

  2. After use the “Pause Action” node to pause an action, is there a way to resume it?

Hey Milo,

I pushed some fixes:

  1. Armory should now take full action frame range into account
  2. Added Resume Action logic node

If you wish to help with testing you can get the fixes using the built-in updater:

I also updated animation_actions example with Pause Action node.

Hi lubos

I tested and it works fine now. The build-in updater is great!

Oh and one more question, what is the difference between node “Keyboard” and “On Keyboard”?
Whey I was trying to do my own animation test, I accidentally used “Keyboard” instead of “On Keyboard” in the example, and it was not working.

“Keyboard” outputs a bool variable, which you plug in to a “Is True” / “Is False” etc. Node, or caompare to another bool variable with the “Gate” node, to then output the red impulse (is that the correct term?), which you plug into red inputs.

OK thanks! I tested to convert outputs of both “Keyboard” and “On Keyboard” to string, I got “false/true” for “Keyboard” and “[object Object]” for “On Keyboard”.
I think “On Keyboard” is an event while “Keyboard” only output a Boolean value.

BTW, @lubos, May I know why adding space between every characters in the console error output?
It can now only display half of the string ("[object Object]"):

@lubos

OK I have done some more testing on the animation switching, Here are what I have found:

(1) It is required that one action is selected in the action editor.
For example, If I choose nothing in the action editor, like this:

My project will fail with this error when switching animation using “Play Action” node:

So, I have to pre-select one action in the action editor to make it work.

(2) For those non-selected actions, it is required that they are used in any NLA tracks
For whatever reason, to make the non-selected actions accessible to the “Play Action” node, they have to be included in any NLA tracks.

When a selected action becomes no-longer selected, blender sometimes will move it to a locked NLA track (yes this logic is very strange and fragile). The problem is that this is NOT guaranteed…especially if you are using the “NEW” button instead of cloning with “+” button to create a new action.

For example, the Anm_B is the currently selected action, so that Anm_A and Anm_C need to be included in the NLA tracks. If I delete track TRK_Anm_C in the NLA editor, The “Play action” node will fail to play Anm_C.

Please see if it will help your development. Below is the blend file that I used to test:
My_Test_Animation_Actions.blend (1.1 MB)

2 Likes

Hey @lubos

OK I have found an obvious problem today, for armature animation, scale animation is currently not working.

Many thanks Milo. I needed such test of animation, but no time to do it. Good to know.

Hey Lubos nice Engine at all and i worked 2 days with Animations i am not the Cycles Men at all.

I want be suggest a thing that brings more members to your Engine at all i make 2 Games with the BGE

Logic Bricks and Phython lesser.

Not that the logic node or haxe are bad but the Implementation is not easy to Understand my suggestion

is, i am not a hard coder like you and your Armory Team but if its easy to make a build in Cycles Render

Logic Bricks function because Logic Bricks are written in C or C++ and its very fast and the Controll is

really the most Powerfull i ve ever see in a Game Engine i know maybe its not necessary at all because

of Haxe and Logic nodes but its more easy to Handle but all together in one Ship Haxe,Nodes,Bricks and

you have Win the badest Game Engine

best Regards

Kotaros