Correct way to use NLA strips & tracks in the editor

Hi,

I’m not sure if I am doing this correctly, or maybe I’ve discovered a bug in 2.90.1?

In my specific case, I had animated a swimming creature. I created a swim cycle which I pushed down to an Action on an NLA track and repeated. I duplicated this track and increased the speed of the loop, and used the influence keyframes to ramp it in and out where necessary. This was a little clunky but worked as expected.

Another Action was created for the single animated property of a Follow Path constraint.

I then animated new keyframes to bend my character around corners and point it’s head – more broad strokes – and pushed this down to a new Action. Same again for minor details of face and eyes.

All this is working as expected, mixing values as defined in the “Blending” setting for the NLA track.

What has tripped me up is I went back to my original swim cycle and refined the keyframes. This worked great, and I rendered the project. I’ve come back to this project (only a couple of days) and the refined animation has reverted to how it was before. I can’t for the life of me figure out what happened. Is there a quirk like having to exit edit mode on an Action to save correctly? I’m certain that it did save because I closed blender and rendered from the command-line.

To complicate matters, this character and rig was duplicated – I tripped myself up editing the same action a couple of times before I made a single user version. But all in all I was pretty sure where I had gone wrong, but not in the case of the missing animation. I even tried switching the linked Action Data to each of the ones listed, but my animation was nowhere to be seen.

It’s a Rigify rig and I briefly tested and then uninstalled the Animation Layers Addon a couple of weeks ago, so this could be a niche error.

Any thoughts or suggestions? Or am I just doing this all wrong?

cheers,
LY

Hi @notbyhalf !
It seems you have already used the NLA for some years now? Everything you did was correct.
And yes, the mayhem could’ve happened at some point when you made your “singe user”.
Did you saved the ACTIONS (f curves) with a fake user?
I strongly recommend that (even though) blender can save your action clip in the NLA with your character’s rig (Nla action track or stashed animation), you still press that little shield icon (fake user) in Blender’s action editor, to have it “secured” to your .blend scene. This is not only for precautions but because sometimes you need to access that action from another file using the same rig structure (rigify as you mention).

In addition you’re doing it all right, but! for the “swimming” base action and the over the top additional NLA track (and action clip), please make sure BOTH times match, otherwise you could’ve animated in frame 5000k if the animation clip’s speed is setup in 13x for the current 24 fps in your other (below) action clip at 1x speed.

Also: make sure your animation clips (action clips) always start on frame 1 (even if you don’t have animation on it) because this will give the overall power to the INFLUENCE slider. When you evaluate to zero, Blender doesn’t compute it (it works like when you hide objects in the viewport for performance).

I am about to upload a short (ADVANCED) video talking about the NLA, but I did this one for people who are new into the NLA workflow in general:

Please let me know how did it go for you with this issue. Thanks!

Hi @DavidRivera

That’s nice of you to say but I have fumbled my way through using the NLA and have only animated a few characters using this method now. The NLA has a logic to it which becomes apparent though experimentation, although I do get a bit lost with Actions and generally how data is stored and applied in blender (and purged!).

I’ll check out your intro video and would love to dive into the advanced content when it goes live too.

Thanks for the reply,
LY

1 Like