Pose Library v2.0

Blender 3.0 will ship with a new Pose Library system. It is the first practical extension of the Asset Browser, also introduced in Blender 3.0. This blog post will show off the new system, and compare it with the existing pose library.

Basic Principles of Assets in Blender

To give a quick overview of assets in Blender: an asset is “a data-block with meaning”. Data blocks, like Objects, Meshes, Materials, Actions, and even entire Scenes, can be marked as an “asset”. In Blender’s preferences, any directory can be added as an asset library. Any asset that is stored in a blend file in such a directory will be available to you in the Asset Browser. The asset system has been described in the Asset Manager blog post, so please read that for more details.

In the case of the Pose Library, every pose asset is its own Action. This makes it possible to give each pose its own thumbnail and tag it with the appropriate character(s) etc. When applying a pose asset, the Action is loaded from its blend file and applied to the current Armature. If there are any bones selected, it is only applied to these bones; otherwise the entire pose is applied. After the work is done, the Action is removed from memory again, so it won’t show in Blender’s regular Action select boxes.

Schematic overview of the datablocks involved in a typical character animation setup.
Schematic overview of the work, character, and pose library files. White blocks are data-blocks, the blue blocks indicate asset metadata.

Blender will continue to work the same as before, meaning that it will only write to the blend file you are working on. This makes things predictable, and gives you ultimate control over what goes into which blend file. Of course it is sometimes easier to just write a pose to some other file without ever closing the current one. There is some functionality for that, so keep reading this blog post to find out.

The pose library file is just a blend file with Actions marked as Asset. This means that it can contain other data as well, so you can link in a character from some other blend file to render your previews. Or you can go the other way, and keep all your data in a single file: the scene, the character, the animation, and all the poses as well. How you organise your assets is up to you. Blender will not make such decisions for you.

Comparison to the Old Pose Library

The old pose library.

Of course the new system has several advantages over the old pose library system:

  • Preview images are embedded in the poses themselves. The old system didn’t support preview images at all; there were add-ons that tried to add this functionality, but those also had their own issues. Support for this in Blender means that these thumbnails never go missing or out of sync.
  • Available in the 3D Viewport. Instead of having to manoeuvre through the property panels, the new pose library is available directly in a side panel of the 3D Viewport.
  • Extendable by add-ons. Much of the UI of the pose library system is actually implemented in Python by an enabled-by-default add-on. Studios and individuals could choose to disable this add-on, and replace it with something that better suits their needs.
  • Opens door for more sources of pose libraries. The Asset Browser system will be extended to make it possible for add-ons to define different kinds of asset libraries. For example, the Blender Cloud add-on could offer a cloud-based asset library system, and studios could provide their artists with a direct link to their repositories.
  • Poses are always available. In the old system, pose library Actions needed to be manually linked into every blend file where you wanted to use them. This is no longer necessary with the new system.

Of course there are also limitations to the new pose library system, as the version shipped in Blender 3.0 will only be the minimal viable product. These limitations will be lifted in the future.

  • Only alphabetical ordering. The old pose library allows for manually re-ordering poses. This is not possible with the new system. It is intended to be replaced by a new asset organisation system.
  • No grouping of various poses in one Action. In the old system a pose was a single frame in an Action. Grouping of similar poses will be possible via other means in the future.

How it works

Below you’ll find seven videos in which Sybren showcases the pose library. Two ways to use the pose library are shown:

  • From the Asset Browser, and
  • from the side-panel of the 3D View.

Furthermore, various ways to put new poses into the pose library are shown:

  • Via the Action Editor, based on simply posing the character and pressing a button,
  • from pre-existing animation, and
  • by copying poses from a different file.

Use from the Asset Browser

The Pose Library can be used directly from the asset browser. When switching the browser to Animations, it will show poses from the active library. The filter bar at the top can be used to search for specific poses.

Click the Apply Pose Library Pose button (this label may change at some point) to apply the pose to the character. If there are any bones selected, the pose will be applied only to those bones. This makes it possible to create a “finger guns” pose by applying a fist pose to the hand, and then an “open hand” pose for only the index finger and thumb. Double-clicking a pose will also apply it.

The Blend Pose Library Pose button (this label may also change at some point) allows you to gradually blend a pose from the library into the character’s pose. Click the button, then move the mouse left/right to determine the desired blend. While blending, you can use the Tab key to toggle between the original and the blended pose. As usual in Blender, left-click or press Enter to confirm; right-click or press Escape to cancel the operator.

