View Full Version : how to streach a rig
10-14-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-15-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-15-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-15-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.
10-16-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 node.do 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 queries....do 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-16-2005, 12:28 PM
thank u seema.
will try this one asap. meanwhile i found another technique in riggging101.com 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-16-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-17-2005, 10:29 PM
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-18-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-03-2005, 11:24 PM
hey seema -
here's some freebies :
Please feel free to use them whenever you like.
11-04-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!
11-04-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.