🕒 6 Minute Read

Last Updated: Oct 4th 2023


Contributors: hfcRed


Due to the high performance impact of Animator Layers in an Animator Controller, it is often a lot better to combine things such as toggles and radial menus into a single Animator Layer by using a Direct Blend Tree.

Understanding Direct Blend Trees

Direct Blend Trees allow you to assign a parameter directly to each Animation or Blend Tree child, instead of blending between them. This allows you to animate more than one thing at the same time in the same Blend Tree.

For VRChat, we can abuse this behaviour to create multiple toggles and radial puppets within a single Direct Blend Tree, similar to how we would in separate Animator Layers.

The structure and functionality of a Direct Blend Tree is very similar to that of an Animator Controller, so it might be easier to understand them if you look at them as if they were Animator Controllers. This is a very simplified way to look at and understand Direct Blend Trees, so it should be noted that while they are very similar to Animator Controllers, they are NOT the exact same!

<aside> ⚠️ There are a few key differences between the two which heavily limit the use cases and implementations of Direct Blend Trees compared to Animator Controllers. More info can be found in the Current Limitations And Known Issues section.

</aside>

A Direct Blend Tree with 3 Clothing Toggles

A Direct Blend Tree with 3 Clothing Toggles


Creating Toggles And Radial Puppets

Making toggles and radial puppets in a Direct Blend Tree is not much different or any more difficult than creating a regular toggle in an Animator Layer.

Step 1

1.png

Write Defaults.png

Step 2

2.png

Step 3

3.png

Step 4

<aside> ⚠️ Using only one animation clip like you would with a WD On workflow will not work! You need separate animation clips or a combined clip.

</aside>

4.png

By JustSleightly