Issues with animation layers

Hi everyone, I have some issues with the way animation layers work in Blender.

When you’re trying to add a layer (with the “add” blending mode) on top of the another layer and move a bone, it doesn’t actually work as you would expect. Due to some weird math, the resulting bone position goes absolutely crazy and moves in absolutely unpredictable direction. It seems to be that the bone on the ‘add’ layer has to be completely zeroed out to make blender correctly do math.

The result I would expect would be to have it like in this video:

You moved the bone, you get a predictable result and it doesn’t destroy your animation.

Is there a way to get this behavior in Blender? Thanks for your time!

I haven’t found the ‘add’ blending mode very helpful for the same reason.
Always gives me unpredictable results with the underlying animation.
For example I would expect that mode work like this:
walk cycle as action --> animate head turn on top of that action, make the head turn a separate action and blend it over the other with ‘add’. All the subtile head movements from the walk cycle should be preserved, but the head turns.

Instead, the result is some strange behavior (scaling, weird rotation,…)

So I usually end up animating the head turn in the walk cycle action itself…

Sorry Ganonmaster, this post isn’t very helpful for you, but I thought the issue might get some backing up since you’re not alone in this regard…

Did you try layering using action constraints instead?

There is no animation layers per se right now in Blender. The NLA strips can be used to some extent but as you say, if you try to keyframe a controller on a new layer it will take into account the existing transformations (accumulated from previous layers) and it will result in double transformations. I am ecstatically waiting for Aligorith to take a look at this half-broken system (well broken at least from the point of view of someone who wants to layer animation) - he is the guy who’s to thank for all the grease pencil magic as well as some constraints iirc.

Thanks for the clarification. I hope the developers will consider looking at this as a feature. I understand open source software is what it is, but is there any ground work in place? A proposal of some kind? My C++ coding expertise is limited, but I would like to contribute.

Subscribe to bf-committers mailing list and ask about it ! :slight_smile: (https://lists.blender.org/mailman/listinfo/bf-committers/)

Hadrien