Tech Tip: Connecting Vizard Live Characters to MotionBuilder
August 24, 2020
The Live Characters plug-in allows you to animate Vizard avatars in real-time. The animation data is streamed from a Live Characters server directly to your script, and automatically applied to a specified avatar. Here are the steps to connect Live Characters to MotionBuilder.
Note that Live Characters requires MotionBuilder 2018 or earlier.
1. First install MotionBuilder and Vizard Live Characters (The plug-in can only be seen if MotionBuilder™ got restarted after the installation). You can download Live Characters here
2. Open up MotionBuilder and drag the actor into the scene (under Asset Browser- Templates- Characters- Actor):
3. Add a favorite path by right clicking in the Asset Browser window in Motion Builder and select “Add favorite path” and navigating to the Live Characters folder (C:\Program Files (x86)\WorldViz\LiveCharacters)
4. Navigate to the fbx- characters folder and drag in a character (merge with no animation)
5. Select the character in the navigator (double click) and change the character input to “Actor”:
And then select active:
Now if you move the actor the character moves.
6. Drag the Live Character plug-in into the viewer (under devices).
7. Under character, select the fbx character added to the scene, in this case male:
7. Enable online by clicking on the box next to “Online”:
8. Once online, the following script should work in Vizard:
Live characters via vizconnect
Change “Animator” under the “Avatars” tab - “Animator” to “Live Characters”. Change in_port to 8055 if running localhost
Note: Translations and rotations of Live Characters are applied to the root bone of the avatar, and not the actual Vizard transform of the avatar. This means if the Live Character walks forward 1 meter, the position of the avatar will still be (0,0,0). If you want to know the position of the Live Character, you need to get the avatar's root bone position.
The Live Characters plug-in will print a warning if it does not receive a response from the server within a certain amount of time. The timeout for printing the warning is controlled with the LiveCharacter.connectionWarnTimeout option and the default value is 2 seconds. The plug-in will also attempt to reconnect to a server if it does not receive an update after the number of seconds specified with the LiveCharacter.connectionRetryTimeout option (default 2 seconds).