Phys Bones

Phys Bones allow bones to move on their own, be affected by gravity, be grabbed, and be pushed. They are VRChat’s built-in, more performant version of the old Dynamic Bones package. They have many settings which allow the user to precisely tweak how they want to bones to move and react.


Version

The version switch changes between the older Version 1.0 and the newer Version 1.1. The differences between the two are as follows:

Untitled

Version 1.0:

Version 1.1:


Transforms

The Transforms section defines which GameObjects each Phys Bone component acts on.

Root Transform

The GameObject to apply this Phys Bone to. If left empty, will apply the Phys Bone to the GameObject the Phys Bone is on

Ignore Transforms

a List of children of the Root to ignore in the Phys Bone calculations. Adding a GameObject to this Ignore Transforms list means that it will not be considered as a head or as a tail of any Phys Bone on this component.

Endpoint Position

At all ends of the Phys Bone chain, creates a new “fake” child at this local offset. +Y points along the bone here, so if you just want to extend the bone, put a low number in the y.

The Transform View

The Transform View

Multi Child Type

What to do when there one Phys Bone in the chain has multiple children:

<aside> ⚠️ Phys Bones need an end point to work. A single GameObject is not a bone, it is just the head and/or tail of a bone. This is why, if you have a single GameObject, you need an Endpoint position to make it work, since it’s just a head without a tail.

</aside>

The Three Multi-Child types. Look at the rotation of the bones with multiple children in particular.

The Three Multi-Child types. Look at the rotation of the bones with multiple children in particular.


Forces

The Forces area is where the settings that decide how every bone moves based on factors such as gravity and movement are set. Note that the descriptions here apply to the Version 1.1 settings.

There are two Integration Types: Simplified and Advanced. These change the values available to the user. (Note for the red-green colorblind: Green is the top chain, red is the bottom chain).

Pull

High Pull means the bones move less from the original position (+ gravity), since the velocity is "pulled" towards that direction.

Note how in this example, the movement of the red bone is a lot more dampened than the movement of the green bone.

The difference between Pull 0.2 (Green) and Pull 0.4 (Red)

The difference between Pull 0.2 (Green) and Pull 0.4 (Red)

Spring

(Only in Simplified): High Spring produces "wigglier" bones which don't like to change direction as much, since more of the previous velocity is carried through.

Note how in this example, the movement of the red bone is more pronounced and wiggles more. While this example doesn’t show it very well, it also makes the bones further down the chain slower to respond to movement higher up the chain.

The difference between Spring 0.2 (Green) and Spring 0.9 (Red)

The difference between Spring 0.2 (Green) and Spring 0.9 (Red)

Momentum

(Only in Advanced): Similar to Spring in that it gives "wigglier" bones, but while Spring makes the bones harder to stop moving, Momentum makes bones harder to move.

Note how in this example, the movement of the red bone is more dampened, but wiggles more than the green bone.

The difference between Momentum 0.2 (Green) and Momentum 0.8 (Red)

The difference between Momentum 0.2 (Green) and Momentum 0.8 (Red)