Can I exclude a bone chain from animation so it can ragdoll?

I would like my character’s hair to be dynamic. I have it rag-dolled, and it works how I want it to when there is no animation. I had hoped that simply not having channels or keys for the hair bones would do what I want, but it seems the entire rig gets tagged with “animation mode” regardless of whether or not there is animation information for each bone. (Understandable. It probably works better this way in most cases.)

After trying to figure it out myself I came to the conclusion that it will probably involve AddMixingTransform in some way, but I haven’t had any luck with that so far.

How do I exclude a bone chain from animation so that I can make dynamic tails, hair, broken shackles, tassels, and wizard hats?

You are going to need to add mixing transforms for the animation without using the recursive parameter:

  • Recursively descend through the transforms in your skeleton yourself, doing an AddMixingTransform to each bone.
  • Store what you have added in a collection to reverse the operation later
  • Flag the transforms that are the root of your non-animated parts with a special script
  • Don’t recurse or add the transform when you find the script on a transform