Mesh twitsts when armature follows curve

Hello! I need to make an animation of the bandage wrapping around the hand. I almost did it with the help of the curve and track to constraint with the empties but encountered the problem of twisting. The bandage twists in some places and I can’t figure out how to fix it. Thanks for your help in advance!

My initial guess is that the bones are rolling unexpectedly. That type of movement can be locked

On the bone properties panel try messing around with the rotation locks in a way that doesn’t compromise your intended movement

With this configuration for example the rotation of the bone above has to follow the rotation of the bone below but I can still bend it

Thanks for the reply! I tried your advice and locked everything. Nevertheless, I still get rotation in quaternions (but it’s locked) and the mesh twists. Also, I should have mentioned that I can’t manipulate the armature at all because of the Track to constraint.
Additionally, I’ve noticed the mesh twists at certaint points of the curve, and that manipulating the curve bends the mesh.



Can you provide a .blend file with this rig?

Sure, here it is.
BandageSpline.rar (612.6 KB)

After changing the bone constraints from “track to” to “damped track” the twist got fixed

Track to apparently maintains the z axis of the bone pointing up, making it rotate wildly when it should be pointing downwards. Damped track uses the shortest rotation possible to track the target

image

But there’s one bad thing

You may notice that on the video the bandage ended up a bit flared. You can fix that partially by going to the curve, selecting two points or more and changing their mean tilt (or changing the tilt of individual points)

Unfortunately the damped track constraint is making the flare change as the bandage goes through the curve. The last bones in the chain rotate along the x axis ever so slightly when they reach the imaginary cylinder and their rotation affects every other bone that came before.

You could try to animate this change in tilt or even add another “locked track” constraint so every bone points it’s side towards a very far new empty object



with this workaround the weird side effect is that the bandage always curls inwards

1 Like

Thanks a lot, it really helped! Now I can get the result I was aiming for. Thanks again!

1 Like

After reading more of the documentation I found an even better solution:

Rotate every empty 90º around the x axis so their z axis is parallel to the imaginary cylinder

image

Continue with the Track To constraint but change the axis and select “Target Z”

This will make the bone roll always point towards the Z of the empty, that is now facing the correct direction

1 Like