Skip to main content

Physbone: Angle Limit Substitution for Colliders

Learned this from this tweet by Tupper which has a video demonstrating it.

This is a work in progress page and not fully completed. It is currently missing images and some further information one may need so they don't get confused or lost doing this.

You can use less physbone colliders by clever use of physbone angle limits alongside the pitch, roll, and yaw fields.

This can generally be used to prevent things such as hair, skirts, capes, etc, from clipping into your avatar's body. It helps keep your performance ranking high by allowing you to eliminate some unnecessary physbone colliders on your avatar.

In Blender, you would enable "axis" under your armature's viewport settings. This allows you to see the XYZ of each bone at it's head. You then change the roll of the bones that you want physbones for in edit mode so that the 'Z' axis points inwards for each bone.

Export the model to Unity.

Save your existing scene in Unity before exporting the model and then make a new scene. Otherwise it may screw with your model in undesirable ways. Reconfigure the model's rig by resetting the pose and enforcing T-Pose in the configuration screen. You should be able to safely return to your avatar's existing scene. If your model ends up contorting, I recommend using Pumpkin Tools to reset pose.

In Unity, adjust your physbone angle limit to whatever how much you believe you'll need, then adjust the pitch so that the blue angle cone is pointed away from your avatar, enough so it won't clip into yourself as much. Test in play mode to see if it clips through your model.

If your model has longer hair for example, I recommend using curves for your angle limit and pitch to fine tune it.