License requirement
The functionality described requires a MANUS Bodypack or a MANUS license key with the Motionbuilder feature enabled.
Constraining Models to Characters
This article describes some possible setups to make use of the MANUS plugin.
Before getting started, make sure you have installed the MotionBuilder MANUS plugin. For installation instructions, refer to the Installing plugin section of the Getting started article.
Parent constrain MANUS models into your skeleton's hierarchy
This section describes setting up hand models, controlled by MANUS data, into your characterized skeleton, to control other characters.
For this example, we made use of the Punch Skeleton and the Aragor Character from MotionBuilder's Tutorials assets. Here you can make use of your own skeleton and character. If want to use the same example assets, navigate to the Tutorials folder in the Asset Browser panel and drag in the Aragor and Punch assets into your (empty) scene. Make sure to include the 'Punch' Animation, when merging in the Punch asset. No animations are needed from the Aragor asset.
First make sure MANUS Core is running.
Then follow these steps (also see pictures below):
- Navigate to the
Devicesfolder in theAsset Browserpanel. - Drag and drop the
Manus plug-indevice into your scene. - If not already selected, navigate to the
Devicesfolder in theNavigatorpanel and select theMANUS plug-indevice. - If you want to connect to a remote MANUS Core, enter the correct hostname or ip address in the
Settingspanel. - Set
Skeleton ModetoHandsin theSettingspanel and pressYesin the pop-up box. - Open the
Model bindingdrop-down and chooseCreate ....
- Navigate to the
Constraintsfolder in theAsset Browserpanel. - Drag and drop a
Parent/Childconstraint into your scene. - Navigate to the
Constraintsfolder in theNavigatorpanel. - Rename the
Parent/Childconstraint (toParent/Child Left Hand) and select it.
- Navigate to the
Scenefolder in theNavigatorpanel. - Find the
Manus:C1_LeftHandRootobject and drag and drop it into theConstrained object (Child)field in theConstraint Settingspanel. - Find the LeftHand object of your skeleton (in this example case
Skeleton_v75:LeftHand) and drag and drop it into theSource (Parent) 1field in theConstraint Settingspanel.
- Toggle on the
Activecheckbox in theConstraint Settingspanel.
-
Redo steps 7 to 14 for the right hand.
-
Navigate back to the
Devicesfolder in theNavigatorpanel and select theMANUS plug-indevice. - Select to the
Characterizationtab. - Open the
Map to characterdrop-down and select your skeleton's character (in this example casePunchguy). - Open the
Hands of modeldrop-down and selectManus:C1_Root. - Press the
Map hands to characterButton.
Delayed Character Controls UI
When mapping Manus hand to a character as described above, the UI in the Character Controls panel is not always updated. If you want to make sure the hand are mapped correctly, check out the characters Character Definition via the Characters folder in the Navigator panel. If use of the Character Controls panel is needed, You can save the scene and (re)open it again. Now the Character Controls panel should be refreshed with the MANUS models.
- Navigate to the
Charactersfolder in theNavigatorpanel and select your animation character's character (in this example caseAragor). - Go to the
Character Settingstab. - Change
Input TypetoCharacter. - Change
Input Sourceto your skeleton's character (in this example casePunchguy). - Toggle on the
Activecheckbox.
- Navigate back to the
Devicesfolder in theNavigatorpanel and select theMANUS plug-indevice. - Toggle on the
OnlineandLivecheckboxes and see the character hands move!
Rotation constrain your skeleton's hand joints to MANUS hand joints
This section describes setting up your skeleton's hand to follow a MANUS hand model.
For this example, we made use of the mia_blue Skeleton from MotionBuilder's Tutorials assets. Here you can make use of your own skeleton. If want to use the same example assets, navigate to the Tutorials folder in the Asset Browser panel and drag in the mia_blue asset into your (empty) scene. No animations are needed.
First make sure MANUS Core is running.
Then follow these steps (also see pictures below):
1. Navigate to the Devices folder in the Asset Browser panel.
2. Drag and drop the MANUS plug-in device into your scene.
3. If not already selected, navigate to the Devices folder in the Navigator panel and select the MANUS plug-in device.
4. If you want to connect to a remote Manus Core, enter the correct hostname or ip address in the Settings panel.
5. Set Skeleton Mode to Hands in the Settings panel and press Yes in the pop-up box.
6. Open the Model binding drop-down and choose Create ....
- Select to the
Constrainingtab. - Navigate to the
Scenefolder in theNavigatorpanel. - Find the 'left hand' object of your character containing all the base finger objects.
- Enter the name of the 'left hand' object (including namespace) into the
Constrain modelfield.
- Open the
To handdrop-down and selectManus:C1_LeftHandRoot.
- Check if all the finger 'bases' are correctly auto-selected. In Mia's case, correct the index, middle and ring bases to the correct ones.
Finger Base: None
If one of the MANUS fingers does not have to constrain another finger, set it to None.
- Press
Apply Constraint
-
Repeat steps 8 to 13 for the right hand.
-
Navigate back to the
Devicesfolder in theNavigatorpanel and select theManus plug-indevice. - Toggle on the
OnlineandLivecheckboxes and see the character hands move!
Rotation Offset
Since the Rotation Constraints set are absolute, there could be a difference in the 'null' rotations of the hand joints. To correct this:
1. Navigate to the Scene folder in the Navigator panel and find the joint object you want to edit.
2. Select its the contraint child.
3. Go to the Properties panel and uncheck the the Lock toggle.
4. Edit the Rotation (this can also be done using the scene gizmo's)
3. Check the Lock again (3).
In the mia_blue example case the carpus joints needed a ±90 degrees offset around the x axis, the thumbs a ~45 degrees offset around the x axis and some custom offsets around the x axis for the rest of the fingers.















