View Full Version : driving joints solution

12 December 2003, 07:28 AM
Anybody any other sugestions that might be better than what Im trying right now, heres the scenerio.

think of a snake
with say 20 joints down the body from the root which is at the back of the neck, and the neck joints go forward to the head joints, yar de yar.

I have a second duplicated set of ctrl joints with a spline ik on them and clusters on the curve.

My original joints are point contrained and aim constrained to the ctrl joints.

the reason im doing it this way is so I can keep the top of the body (its back alway facing up rather than twisting on its own when clusters controlling the curve are pushed around.
(I don't want to use the twist on the ikhandle).

What Im trying to do is get idependent twist control for myself, ideally I would love to be able to have this between a couple of locators that I can use the spline ik as a motion path, and the twist happens between the locators.
The only way at the moment I can control the twisting of the body is by connecting the rotation of the ctrl joints to the rotation ofsets of the aim contraintsZ axis.
It is working, but Im just wondering if anyone has ever come across a more elegant soulution.


12 December 2003, 08:23 AM
craig, i've got a similar setup to yours, but instead of using the aim contraint offset, i've used up vectors to control the twist.

just say i've got three control objects along the length of the snake. each joint along the chain has its own up vector, and basically the up vectors are parent contstrained between the two nearest control objects. then i can just tweak the weights of the targets of the control objects. so the up vector 2-thirds along has a weight of say .67 to the control object closest to it, and .33 to the other control object.

this way the up vectors "distribute" the twist along the length of the snake.

if you're going to use this method, you'll probably want to play around with the interp type on the parent constraint. i've found average to be a bit dodgy, and usually use shortest. also, depending on how extremely posed the character is going to be, you might want to point constrain the up vectors to the joints, instead of parenting...

make any sense?

01 January 2004, 11:57 PM
Thanks Hamish, the only prob is Im using Maya 4.5, I have tried a similar approach constraining the up-vector to control objects but getting some nasty effects of flipping when I push the joints round to much, which seems to be a side effect of maya..
Still working on it though....
:buttrock: :bounce:

01 January 2004, 10:38 PM
yeah, v5 supposedly solves a lot of flipping problems, but it appears flipping still occurs. albiet less.

you can still use the exact same principle i described in v4.5 tho. i wrote a script awhile back that emulates the parent constraint (with the offset function as well). have a look at it here if you want: zzConstraintTools (

CGTalk Moderation
01 January 2006, 11:00 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.