View Full Version : IkSpline Spine Rotate?

01 January 2003, 06:44 PM
I would want to know how the hell can I rotate in Y the spine of a character made of IkSpline in MAYA.
I have made the clusters of every one curve CV, itīs cool how u can move the clusters and the spine move accordingly and smoothly..., but: I canīt rotate it!, anyone knows how to rotate from side to side?
Yes, I know the "twist" parameter in the IK spline handle, but it only does the work for the upper body, but no for the root and hip..., any advices?

Thankīs in advance!


01 January 2003, 08:48 PM

The way to do this, is quite a mission, but its the only way I know of & it will apply to alot of other things, so its pretty good to learn it. Alright, here goes:

You need to create joints for every joint that you want rotated. Basically duplicates for your existing joints. The ones you have created will become the ones that are going to be skinned the old ones, that you have already created are going to be just for the purpose of your IK to control your new joints.
The joints must not be parented to anything, they must just be seperate joints at the origin. You then point constrain each joint to its corresponding joint on your already existing skeleton. Delete the constrains after they are in place. Rename your old skeleton joints to eg.spineaRIG (this is the naming convention I use, feel free to do whatever suites you as long as you can differentiate between what is skinned and what is for rigging purposes) now rename all the corresponding joints to eg.spineaJNT. Now parent each of the newly created joints under there corresponding rig joints. Basically the idea is for the new joints to be skinned and basically be FK, while the old IKspline setup will drive them, because you have parented them all under the IKspline joints. ( I hope you are still with me).

Now you have an Ikspline setup and FK joints under it. All you do now is create a custom twist attribute under your back control or use the rotate of your existing chest and hip controls and write an expression that basically controls the rotate of all your new FK joints. If you use your existing controls, make sure your expression is in such a way that when you rotate your chest controller, it twists more at the top and less at the bottom. & vica versa for the hips controller. I hope you managed to follow everything. Feel free to ask if you need anymore help.

Good Luck!!

01 January 2003, 10:37 AM
mmm, Iīve found that too complicated..., I suposed that it were to be as easy as a "pole vector for IkSpline", since you have pole vectors for IkHnadle, why donīt you have pole vector for IkSplineHandle?, donīt understand why...
The key is that Iīve already been thinking of using the IkSplineHandle.twist atribute but, itīs quite linear..., explain myself:
If you make a IkSpline spine, you have 3 or more control zones (already as more as you want), but, what the heck!, you have only 1 degree of twist?, I mean, the twist rotates from start to end linearly, no midpoints, no more controls..., Iīve found this quite weird...
On the other side you have that the Twist control letīs you rotate the upper body and soulders, and, if you want to rotate all of your body (upper body but with hips also), the only thing you can do is to use the Roll control that rotates everything..., but: What if you want to rotate only the hips?, may be you can roll the IkSpline and then "inverse" twist it to rotate inversively the upper body..., I know this, but: What if you want to rotate the hole character?, then youīll get a fantastic double transformation in the IkSpline (since youīll supose to have driven itīs roll atribute with hipsīs (or something like that) rotation).
Well, this is quite complicated to explain but I believe it have (must!) to be simplier than your method (or may be I donīt understand pretty well your method already).

Any advices?

01 January 2003, 03:55 PM
This is the same method that is used in the inspired 3d character setup book. Its work perfectly for me. Im just suggesting it, if its too complicated, dont use it.

01 January 2003, 11:17 AM
I bought that book a few weeks ago and Iīm reading it just in this moment, in wich page explain your method? Is there any internet resource for it?

Thankīs in advance

01 January 2003, 02:30 PM
Im not sure exactly what page it is. I dont have the book with me now, but its chapter 16 the chapter that explains more advanced rig setups. Its at the end of the setup for the back setup.

If you cant find it let me know and I'll check what page it is for you at work.

Good Luck!

01 January 2003, 04:19 PM
Will see what says the book at home, but, for now at work I have been trying to get a solution and it seems Iīve got it.
I have made some control curves wich have connected their Y rotation to the .roll and .twist IkSplineHandle atributes with some driven keys and seems to work pretty well. Iīve made a simple 3-joint squeleton (one joint for every cluster for the CVs of the IkSpline curve) and Iīve got 3 levels of control thru the hierarchy. I only want to see other peopleīs method to compare with mines, itīs the first solution I obtained, but it works fine to me.

01 January 2003, 04:20 PM
This setup technique sounds way too overcomplicated, and Iīm pretty sure you can get the same results in a more simplified way. I would reccomend you look at the spine setup on the A|W training DVD by JShleifer. If you donīt want to buy the DVD you can at least see this setup technique on the IKJoe character on gooshīs website or in the autoRig setup script.

Have at look at these and let me know if this is what youīre looking for. If it isnīt, Iīd be interested in seeing the technique youīre talking about here in a test scene.


