QTM Connect for Unreal
QTM Connect for Unreal is an Unreal plugin that supports streaming of skeleton, rigid body and marker data between Qualisys Track Manager and Unreal Engine.
Installation of the plugin
Note that the pre-built dll's for each version can be found here:
- UE 4.25
- UE 4.24
- Note: Support for UE4.23 and below is also available but prebuilt binaries are currently not updated from lastest commits.
- Note: If the plugin should be used in a unsupported Unreal Engine version then put it in the
Unreal project folder\Plugins
and rebuild project.
- Copy the directory
.\Prebuilt\Qualisys
toC:\Program Files\Epic Games\UE_4.xx\Engine\Plugins
.- Optional: Copy
.\Example Project
toC:\Users\<user>\Documents\Unreal Projects
- Optional: Copy
- Start Unreal and create a project.
- Optional: Open Project
QualisysAvatar
from step 1.
- Optional: Open Project
- The plugin should appear in the plugin window as "QTM Connect For Unreal". Click Enable and restart Unreal to get it activated.
How to use the QTM Connect LiveLink plugin
- Start QTM in preview mode or file mode being sure there is a skeleton to stream. An example qtm file including a skeleton is provided in
.\Example Project
- Enable
LiveLink
andQTMConnectLiveLink
in Unreal underEdit->Plugins
. - Go to
Window->Live Link
, clickAdd->QTM Connect LiveLink
, enter the QTM IP address and port and click ok. - If the Skeleton of the Skeletal Mesh that you wish to animate matches the skeleton data being streamed from QTM (same bone names and hierarchy), then skip steps 5-7.
- In the Content Browser, click
Add New->Blueprint Class
and expandAll Classes
and search forQualisysLiveLinkRetargetAsset
, and clickSelect
. - Double-click the retarget asset and go to
Details->Bone Mapping
and expand theBone Mapping
variable. - In the right column, fill in the names of the Skeleton bones that best correspond to the QTM skeleton bones seen in the left column. If there is no corresponding bone or the bone name already matches the QTM bone name, leave it as "None".
- In the Content Browser, go to the Skeletal Mesh that you wish to animate and
Right-click->Create->Anim Blueprint
. Give it a name and then double click on it. - Right-click anywhere in the animation graph and search for the Live Link Pose node.
- Enter the subject name (the name of the skeleton being streamed from QTM), and connect the output pose to the input pose of the Final Animation Pose node.
- Click on the
Live Link Pose
node and go toDetails->Retarget->Retarget Asset
and select the retarget asset you created in step 5, or choose the QualisysLiveLinkRetargetAsset if you skipped steps 5-7. - Click Compile, and you should see the mesh moving in the preview window.
- Drag the animation blueprint you created in step 8 into your scene, then click Play.
Note: Avoid mixing the LiveLink plugin data with the QualisysClient plugin. Synchronization of data might differ.
How to use the QualisysClient Actor object and QualisysRigidBody ActorComponent object
- The QualisysClient object is available in the UE4 Modes panel. This object handles the data streaming between QTM and Unreal.
- Drag and drop the QualisysClient object in the world.
- Select the QualisysClient instance and edit it's properties. (IP address of the machine running QTM, and stream rate (StreamRate of 0 will stream data as quick as possible).
- Add a Qualisys RigidBody component to a object in the World Outliner pane.
- Make sure the object is set to moveable.
- Set the RigidBody name to the name of the RigidBody in QTM.
- Play scene. It will automatically try and connect to QTM and receive 6DOF data.
- Use DebugDrawing setting in QualisysClient to display all labeled trajectories as spheres and all rigid bodies as cubes.
Note: To connect position of a component to position of a labeled trajectory use the QualisysTrajectory ActorComponent.
Video tutorials
- Streaming tutorial video
- Bone mapping tutorial video
- How to import a Qualisys Track Manager exported FBX
Supported Unreal Build Platforms
- Windows 64bit