Animation Layers
I'm currently using version 2.9 and since Blender has been receiving so many cool features since 2.8, I wonder whether If we're actually going to get proper Animation Layers into Blender eventually.
The NLA workflow on creating layered animations using Combined on two or more actions and then baking the animation is nice and all but can get a lot wonky sometimes (many times). First It forces me to create 2 or more actions just for one animation in specific and then I bake and It creates another action in result. For people like me, who use blender for games and like to keep twicking the animation all the time It may be more interesting to add more of a "sub-action" workflow, let's call It that. On which I have a main action (Say... Walk, Run, Punch, Jump, etc) and Its sub-actions (or Layers If you prefer) where I can add secondary animations, up and down movements, physics related motion, etc; rather than destructively altering my animation If you don't use NLA just to add that or Having many many actions for something we just want 1 action to resolve if you do or even baking the actions and basically destroying the "layered" workflow. The sub-actions would be directly related to the main action and would automatically be baked Into the main action layer upon model export (FBX, OBJ, etc.) or just work additively on each other as a result If you're working with renders.
This way we wouldn't need to keep creating actions upon actions upon actions just for one animation and also wouldn't need to run the risk of destroying our animations just to add more details, besides being a more editable and non destructive method as opposed to having to bake It manually when we (think) we're done, just to realize there are more things we want to change and find out all the layered work is gone because you baked It, or having thousands of actions on the list to deal with in order to edit and then re-bake It.
4 Comments
As a fellow gamedev, I concur. But making it "fit" I think is quite hard, so I want to tell what my current workflow is like and how I see this new feature fit in.
To have artistic freedom, instead of NLA I use Animation Layers addon. It allows for quick and easy addition of layers: additive, replace; and also quick tweaking of "weights" of each layer. It also allows baking some(or all) layers into one. The baking can be either smart(only bake where keyframes are in any of the layers) or brutal(bake every frame). The interface is much simpler than NLA, but in turn - more limited(each layer has exactly same amount of frames as the main). This makes me want to have animation layers on top of NLA, not instead. One of the problems I've met was not being able to easily swap action I'm working on. Also export was a headache. I was able to get rid of those issues by duplicating a rig and model per each action into separate collections. And when exporting, baking "scene" animation to get one action per each exported file. I have to export one animation per file, but otherwise things work fine.
Another problem I've had was unreliability of Animation Layers(or maybe NLA, since it uses it): sometimes additive layers would stop working correctly: when working on an additive layer, the animation would suddenly stop after last keyframe in the additive layer even though it has lots of keyframes in layers below(for example). Reopening same Blender file seems to fix such issues.
Overall, current workflow is workable, but I wish it was in vanilla blender and would fit in better into my workflow. So I want to explain what I mean by that.
How I see it: Animation layers are not a replacement for NLA! Instead it is an option for each NLA track(action). NLA track(or action) should have layers. These layers, unlike NLA, should be exactly same amount of frames as action. Weight of these layers can be tweaked. Layers(or a group of layers) can be baked into one. When exporting - layers of an action are baked into one action.
What this solves:
I've tested the animation layers addon a few times, but unfortunatelly at least with me it felt really buggy for some reason,
Also, I am aware that exporting the rigs as animations and retargetting in engine is a thing, here at the studio I am part there are some Maya users who do It because It seems Maya while it has proper anim layers It seems to lack an "action oriented" workflow. But If you make each character's animation It's own action in blender on the other hand, when you export the FBX into Unity or Unreal It reads every action as It's own animation, (in Unity at least) no retargetting is needed since It already reads the anims as belonging to the character, but you can use It on others if the rig is compatible.
I personally, don't like the rig exportion method because It creates too many files (I have a character with 91 animations on her for example, which would be a pain not only to manage but also to export one by one), and It's almost impossible to make additions to the rig or changing something in there if you have every animation associated to It's own rig in It's own FBX file, which is not a problem in the actions workflow.
On that regard, the addon also had the habit of creating and messing up the actions entirely which is basically what I'm not a fan of in the NLA workflow,
These two patches should help: developer.blender.org/D8296 developer.blender.org/D8867 There is also an experimental build that includes both of the patches. The new merge/resample operator solves the destructive problem. You can now merge strips while leaving the nonselected strips active.
Soon, I'll be looking into something similar to subactions.
Developers answered million times on similar request, they are all know about this hot need. So use NLA and wait for news.