View Full Version : Tail Oscillation help

04-01-2011, 12:59 AM
I'm using Maya 2011 and have a model of a horse with a long tail. I'm trying to set up a rig for it that has the ability to oscillate automatically without the need of keyframes but at the same time be able to tweaked using keyframed controllers. I can set up both systems relatively well but can't bring them together.

In testing to set up an oscillating tail I set up three attributes, called ZOscillateStrength ZOscillateSpeed and ZOscillateBend for oscillating in the Z axis, onto a control object and then put this expression onto the root joint

joint1.rotateZ = sin(frame * joint1.ZOscillateSpeed)* joint1.ZOscillateStrength;

the following expressions were applied to the the rest of the joints in the chain

joint2.rotateZ = joint1.rotateZ * joint1.ZBend
joint3.rotateX = joint1.rotateX * joint1.XBend

When values are put into all of my attributes this creates the effect of the tail wagging similar to how a fish would travel through water and is what I'm looking for.

In my actual rig I have set up a spline IK from the second joint in the chain all the way to the end, clustered the curve and parent constrained all but the first cluster to a controller. The first expression has been applied to the first joint in the chain and the tail can wag rigidly and then be keyframed using the controllers.

My problem is that with all but the first joint in the chain being controlled by a splineIK curve I cannot put my second set of expressions into place because rest of the joints attributes are already being controlled. I have looked into trying to set up a broken hierarchy so that the control the splineIK has on the joints can be turned on and off but I has of yet been unable to find anything like this.

If anyone has any advice or suggestion on how to solve this problem it would be greatly appreciated.


CGTalk Moderation
04-01-2011, 12:59 AM
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.