Character-Prop interaction in Motion Builder using constraints
(Non Captured Props / Intermediate Constraints) Tutorial
By Ricardo Tobon
This tutorial will cover the process of dealing with a motion captured character that interacts with a one handed prop by the use of constraints when the item was not captured.
Download the Character_Prop_One.fbx file. In it you will se a character, a table (cube), and a cup (cylinder). The character mimics holding the cup, drinking from it and laying it down on the table. The cup (prop) however does not move at all (mov 1).
Creating and Parenting Place Holders
Although one could just start constraining the cup (prop) to the table and the hand of the character, I believe it best to create placeholders for all the elements involved in the interaction (cup, hand and table). Constraining to placeholders instead than directly to objects will leave them free to take animation if minor tweaks are needed.
When you drag an element from the Asset Bowser onto another element, the new created one takes the position and orientation of the existing one.
Click on an empty area of the perspective view, then press Ctrl + W to call the Schematic view. In it Alt + drag Table to TablePlaceHolder and select parent from the pop-up menu. Alt + drag Cup to CupPlaceHolder and parent and Alt + drag HandPlaceHolder to LeftPalm. The hierarchy should look something like this (fig 3).
Creating and Activating the Constraints
Drag a Parent/Child constraint from the Asset Browser to an empty area of the Schematic view. Rename it TableParent/Child. Create another Parent/Child constraint and rename it HandParent/Child.
Populate the HandParent/Child Constraints Settings by dragging the CupPlaceHolder to the Constrained object section and the HandPlaceHolder to the Source 1 section. Activate the constraint by pressing the Snap button so you leave the original offset between the elements (fig 5).
Animating the Constraints
While in frame 209 key the Weight attribute of the TableParent/Child constraint on (at a value off 100). Also at frame 209 key HandParent/Child Weight off (value of 0).
When you play the animation you will see the characters is holding the cup at the beginning of the animation, he takes a drink from the cup, wipes his mouth, lays the cup on the table and walks away. Movie 2 shows a video comparison between the original animation we started with and the new one with constraints applied to it (mov 2).
Plotting the Constraints
Select the CupPlaceHolder and by going to the animation menu click on Plot Selected (All Properties). This will bake the animation on to your Null (fig 7). If you choose so you can erase the constraints and the motion of the cup will remain. Ploting of constraints is necessary when you plan to take animation out of Motion Builder and into another software package like Maya or 3D Studio Max. Most packages will understand fbx animation but will not understand its constraints.
Constraints are a great way to manage interactions between characters and props, especially when the props are not captured during the motion capture session. Baking and deleting constraints will maximize compatibility of your animation with other software packages.