Keep up-to-date with Free tutorials!!

 

Sign up to our bi-weekly newsletter today for the latest tutorials, interviews and product information.

 

- Latest news
- Exclusive Shop Offers
- Preview early content
- Plus much more

 

Not Ready to take that step? OK, Why not just Subscribe to the RSS Feed

 
submit tutorial
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Character Rigging

By Sergio Muciño
| Your Rating:
rating star nonerating star nonerating star nonerating star nonerating star none
(0 Votes)
| 111246 Views
| 0 Comments
| Comments 0
Date Added: 9th December 2009
Software used:
3ds Max

MORE ON THE ARM IK

Ok. Now comes a lot of repetitive work, so I'll just explain it once, and you repeat it as needed. We'll be wiring the finger controls to the fingers. We'll take the Index Curl parameter, for example. But first, let's prep the fingers. Select all of the finger bones, and assign a list controller to each of their Y rotations tracks (I use local euler controllers on them). Now, select the bones that would be the first bone in each finger (say, A_Bone_index_root), and assign to them another list controller to their Z rotation track. Ready. Re-select the control_arm point object, and open up the wire parameters dialogue box. Make sure that in the wire paramters dialogue, you are seeing the control_arm node in one side, and in the other the Bone_index_root node. Select the index curl parameter track in the control_arm side. Select the track marked as 'availble' in the Index_root's Y rotation list controller. Wire from the index_curl parameter to the Y avalible track. In the expression window, add the degtorad expression to it.

1200_tid_image21.jpg
Without leaving the wire parameters dialogue, navigate to the next bone in the chain, in this case, A_Bone_index_mid. Repeat the wiring from the index_curl parameter to the bone's avalible controller in it's local Y rotation tracks. Finally, repeat for the last bone in the index finger chain. To test if everything is working ok, grab the control_arm object and in the modify panel play with the index curl spinner. The index finger will bend forward and backwards.

1200_tid_image22.jpg

1200_tid_image23.jpg
Now, you'll need to do the same for the rest of the fingers, wiring them to their proper parameter in the control_arm object (pinky fingers to the pinky curl parameter). To finish wiring the fingers, let's wire the Finger spread parameter. This parameter goes wired to each of the root bones of the fingers. Specifically, to their available Z rotation track. There is, however, one detail. Since this parameter spreads the fingers (open or close), the expresion value will have to be positive for either the index or pinky finger, and negative for the other. The middle finger needs to remain still (in the case of normal 5-fingered characters, both the mid finger and the ring finger would need to spread a bit). To make one of the values negative, you'd need to add a minus sign before the degtorad expression. In my case, I added it to the index finger, leaving the pinky as it was.

1200_tid_image24.jpg
1200_tid_image25.jpg
And lastly, the Inherit Arm slider. This slider is intended to make the hand inherit or not the arm's movements and rotations. This is so that you can pin the hand to anything else (a wall or the floor) and remain statick while the rest of the character moves. What this slider does is control automatically the oriantation constraints placed earilier on the HandOrient point object. But we'll use expressions to drive this one.

1200_tid_image26.jpg
Select the HandOrient node, and in the motion panel create two expression controllers, one for each weight track in the orientation constraint controller. Open one of the expression controller for the weight0 track, create a scalar variable, and assign it to the Control_Arm's Inherit Arm track. Enter the variable's name you just created as the expression. Do the same for the second expression, but in the expression window enter the following expression... 100-variable.


1200_tid_image27.jpg
1200_tid_image28.jpg
1200_tid_image29.jpg
This way, the slider will automatically drive the weight on both constraint controllers, interpolating correctly from 0 to 100 and 100 to 0.

1200_tid_image30.jpg
Lastly, so you can control everything from the Control arm Node, wire its x,y and z rotation's to the WristControl x,y and z rotations. This way, you can rotate the arm control object, and the wrist will rotate (so you won't have to worry about having another node tim animate). If one of the rotations is reversed, enter a minus sign before the expression in the wire parameters dialogue (test by rotating the Control Arm node). 

There you go. Your arm should be fully functional and working properly.  



 
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
Related Tutorials

Tutorial

Making Of 'Spring Breeze'



Keywords: character, human, woman,

Go to tutorial
rating star fullrating star fullrating star fullrating star fullrating star full (34)
Comments 2 Views 170381

Tutorial

Joan of Arc: Accessories



Keywords: character, modeling, joan, arc,

Go to galleries 1
rating star nonerating star nonerating star nonerating star nonerating star none
Comments 0 Views 36255

Tutorial

Joan of Arc: Modeling of the Glove



Keywords: character, modeling, joan, arc,

Go to galleries 1
rating star nonerating star nonerating star nonerating star nonerating star none
Comments 0 Views 29813

Tutorial

Making Of 'The Cobra Prince'



Keywords: character, warrior, cobra, prince,

Go to galleries 1
rating star nonerating star nonerating star nonerating star nonerating star none
Comments 0 Views 27550
Readers Comments (Newest on Top)
avatar
(ID: 182453, pid: 0) Hassan on Tue, 19 February 2013 6:27am
REACTOR CONTROLLERS Reactor controllers have been available since R3, but I decided to include them here because we'll also be using them a lot. Basically, a reactor controller is a controller that will generate certain pre-set motion when something else happens in the scene
Add Your Comment