← All ideas
  • Published 15 Apr 2018

Basic Animation Layers / Layered F-Curve Groups

I don't know much about C++, so I can't implement it myself but from what I've seen in Blender's source code I believe it would be simple to add basic animation layers, if a developer wanted to.

NLA Editor is the closest thing to Animation Layers in Blender but they're not the same thing. I'd imagine actual Layers to look like this in the Dopesheet/Graph Editor:
alt text

The closest thing to "official" plans for layers is in a 2015 roadmap post and followup 2016 mailing reply, but the overall design seems to be a complex rewrite of how animation is handled, The goal of that rewrite is to make it easier to support "additive layers" , however given the time/effort required to implement that, and since it doesn't appear to be a high-priority, I propose a simpler approach.

plan:

Add a layer variable to F-Curves. Any curve without a layer would default to layer 0 (support for animations prior to layers) .

The way layers would be used is only curves in the active layer will be modified; curves from other layers will be grayed out (maybe using a custom color in ui preferences) , or similar to ghost-curves, to avoid clutter.
alt text

Everything else about layers (and usage in NLA Strips) should essentially be a copy of the existing NLA.

The layers can be processed the same way as NLA Tracks, which samples the curve from the Strips on each Track, in order, but instead here it samples the curves from each Layer/Group in order before moving up the Strips.

Click layer to make active, Shift+A to add new layer, Page Up/Down to reorder, etc Layers could also use a start/blend_in and end/blend_out like from NLA, or auto-set based on where the "available" keyframes. Influence could be keyframe-based (like NLA) , or just one slider per layer

Maybe also copy NLA's Blend types (Replace/Add/Subtract/Multiply) , or just stick to replace only.

As for additive layers , I made an addon that "auto-corrects" ADD keyframe recording, and it could be easily modified to work with this implementation, until a Final/Proper additive layering system be made

ActionLayers.thumb.png

81.8%

Development Status: Open

Upvote 9 Downvote 2
edtion
15 Apr 2018

4 Comments

draise14

I like this initiative. Glad to see I'm not the only one! This is probably one of the only features that has made me reluctant to not use Blender in full productions.

To solve this also easily, I just wish the additive NLA clips would preview simultaneously as you edit one to then add the layers automatically. At the moment when you edit a clip you lose all influences of other clips. I am all pro layers for animation... it's a must for mocap, it's a must for television production, it's a must for game production, it's a must.

1
jason

While I agree that the concept of layered animation needs an overhaul in Blender, I'm personally not at all in favor of overloading that functionality into the Graph Editor. I'd much rather a design that revamps (or completely refactors) the NLA to give it the necessary functionality.

1
edtion Author

@Jason van Gumster: Okay but that doesn't explain anything about "what to do" , just use the NLA . This method works with NLA strips/tracks, maintaining it's editability/features.

If you want me to spout random ideas to make the NLA better for animation, I can do that but it already mostly serves it's purpose and even if the complex 2015 proposed-revamp were to happen, the NLA would still need changes to make it expedient like layers in DopeSheet/Graph Editors.

1
AnubisMaster

Yes PLEASE YES