Using Asset Browser to control Custom Properties for Driver setups

Hello,
TLDR: It looks as if the Asset Browser’s Pose Library would save custom properties that appear in the action editor. They do not, and below is an explanation of why that is useful as a use case, and research on if the ability already exists.

In my workflow we use lots of custom properties to control our characters, these custom properties have to be synchronized different poses in the pose library. It would be very useful if armature custom properties or object custom properties could appear in the Asset Browser’s pose library.

What is the use case?
Peg/Cut out animation that relies heavily on time offset modifiers. Using drivers all modifiers can be controlled. Drivers can be connected to custom properties and those properties could then be baked into the pose library. Currently I accomplish this with a custom written addon.

Example Switching RIg

I know a lot of riggers use Drivers to control special features on their rigs. So I believe this would be useful for not only Cut Out Animation but any Rig that may want to have custom properties.

I have created an example file here https://www.file.io/download/FXHeUKDG1QyI what you can see in this example is a character that has a time offset modifier on it. This modifier is controlled by a driver in side of the armature’s custom properties. When that property is keyed the drawing changes from a square to a circle. In the current system this driver has to be a physical bone on screen which can be messey. By allowing custom properties into the action set visually one can see the time offset changes in the asset browser see the video below for a better visualization.

One lead I have found on this front is this post https://blender.stackexchange.com/a/69910 from 2016 but I can’t seem to replicate what the solution in Blender 3.0 likely because the BPY has changed.

1 Like

Maybe there is a better way, but you can do this the same way you would make a corrective shape key.
Simply choose a property of a bone that can be stored in the pose library (x location for example), and use it to drive the custom property.

Thanks so much Ethan! I think that would definitely work as one implementation. My hope is to control an a lot of custom props, usually added with a script so im searching for a scalable solution.

So the trick to make this work, which I found by carefully following the wording of this blog post. Pose Library v2.0 — Blender Developers Blog

“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.”

SOLUTION to make custom properties controlled by the pose library they must be BONE custom properties.

deepin-screen-recorder_Blender_20211211185918

Blend File https://file.io/idpNNUnMbPUt

Looking back on this I imagine this is pretty obvious to most 3D riggers, it isn’t made entirely clear in the manual Pose Library — Blender Manual When reading the wording carefully its clear that I must use Bones, visually in the action editor it wasn’t as clear, but im sure in the future the manual will be more detailed and this is a minor issue. Hopefully this can help another user trying to navigate the interface that got confused in a similar way to me.

Note: If you are using a bone’s custom properties as the driver, you need to make sure the custom property has a keyframe, or else it won’t be recorded in the pose library.

1 Like