View Full Version : Finger Curls

05 May 2006, 09:21 PM
Alright. I have a finger setup. I am currently using a custom attribute holder to store the information. I have 3 sliders for each finger. I want to have finger curls, but I am having a hard time establishing a script that will allow curl and individual flexibility. Do you have any pointers on how to do this in Max -- I am currently using maxscript.

05 May 2006, 04:36 AM
On the "lots of robots" video tutorial, he did a really awesome hand rig where each finger is controlled by ik and rigged to a dummy morpher slider controlled by reaction controller. then he used the list controller to animate between the morph slider and another dummy setup that would move all the fingers together (like to attach all the fingers to an object being held)
all with no scripting though...

I just watched the tutorial today and its not with me right now, but if you want I can more clearly explain the setup later...

05 May 2006, 03:17 AM
Sounds like fun to setup :). I believe I have found a way to do it with maxscript though... I will update this thread if I finalize it for future learners.

05 May 2006, 10:29 AM
if you're into maxscript, try to use if/then/else statements instead of using reactor controllers.

05 May 2006, 02:51 PM
You dont even need maxscript for it although it does help assigning the controllers speedwise.

Say you have three bones in your finger - root, middle and tip. Lets say that the z axis of the bone rotation is the curl axis. What you do is go into the trackview, copy the z rotation controller from the root bone and paste it as an instance to the middle and tip z rotations - now if you rotate the root bone, the other two curl aswell.

Next since you want to have the ability to undo the auto curling, you need to add a manual control on the middle and tip bones so you can grab them and rotate them. To do this go into the track view and select the rotation controller for the middle bone (the full controller, not just the z) and choose assign controller. Put on a rotation list controller. What this does is allow you to assign multiple rotation controller at the same time and use a weight control to blend them on and off. When you assign the rot list controller, it wont dump the old rotation controller you had that was linked to the root curl, it'll put it as the first entry on the list. You'll see under the rotation list control a thing called available. If you select this and right click, you can assign a second rotation controller to it. If you assign a euler xyz to this, it will give you a second layer of rotation to use.Lastly, you need to make this controller active so max knows which of the two rotation controllers you want to use when rotating the object in the viewports. Go to your motion panel, choose to view rotation parameters and you'll see the interface for the list controller and be able to choose which controller to set active.

Now you have curl on the fingers using the root bone only and if you need to straighten the others out you can just grab them. My script does this from here though it's got a few bugs with orientation - take a look at the setup it makes or the maxscript source.

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