01 January 2003, 04:29 PM
Well, Iīve test the IkJoe solution and itīs great, but as I canīt understand some questions..., Iīve made my own solution.
The one I donīt understand is:
How does it rotate in Y the spine?, it does it with an "orient" joint, but canīt find the way it rotate the spine, it isnīt connected to the IkSpline or the joints..., now, how does it rotate?, donīt know...
I made a months ago another solution without using IkSpline at all, I made the spine with FK only, only a few node controled it through driven keys, and it was pretty simple and fun to work with it..., I was trying the Ik Spline solution to see if it was better, but the other method was almost the same, the only difference was the time I used to make it, almost three times.

01 January 2003, 04:56 PM
How does it rotate in Y the spine?,

You mean the spine twist, or rotating the entire upper body (hips, spine and arms) together? For the twist, thereīs an attribute on the shoulder control which is driving the ikSpline handleīs twist (via an orient joint). If you mean rotating the whole upper body, then you are rotating the root joint control object, under which all spine controls are parented.

You probably know that when you use the ikSpline tool you shouldnīt start on the root, but on the first spine joint (usually a child of the root). This way you can rotate the entire body when you rotate the root.

I made the spine with FK only

The good thing about the technique Iīm talking about is that you can animate with both IK and FK. Itīs quite ideal actually.


01 January 2003, 07:13 PM
I know the twist atribute. But, why I asked this in the thread is that Iīm working on a mocap system, and, like in the human body, the spine has 3 zones of rotation, and the twist atribute rotates the spine linearly from start to end, no midpoints, thatīs is why Iīm studying other solutions to make the same but with a few more controls (one more although).



01 January 2003, 11:12 PM
I dont know, maybe the way I explained it made it seem complicated, but its actually very easy to setup and it onlt takes a few minutes. The thing that I like about it, is that you basically have an complete IK spline setup and a complete FK setup, so you can basically get any range of motion. Its a very easy setup and very effective. I think Jason does the same thing in his DVD, but Im not sure, Ive got the DVD I must take a look.

Anyway, if your technique works and does what you need, I say use it.

01 January 2003, 09:18 AM
the spine has 3 zones of rotation, and the twist atribute rotates the spine linearly from start to end, no midpoints

Yes but there is exactly this as well in the A|W dvd rig. A separate 4-joint animate chain is created which allows control of these 3 zones. Take a look at the autoRig script for more detail.

is that you basically have an complete IK spline setup and a complete FK setup


This sounds very similar to the above method. Iīd be interested in taking a look at this technique. Could you post an example?


01 January 2003, 11:54 AM
Try it under max5.1 !!! Thks Discreet !! :beer:


01 January 2003, 04:14 PM
The only thing I have for sure is that I wonīt change my software only for a stupid question like this .twist problem, take my workaround and enjoy animating! :D

01 January 2003, 04:31 PM
I don't say you changing your soft, just install a free upgrade. I talk for max users, of course, sorry.

01 January 2003, 04:34 PM
I dont know how to post the example, but just give me your email address and I'll send you the example.


01 January 2003, 12:20 PM
or you can you use a simple expresion
to link the rotation of a spline controler to the twist and roll channels.
may be something like this.

float $roll = rollControlName.rotateY ;
float $twist = twistControlName.rotateY ;

IKSpline.roll = $roll;
IKSpline.twist = $twist;

if you can even get creative and make a fansier expresion.
float $chest = chestControlName.rotateY ;
float $hips = hipsControlName.rotateY ;
float $torso = torsoControlName.rotateY ;

IKSpline.roll = $hips + $torso ;
IKSpline.twist = $chest - $hip;

with this one you can have independent chest and butt controls.
just make sure the the variables = the correct controler names and that you are using the correct axis.
also make sure you freese transformation on you controlers so you don't get any funkie ness on your twist and roll.
hope this helps some.
is not as effective as the ghost spine aprouch but it is much esier and faster. i don't think it works have bad to be truth full.
try it out may be you can find some way to improve on it.


01 January 2003, 05:44 PM
Sure it works carlos, and itīs quite the same as mines, but, I donīt like expressions, so I made it with driven keys, thatīs the power of MAYA, the possibility to make the same in so many ways... :P

01 January 2003, 12:13 AM
Originally posted by joie
Sure it works carlos, and itīs quite the same as mines, but, I donīt like expressions, so I made it with driven keys, thatīs the power of MAYA, the possibility to make the same in so many ways... :P

true that my friend,
but expresion are the must power full thing in any packeage sence they allow you too right your own rules on how an aboject has control over an other object. set driven keys are great, but you shouldn't dislike expresion.
they sound scary at first but once you start playing with them they are very fun.

01 January 2003, 04:00 AM
Of course it must be, but, you know..., I was a very bad student, a hated maths..., untill now that I understand them, but I canīt write a line of code, only very simple expresions..., That works are for our programmer, he loves maths, and maths loves him! :D

CGTalk Moderation
01 January 2006, 05:02 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.