The Flip Pose checkbox will mirror the pose from left to right and vice versa. This makes it possible, for example, to apply a left-hand pose to the right hand, reducing the number of poses you have to put into the library. This can of course also be applied for asymmetrical facial expressions that depend on the camera angle.

Finally, the Select and Deselect buttons (de)select the bones that are used in the pose. This can be used to create a selection set, or simply to remind yourself what was part of the pose and what wasn’t.

Use from 3D Viewport

The right-hand panel (toggle it with the N key) has a Pose Library panel in the Animations tab. Contrary to the Asset Browser, which can be used for different asset types and also for some asset management tasks, this panel is dedicated to applying poses. This means that it can allow faster interaction.

Click on a pose to apply it. A single click is enough. You can also select a pose via the cursor keys. This allows for fast exploration of the poses, to directly see the result on the active character. Of course the Flip Pose checkbox is available here as well — it works the same as described in the previous section.

Drag the pose thumbnail, left to right, to blend it into the current pose. Just release the mouse button to confirm.

To search for poses, hover your mouse over the poses, then press Ctrl+F and type a search query. This will filter the poses to match what you typed.

Pose Creation via Action Editor

To create a pose in the library from the Action Editor, pose the character, select the relevant bones, and click the Create Pose Asset button. This will create the new pose Action, which will contain keys for the current value of each bone’s location, rotation, scale, and bendy-bone properties.

The created Action is assigned to the armature. This makes it possible to inspect which bones are included and to tweak anything. In that respect, it’s an Action like any other, and you can add or remove keys as usual. Just make sure that the keys are all on the same frame, in order to keep this a “pose” instead of an “animation snippet”; the latter isn’t supported at the moment.

The Create Pose Asset button automatically marks the Action as Asset. Not only does this make it available in the pose library, it will also act as a fake user to ensure the Action isn’t lost after you unassign it from the armature.

The Create Pose Asset button is also available in the 3D View side panel. This button acts almost the same as the one in the Action Editor, except for one thing: it will not assign the newly created Action. Doing so would be invisible, as the pose doesn’t change and the name of the current Action is not shown in the viewport. The pose asset can still be renamed in the Asset Browser. There you can also click the Assign Action button to explicitly assign the selected pose asset as the armature’s active Action.

Pose Creation from Existing Animation

Animators eat and breathe time, so there is a fair chance that you already have some poses lined up on the timeline. Creating a pose asset from existing animation is pretty much the same as described above, with a few subtle differences:

  • Go to the frame with the pose you want to turn into an asset.
  • Select the relevant bones and click the Create Pose Asset button in the Action Editor.
  • This creates an Action as before, but this time it also includes any bone property that was keyed on the current frame. In other words: any bone property (regular and custom) that’s displayed in yellow or orange in the user interface will be included in the pose asset. As with the pose, the current value is copied into the pose asset, and not the keyed value. This makes it possible to also include properties that control IK/FK switching, for example.
  • Blender remembers which action was previously assigned to the armature.
  • The new pose Action is assigned to the armature so you can give it a name and inspect/adjust its contents.
  • Click the “back” button that appeared next to the Create Pose Asset button. This reassigns the previous Action, so that you’re back at the animation you had before.

Pose Creation by Copying from Other File

As described in the introduction, Blender only writes data to the currently open blend file. To copy a pose from some other file into a pose library file, see the following steps:

  • Pose the character and select the relevant bones.
  • Click the Copy Pose as Asset button, which is available in the Action Editor as well as the 3D Viewport side panel. This will create the pose asset (including its thumbnail) and store it in a temporary file somewhere.
  • Choose an already existing pose asset, and open its context menu (right-click or press W, depending on your configuration). Click the Open Blend File option.
  • A new Blender process will start, and automatically open the asset library file that contains the chosen pose. By the way, this works for all assets, not just poses!
  • In the Asset Browser, click the Paste As New Asset button. This will load that temporary file, and load all the assets it can find in there. In our case, it will only find a single pose, but future versions of Blender may extend this for other asset types. This is why the button is named so generically — it is not pose-specific.
  • Give the pose a name, and click on the “refresh” button to render a new preview if you want.
  • Save the file and quit Blender.
  • The original Blender is still running in the background and notices that the new Blender has quit. It automatically refreshes the asset browser to show the newly added pose.

