Slyce // 3dAnimation

Dynamic Tail Animation

Dynamic Tail Animation that I created for our main character in NIVA. I used final IK to blend between an animated version of the tail and a dynamic one that is calculated by using unity joints and collision. You can see the collision geometry reacting to the environment in the next image:

Slyce // 3dAnimation

Basically you start with an animated mesh, add dynamic joints and mix both systems together using final IK. Here is an overview of the workflow in more detail:

1) start with an already animated tail that is skinned and has joints
2) create collision geometry corresponding to these joints:
Slyce // 3dAnimation

3) add hinge joints to this geometry, so you get a dynamic tail. The trick here is to parent the start joint directly under the corresponding joint from the animated version, so that the dynamic tail "sticks" to the character. Also tweak the settings so that the tail deforms in a realistic way and mind the anchor placement & orientation:
Slyce // 3dAnimation

4) use Final IK to create a CCD IK chain (or in my case two chains, because the tail has two strands). This allows you to blend between the animated version and the dynamic one by using weight values:
Slyce // 3dAnimation
Slyce // 3dAnimation

And here is the result:
Slyce // 3dAnimation

Some tips to make this system more stable:
- try to activate "spring" on the hinge joints with small values
- activate "enable collision" on the hinge joints
- experiment with drag and angular drag values on the rigidbody of the collision geometry
- use low weight values on the CCD IK chain for blending, as they have a big impact

Helpful tutorials on the subject:
Youtube - Unity Rope tutorial
Youtube - Unity Hinge Joints tutorial
Youtube - Final IK tutorials

< back