Simple Stretchy Leg

Moderator: BenChang

Simple Stretchy Leg

Postby BenChang » Tue Feb 28, 2012 6:06 am

stretch2.jpeg
stretch2.jpeg (16.71 KiB) Viewed 2208 times

keepontruckin.jpg
keepontruckin.jpg (31.85 KiB) Viewed 2208 times


Basic squash and stretch added to an IK Leg

This technique adds a simple squash and stretch control to an IK leg. By scaling joints (here, on the X axis), we can stretch the joint chain. Scaling the hip and knee both proportionately gives a nice stretching effect over the whole leg, which we can control with one attribute via an expression.

stretch3.jpeg
stretch3.jpeg (10.87 KiB) Viewed 2208 times

1. select LFootControl and add a float attribute, [i]legStretch[i], with a min of -10 and max of 10.

2. Open the Expression Editor (Window->Animation Editors->Expression Editor)
3. Enter this expression:
Code: Select all
LHip.scaleX = pow(2, LFootControl.legStretch/10.0)

4. Click "Create"

pow is the exponent function. When legStretch = -10, this returns 2^(-1), or 1/2. When legStretch = 10, scaleX = 2. When legStretch=0, 2^0=1 so scaleX = 1.

stretch4.jpeg
stretch4.jpeg (32.43 KiB) Viewed 2208 times


stretch5.jpeg
IK handle pulled beyond leg length
stretch5.jpeg (7.55 KiB) Viewed 2208 times

stretch6.jpeg
Stretch applied to the hip joint
stretch6.jpeg (8.04 KiB) Viewed 2208 times


5. This only scales the hip joint, though. To make it a little nicer, we can divide the effect between the hip and the knee. Open the expression editor and edit the expression:

Code: Select all
LHip.scaleX = pow(2, LFootControl.legStretch/20.0);
LKnee.scaleX = pow(2, LFootControl.legStretch/20.0);


stretch7.jpeg
Stretch only applied to hip joint
stretch7.jpeg (8.59 KiB) Viewed 2208 times

stretch8.jpeg
stretch applied to both hip and knee
stretch8.jpeg (8.01 KiB) Viewed 2208 times
User avatar
BenChang
 
Posts: 176
Joined: Mon Jan 17, 2011 4:48 pm

Return to Art and Animation

Who is online

Users browsing this forum: No registered users and 1 guest

cron