Support

  Tips & Techniques - MOCCA

MOCCA:
Hierarchy Morphing with Posemixer
Download:
Project
Works with:
XL, MOCCA
Requires:
Version 8.012
 


 
With the new character animation module MOCCA, a tool called PoseMixer has been introduced into CINEMA 4D. This slider based morph system not only morphs geometry, but hierarchies as well. What this means is that you can setup hand poses using bones and then assign each one of these poses to a slider that can be animated.

 
Step 1: Download the project file and then expand the zip file. Open the scene file hand_no_poses.c4d. If you look at the hierarchy of this scene you should notice that there are two Null Bones. These bones are to zero out the parents of the hierarchies that are going to be morphed.

 
Step 2: When morphing hierarchies, the bones that are being deformed by PoseMixer are going to look for coordinates that differ. So when copying these poses into world space, the coordinates of that pose are going to be different then the deformed bones that are based in their parents' coordinates system. To avoid this we can use Null Objects, so create a Null Object (Objects=>Null Object).

 
Drag and drop the Null Object as a child of the Palm 2 object. In the Attributes Manager select the Coord. tab and zero out all Position and Rotation fields. Now this Null Object has the same coordinates as the hierarchy you will be deforming.

 
Now remove the Null Object from the Wrist hierarchy. Rename this object to 'Finger Targets'.

 
Step 3: Being that a thumb tends to move slower into a pose, you will setup another hierarchy for the thumb bones. Create another Null Object (Objects=>Null Object).

 
Expand the Thumb Null hierarchy, then drag and drop the newly created Null Object as a child of the Thumb bone. Like before, zero out the Position and Rotation fields for this Null Object in the Attributes Manager.

 
Also like before, remove this Null Object from the Wrist hierarchy and rename it to 'Thumb Targets'.

 
Step 4: Since your Null Objects have the same coordinates as the to be deformed hierarchy, you can begin duplicating the hierarchy for each of the poses you plan to make. Select Palm 2 and then holding Ctrl (PC) or Cmnd (Mac) click and drag the Palm 2 hierarchy and drop it onto the Finger Targets object. This should create a copy of the hierarchy as a child of the Finger Targets object.

 
Using the same method as the step before, select and copy the Thumb hierarchy into the Thumb Targets object.

 
With the copied Thumb hierarchy still selected, create another copy of this hierarchy and keep it as a child of the Thumb Targets. Repeat this process for the copied Palm 2 hierarchy. Your hierarchy should now look like the image shown.

 
Rename one of the copied Palm 2 objects to 'Default Finger Pose'. Also rename one of the copied Thumb objects to 'Default Thumb Pose'.

 
Note: If a hierarchy is to be deformed by a PoseMixer object, a Default Pose must be created. The reason behind this is that the hierarchy that is being deformed has no idea where its initial rest state was. Once the hierarchy is deformed, it believes that its current position is its initial rest position; having PoseMixer linked to a Default Pose (or a copy of its initial rest state) prevents this from happening.

 
Step 5: Now you can begin creating a pose for the fingers. A very common pose for a hand is a fist, so the next few steps will go through setting up the remaining finger targets as a fist. If there is another pose that you want to create feel free to do so. Rename the remaining copied Palm 2 object 'Fist Pose' and expand its hierarchy.

 
To make selection easier in the editor, hide the other finger bones in the editor. Click on the top gray dot until it turns red for the Default Finger Pose and the Palm 2 object.

 
To create the fist pose all the finger bones are going to be rotated on the Pitch (P). Instead of giving coordinates for each finger bone, an easier way is to just manually judge the rotation in the editor. Switch to the Rotate Tool (Tools=>Rotate) and select the Index 1 bone in the Fist Pose hierarchy and rotate along the P. Select each child bone of the Index 1 bone and rotate them in the same manner until they form a curl pose. Your hand should look like the image shown.

 
The other bones of the Fist Pose hierarchy need to be rotated as well until all of the fingers are curled. Your hand should look like the image shown after rotating the Middle, Ring, and Pinky bones.

 
Note: You may be wondering why you are not including the Thumb Pose in the Fist Pose at this point in time. Well, as stated earlier in this tutorial the thumb begins to curl about half way through the fingers curling. If both of these poses were assigned to one slider, the index finger would intersect with the thumb. To prevent this you can create the seperate poses for both the fingers and the thumb then have the fingers slider drive the thumb slider via Xpresso.

 
Step 6: In the Thumb Targets hierarchy, rename the remaining thumb target to 'Thumb Curl'. Hide the Thumb Null object of the Wrist hierarchy along with the Default Thumb Pose in the editor for easier selection.

 
From the Thumb Curl hierarchy select Thumb 1 and input the coordinates for the rotations fields shown.

 
Now select Thumb 2 and input the following coordinates in the Attributes Manager under the Coord. tab: R.H = 45, R.P = -13, and R.B = 3. Also, select Thumb 3 and input the following coordinates: R.H = 64, R.P = -11.5, and R.B = 3. Your hand rig should look like the image shown.

 
Step 7: Being that you have your poses setup, you now need to place the PoseMixer object in the hierarchies that you want to deform. In this case its the Palm 2 and Thumb hierarchies. Create two PoseMixer Objects (Plugins=>MOCCA=>PoseMixer) .

 
Place one PoseMixer object as a child of the Palm 2 hierarchy and rename it to 'Finger Controls'. Place the other PoseMixer object as a child of the Thumb hierarchy and rename it 'Thumb Controls'. Your Hierarchy should look like the image shown.

 
Before linking the poses to the PoseMixer sliders, unhide both the Thumb Null and Palm 2 objects by clicking the top red dot until it turns gray again. There is no need to see the poses so hide the Finger Tagets and Thumb Targets objects.

 
Select the Finger Controls object, and if it isn't already then expand the Finger Targets hierarchy. Make sure that in the Attributes Manager the Object tab is selected. Drag and drop the Default Finger Pose into the Default Pose input box of the Attributes Manager. Also drag and drop the Fist Pose into the input box next to the slider.

 
Now expand the Thumb Targets hierarchy and select the Thumb Controls object. Much like the previous step, drag and drop the Default Thumb Pose into the Default Pose input box. Also drag and drop Thumb Curl into the empty slider input box.

 
If you begin moving around the slider for either of the PoseMixer objects, the hand in the editor should begin interpolating between its default state and pose state.

 
Step 8: Now in order to get the Thumb Curl slider to begin morphing about halfway through the Fist Pose morph, you can use Set Driven keys. Move the Fist Pose slider about halfway through its morph. Right-click (PC) or Cmnd + click (MAC) on the Fist Pose text and go to Animation=>Set Driver.

 
Select the Thumb Controls object and in the Attributes Manager right-click (PC) or Cmnd + click (MAC) on the Thumb Curl text. Go to Animation=>Set Driven (Relative) and this will create a Xpresso tag next to the Thumb Controls object. This will have the Fist Pose slider drive the Thumb Curl slider relative to its current position.

 
You'll need to make a few adjustments to the Range Mapper node. Open the Xpresso Editor by double-clicking on the Xpresso Tag. Select the Range Mapper node and notice its attributes in the Attributes Manager.

 
Under the Parameter section change the Input Lower to 50% and the Input Upper to 100%. So now when the Fist Pose slider is moved halfway the Thumb Curl slider will begin to move, but the Thumb Curl slider will move from 0% to 100% when the Fist Pose slider moves from 50% to 100%.

 
Now in order to create more poses all you need to do is duplicate the default pose, keep it in the same target hierarchy, rename it, and move the bones into your desired pose. For PoseMixer, select the object then in the Attributes Manager hit Add Pose and then drag and drop the newly created pose into the input box. In the downloadable project file, the hand_final.c4d scene file contains some more American hand gestures.


© 2003 All rights reserved. For the personal and/or professional use of Cinema 4D users only. Reprint without permission is strictly prohibited.

© 2010 All rights reserved
Copyright Information |
Privacy Policy | Terms of Use