Scene Animation for Preview Images

Sometimes it’s handy to have a few different background colours or camera angles for your poses. Many facial poses are made with a specific camera angle in mind. In the above video:

  • Background colour is animated. In this case just for fun, but for more serious applications this could be used to indicate a certain character, or a mood, or anything else.
  • The active camera is switched by using camera markers.

Both make it possible to choose a specific frame to pick the background colour and camera angle. Pose the character, click the Create Pose Asset button, and the pose Action will be keyed on the current frame. This means it’s easy to edit the pose and refresh its preview icon, because you know exactly which frame it was originally created on.

Controlling the Look of Preview Images

The preview images are rendered with the active Scene camera. This approach was preferred over rendering a specific 3D Viewport for two main reasons:

  • There is only one scene camera active at any time, making it predictable which camera is used.
  • The camera, as well as the rest of the scene, can be set up specifically for rendering the thumbnails. Pose library files are intended for that purpose: to contain the poses and render their preview images.

The preview images are rendered using the Workbench Engine. Switch the scene to use that as render engine, and you’ll see various options to influence the look. Select a pose asset and press the Generate Preview button to re-render the preview icon with the current settings.

You can also animate settings, such as the background colour, light positions and intensities, etc. Use this to your advantage!

Conclusion & Future Development

This blog post gives a good overview of the current functionality of the new pose library system, and already hinted at some future improvements such as support for animation snippets. The most important next step will be improvements to the organisation of assets. We have some ideas for richer tagging, dynamic folders that automatically show poses with a certain name or tag, and other ways to categorise assets. Also the user interface for blending poses should see some improvements, similar to the recent improvements to the Pose Breakdowner. Finally, it would be great to have a way to automatically convert old-style pose libraries to the new system. This could be a great task for new developers!

16 comments
  1. Okay tried it and already like it however I got couple questions.
    How to overwrite already existing pose? would that ever be possible otherwise we would have to delete the previous one unmark fake user and redo it again.
    Also could the resolution of generated previews increase? I know that u have to increase the viewport anti-aliasing samples but it gives some blurrines to the thumbnails unlike when you render them manually 256×256 and import.

  2. Is the idea to add the pose/animation to the NLA editor as a new strip or within an action? It looks like it adds the action to the NLA editor as a new strip. This doesn’t make sense to have a new action for things like every added facial expression. Or is the idea to add it as keyframes (without strip) if an NLA action is open in the dope sheet, but if no action is open in the dope sheet, it will add as a new NLA strip?

    • Applying a pose from the library will just modify the current pose of the character. It’s up to the animator to do something with this (for example by explicitly keying, or by using auto-keying).

  3. One thing i would complain about is making the blending percentage appears on the mouse cursor instead of the head.

  4. Hi, is there an easy way to run this? The “asset-browser-poselib” experimental builds seem to be missing the addon part. “Missing script files: ‘pose_library'”

  5. The “Create Pose Asset” option is not showing in the Action Editor?

  6. This is a great start in the right direction, but two things which are probably releated that I would like Blender Devs to keep in mind for future improvements.

    1. Blender doesn’t do well with very complex rigs especially with models that have high polycont, skinning those becomes very taxing on the machine.

    2. Selecting/ undo of Bones, rig Controls is very slow that you have to wait for few second before getting any response.

  7. sounds great, will it have options to mirror poses ?
    left hand vs right hand,
    right eye vs left eye,
    etc

    • Yes, that’s what the “Flip Pose” checkbox is for.

  8. Nice, can’t wait for node based animation pipeline/workflow like “geometry node” in the *Constraint Modifier*

  9. Wow!

  10. This sounds very promissing.
    Thanks to all the Blender developers!

  11. The time to upgrade previously created rigged character will be so much better now.
    In a Pipeline: Develop once, update animations even as last-minute corrections, click and apply for changes!
    As online sharable assets: AWS-based Blender will be able to read from anywhere in their network and update data blocks.
    I was impressed by how easy the step-by-step videos show all of the above processes in Blender 3.
    Thank you for such dynamic “hot-linking”! Indeed this will help a ton in the animator’s workflow.

In order to prevent spam, comments are closed 15 days after the post is published.
Feel free to continue the conversation on the forums.