View Full Version : how to streach a rig

10 October 2005, 01:54 PM
I just want a solution for streachy rigs. I want my rig to strech and squash as i move the control and it sud be flexible too. I mean it sud be handled the same way as we handle IK joints but at the same time it sud strech also.

I have done a simple leg with small joints and used a spine Ik to get the flexible effect. it worked as I created clusters on the control vertexes. But it isn't working if i am parenting the clusters to a control. How can i make it strech as the control moves??

plz help :banghead:

10 October 2005, 06:10 PM
Hey guys! I hope some of the more advanced riggers on this site could address this question because I am also very curious as to how this sort of thing occurs. I could see how this could be done as a spline or using SDK's but like the previous post, I'm not sure how you could stretch a limb using an IK handle. Hope to hear some interesting solutions soon!

10 October 2005, 06:55 PM
Have u tried "setDrivenKeys" !?!
driven keys are links between the behaviors of objects and can make everything real simple. f.e., ... you can link the rotation of an object to another objects scale size etc. You're also able to link 2 behaviors to one, or one objects scale to two objects rotation aso.

the only thing you have to do is to choose a driver and a driven object(s). than only mark the driver values you want to change and the values for the driven, set a key at a start point, modify the objects values and key again.

Hope that was a little help or what you were asking about.

another thing is to create a scalenode for the char where u chan bend and stretch the whole char as u prefer.


10 October 2005, 11:33 PM
I think I understand SDK's to some extent, and I understand the driver/driven aspects of it, but IK's dont have a special attribute you can adjust do they? I mean, the driven can be the scale verts on a leg or arm, but what is the driver, the IK handle? I would think you have have to have an if, then statement, saying something like if the IK is farther away from the knee joint at its bind position, then start stretching those verts. Maybe I'm off here, cause I'm new at this, but I was hoping you could shine a little more light for us? I dont know very much about MEL, but I'm guessing this could be used. Any further help would be great.

Thank you.

10 October 2005, 01:57 AM

if u r using a spline Ik this is how u strech it..U have to find the change of the length of the curve n increase the traslateY of ur spine joints accoriding to that.

ok these r the steps:
1 First of all make sure u Translate Y of all ur back joint r pointing up n make sure they r oriented

2 Then u attach a splineIk with auto parent curve turned off n 2 for no. of spans

3 slect the curve n run this cmd -> arclen -ch 1

4 This creates an curveInfo node (if u c in the hypergraph)...basically this node will give u the length of the curve...U can test it by moving the clusters...u will c that the length changes

5. now create a multiply divide node from the utilities...

6. change the option of the node to divide

7. connect the arclkength of the curveInfo node to the input1X of the muldiv node

8. create another multiply divide node--set the option to multiply

9. connect the output of the previous muldiv node to this input1X of this new muldiv node.

10. copy the tY value of the basejoint of the spine(i call it spine1)n paste in on the input2X of the newly created mulDiv not connect (just copy the value n paste thats all)

11. Now connect the multiply div node's output to the Ty of spine1.

repeat steps 8 to 11 for spine2, 3, etc till the end of ur jointchain that is bound to the splieIK...!! :-) of whereevr i have said spine1 it will b the appropriate joints of ur skeleton

its actually very simple once u do it

Hope it was clear...if u have any ask me...i will try my best to clarify it for u!!

this setup is borrowed from Jaon Schliefer...It works great

Do try it n get back to me....

10 October 2005, 12:28 PM
thank u seema.
will try this one asap. meanwhile i found another technique in which also works great though it is not using spine ik.

it works gr8. the thing i noticed is that it works gr8 even if u don't use the last 3 steps. i didn't got what difference it is making to the whole rig. anyway it worked for me. i can streach the leg as much as i need. now i will try the Seema provided. thanks Seema. :)

10 October 2005, 02:08 PM
yeah i have tried that too n it works great...but the technique i was talking bout is more for the spine of ur char n not so suitable for legs as u dont wanna throw a splineIk for u leg right? if u do, then it will work for anything...but its most suitable for spine!!

10 October 2005, 10:29 PM
Hey Seema,
Thnx for ur effort n time to make Spine Stretch understand.
Was trying to find a way to stretch my Hands thats already for a IK/FK switching too. Can ya suggest something about how to get that ?

I saw it in a TD Reel that had a very nice n handy option to make the elbows take a curve shape rather than a normal angular shape apart from having them stretch. Can you help me get that thing ??

Thnx in advance. Any links about them will be a gr8 too.

10 October 2005, 10:01 AM
hey thats wat ive been workin on too..a way to figure it out..

I tried this n it worked...i used the same principle i told above for the hands too ,where I had a lot of joints skinned to mesh with splineIk (strectchy ofcourse) N they also had cluster to cahnge shape...the clusters were parented to appropriate Fk skeleton ...N i the fk skeleton just had an attribute calles say Fkstrectch that was actually connected to the scale of the Fk joints (basically the uparm n elbow)so that wud make it strech evn in FK..
so when u rototate ur skin deforms as the clusters are parented ..

I m not sure if this is exactly the way to do...but it works for me!! :-)

try it out , u might discover somethin new!

11 November 2005, 11:24 PM
hey seema -

here's some freebies :





Please feel free to use them whenever you like.

11 November 2005, 04:28 PM
hey guys sorry i think i misd mentioning one step..
actaully step 8 is this: after connecting the arclength to the multiply divide node which is set to divide,

copy the Input1x value(which will actually be the arclength vlaue) ans paste it on the box just
below input1x(shud b input 2x) ...we do this coz the output of this node will b one as the same number divided by the same number is one n thats our defualt scale value! thats y we do that!

CGTalk Moderation
11 November 2005, 04:28 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.