Animation Layers

Edit your animation or mocap data quickly using a standard animation layers UI and workflow directly in your 3D viewport.

Animation Layers is an addon that simplifies the work with the NLA Editor into a standard animation layers workflow. You can quickly select and edit each layer without the need to go into NLA’s tweak mode, and always seeing the end result while working on any layer.
Add or Remove Layers quickly, or control their Influence using NLA’s “Mute, Influence, Solo and its Blending modes” options.
When you are happy with your animation, you can always merge down your layers, which would bake all the layers from your current selected layer down to the Base layer.
If you want to keep the same amount of the overall keyframes after baking, then you can also use the smart bake option.

More details including “current known issues that still need to be solved” are in the blender market documentation page

Feel free and let me know what you think

12 Likes

watching the video I understood you are using NLA tracks. but how to do a track solo?
and how to override with the area not opened? (I need the same on the outliner too…I don’t find a way to select a collection)

Looks really interesting! Is there any documentation available? Edit: Oops, my bad! I hadn’t look up the Blendermarket link :sweat_smile:

I would recommend to work on a lower level, instead of using operators if possible. For example
bpy.data.collections[0].hide_viewport = True
To hide a certain collection, or whatever you need from the outliner (you would access directly the objects or collections)
If you really have to use an operator and in a certain area, which might not be open, then you can store an area in a variable like area_old, switch to the necessery area, do the operator with override, and then switch the old area back.
So for example something like this

    obj = bpy.context.object
    window = bpy.context.window_manager.windows[0]
    old_area = window.screen.areas[0].type
    screen = window.screen
    bpy.context.window_manager.windows[0].screen.areas[0].type = 'NLA_EDITOR'
    area = screen.areas[0]
    override = {'window': window, 'screen': screen, 'area': area}
    bpy.ops.anim.channels_move(override, direction=dir)
    
    bpy.context.window_manager.windows[0].screen.areas[0].type = old_area   

It’s not a clean way of achieving things, but it works. However I would recommend to avoid as much as possible tof using this method and to work on a lowerer level instead

Is it available for Blender 2.91? Also, is it available elsewhere outside the BlenderMarket (like Gumroad)?

Hi, yes. It works with Blender 2.91 as well and is currently available only in the blendermarket

1 Like

Oki, I guess I’ll have to create an account there then. Thanks!

Hi,

I bought this add-on in the blender market sale and have been using it (great add-on :grinning:) however I linked a rigged vehicle into the scene and enabled Make Library Override in the Object->Relations menu but I cannot enable Animation Layers for the rig, I get the error “Disabled: Can’t edit this property from an override data-block”.

I understand Library Overrides is a new feature and still being developed is this why it isn’t working?

After experimenting I can use Make Proxy which seems to work so far, is this the correct way to work with Animation Layers and linked items?

Thanks,

Andrew.

1 Like

Hi Andrew, the addon is currently not supporting Override Libraries. The problem is that once I add it, then the addon is not working with older versions of Blender.
However I’m planning to add a separate branch for override libraries, which will be available from the auto-updater. It might also happen this week.
For the meantime it’s better to work with proxies

p.s. It’s normally better to contact me via Blendermarket.

Cheers
Tal

1 Like

Hi Tal,

Thanks for the quick answer, I will use proxies on my current project.

Also I keep a copy of the latest alpha version of blender up to date to check new features and noticed Animation Layers gives an error when clicking the update button in preferences.

I will contact you via blendermarket if I need to get in touch again.

Thanks,

Andrew.

Animation layers addon is now also supporting override libraries! You can get it via the auto updater. it’s a separate branch and currently called v1.9.2.1-Overrides

I know that 2.93 have an issue with the auto updater, I’ve contacted also the creator of the auto updater about it. It’s probably some API changes that could still change.

2 Likes

Hi Tal,

Thanks for the update, I will give it a go :slight_smile:

Unfortunately I am currently having to use 2.93 because of an issue with a rig in the project I am working on but I will certainly try the update on 2.92 and hopefully you can get the creator of the updater to resolve the issue with 2.93.

Andrew.

Hi Tal,

Thanks for the update to 1.9.4.1, I can confirm the addon now works correctly in 2.93 and 3.00, the update feature also works :slight_smile:

I just started a new project which I can use the new version on. I will also make use of the override feature.

Andrew.

That’s great to hear, I didn’t even get to try it on Blender 3.00
If you use mocap in your new project then you should defiantly try the new feature - Extract keyframes from Markers.

New tool on animation layers for motion capture cleanup.
Mark the key poses of your selection and create a new and editable layer from it. The addon will estimate the interpolation between the keyframes based on the motion capture layer.

2 Likes

Hi Tal,

Thanks for the updates, everything is working great so far in 2.93.

I do have a question, say I have a rigged helicopter which has an action called “Rotor” whose animation is to rotate the main and tail rotors. If I create a new scene and link in the helicopter and override the rig, the “Rotor” rig is also linked in as an action.

If I then use Animation Layers to animate the helicopter (in the new scene) with a number of layers. Is it then possible to create a new layer and assign the “Rotor” action to that layer so that as the helicopter animation plays the rotors are also animated via the “Rotor” action?

I hope that makes sense.

Thanks,

Andrew.

1 Like

Hi Andrew,
Yeah it’s no problem. You can also use linked actions in your layer, but I recommend to make sure that you don’t have any NLA strips or animlayers in your source rig file because they will always re-appear in the animation files, even after deleting them.

1 Like

Hi Tal,

Thanks for getting back to me, I still have a question about this so asked it in a message to you on blender market.

Thanks,

Andrew.

Shapekey Animations are now also available in Animation Layers on Mesh objects.
It is now possible to create, delete, merge, bake and extract also shapekey layers.

5 Likes

Thanks for implementing shape keys animation support into your fantastic add-on!
But I am afaid, when not using any shape keys / none being available, the add-on breaks (v1_9_6_4). Tested on Blender 2.92.0 and 2.93.1 and getting this error, when turning the add-on on for the first:

\Animation_Layers\anim_layers.py", line 1386, in execute
    for anim_data in {obj.animation_data, obj.data.shape_keys.animation_data}:
AttributeError: 'Armature' object has no attribute 'shape_keys'

The previous animation is then gone. (I tried just adding a base shape key to the meshes prior to activating the add-on but that didn’t fix the issue. Don’t know… :man_shrugging:)
No worries, I just roll back to v1_9_5_5 for now.
Thanks

1 Like