Xsens MVN Analyze/Animate, developed by Xsens, is the main software tool for interfacing with the MVN inertial motion capture suit. MVN Analyze/Animate allows the export of motion capture data to third party applications such as Maya, XSI, 3D Studio Max, MotionBuilder, etc. making the data available to drive rigged characters in animation and more. The data transfer to other applications is primarily file based (export) when using MVN Analyze/Animate.
However, in many scenarios it is attractive to keep the ease of use of MVN Analyze/Animate, but still being able to receive and process the motion capture data in real-time in another application, even on a another PC, possibly physically remote from the MVN system.
To this end, MVN Analyze/Animate can act as a server on a network and stream motion capture data in real-time to a client PC running a client application. This document specifically treats the use of a certain client application able to receive motion capture data in real-time, Autodesk Maya.
Note: In this workflow, we assume both MVN Analyze/Animate and Maya 2020 are properly installed and the user has a good overall knowledge of working with both programs. Throughout the workflow, Quickoverviews are given in the form of GIFs at the start of the procedure. Pictures are placed AFTER the corresponding text.
1.1 What's improved in this release?
The MVN Maya live plug-in has been updated to support Autodesk Maya 2020. This manual can not be used for older versions of the plug-in. The streaming protocol has been changed to Quaternion notation (previously Euler).
1.2 Character tool in Maya
The easiest way for MVN to send the complete full-body motion capture data to another application is to send the 3D positions and 3D rotations of each bone directly. MVN Analyze/Animate is able to do this in real-time streaming over the network (quaternion and Euler based rotations).
The Euler based protocol is currently used to stream to Maya. On the receiving end, Maya applies a gimbal lock killer filter in real-time and applies the data onto the MVN character.
1.3 Streaming to Maya device
To achieve optimal results, the streaming settings from MVN Analyze/Animate to Maya have to be set correctly. It is recommended to set the receiving end in Maya to 60 fps.
Motion data sent by MVN Studio is streamed in real-time to Maya time-wise. However both MVN Analyze/Animate and Maya are operating on a non-real-time operating system, so timing cannot be guaranteed in the Viewer. Additionally, depending on system resources Maya is not able to process all incoming data. The timing of the incoming keys is done on the basis of the best effort by Maya. We recommend the offline pipeline using the ‘FBX import’ to ensure optimal quality.
Xsens provides a free downloadable version of the installer for the 64-bit version of the MVN Maya plug-in:
This will run an installation wizard. Just follow the steps indicated in the wizard.
2.1 Location of Installed files
The installer will detect the install location of Maya and place the files in the appropriate folders. If Maya is not installed, the files will be installed in the default install location of Maya, which is:
You can always manually copy the needed files as indicated below.
|File Name||Purpose||Location of Maya|
|mvn_live_module.txt||MVN Maya module file||C:\Program Files\Autodesk\Maya2020\modules|
A copy of mvn_live_module.txt can be found in:
3 GETTING STARTED
3.1 Set up MVN
1. Open MVN Analyze/Animate
2. Open an MVN file or MVNX file or use the MVN suit in a live setup
3. Go to: Options > Network Streamer
4. Add a target destination (with default values: Host 127.0.0.1, Port 9763, Protocol UDP
5. Select a format that the Maya plug-in will interpret properly: “Position + Orientation (Quaternion)”
6. When running Maya on another PC, input the IP-address of that PC in the Host field. If it is the same PC as where MVN Analyze/Animate is running, you can just leave it at the default ‘127.0.0.1’ = localhost).
3.1 Set up Maya
3.1.1 Add plug-in
1. Open Maya
2. With the first run of the 'MVN Maya Live Plug-in', it needs to be loaded manually. This can be done from the 'Plug-in Manager'. To go there, click on 'Window ' Settings/Preferences ' Plug-in Manager'.
3. In the plug-in manager dialog, scroll down to ‘C:/ProgramData/Xsens/MVN Studio/External/Maya/2020/plug-ins’. Tick ‘Loaded’ for the ‘mvn_live_2020_x64.mll’. If you want the plug-in to start automatically every time Maya is started, tick ‘Auto Load’ as well.
3.1.2 Setup plug-in
1. Open the side tab “mvn_live_play_control” and select the number of skeletons you want to create (default: 1), and press ‘Character:’.
2. To start receiving the stream, tick the ‘Live’ box.
3. Change the Port number if needed, the default port number is ‘9763’. After changing the port number, press the green “Online” button to apply, and initialize the new port.
You should now be able to receive motion capture data in real-time from MVN Analyze/Animate. MVN Analyze/Animate will stream from its active window that is playing. This can be an MVNX, MVN, MVNS file or a live MVN system.
3.1.3 import character
1. Import your skinned, rigged and characterized character into Maya.
1. Open ‘Character Controls’ by going to ‘Skeleton à HumanIK…’.
2. Expand Characters in the ‘Character Controls’ window and select your character.
3. Under source choose a Character#.
Maya will now re-target the motion capture data received through the ‘Character#_reference’ onto the character rig. This re-targeting and the settings used in the re-targeting of the motion capture data can be very advanced, as well as the character rig. This is not discussed further in this document.
4 ADVANCED FEATURES
Props are not yet supported in this release of the MVN Live Maya Plug-in.
The MVN Maya live plug-in allows you to record in real-time. We advise to only use this functionality when also recording in MVN Analyze/Animate. This may be needed when you combine recording with another device or to speed up the pipeline. Otherwise, we recommend the offline pipeline.
When you tick ‘recording’, the recording will start.
1. When you un-tick ‘recording’, you will stop recording. Then un-tick ‘live’ to stop the stream.
2. Right-click in the timeline, and go to ‘Set Range to à Min/Max’. This will adjust the start and end frame of the recording accordingly.
4.3 Mel Commands for integration in an existing pipeline
The plug-in also has a script interface that will allow you to integrate its functionality in your own pipeline.
mvn -b; // initialize plugin
mvn -c; // create skeleton
mvn -l; // toggle live mode
mvn -r; // toggle record mode