Difference between revisions of "Sandbox"

(Live Link Camera Plugin)
Line 1: Line 1:
==Plugin Setup==
+
=Plugin Setup=
 +
----
 
<div class="padded">
 
<div class="padded">
 
====1. [Motive] Setup rigid body streaming in Motive.====
 
====1. [Motive] Setup rigid body streaming in Motive.====
Line 45: Line 46:
 
</div>
 
</div>
  
 +
=Using the plugin=
 +
----
 
==Live Link Rigid Body Tracking==
 
==Live Link Rigid Body Tracking==
 
<div class="padded">
 
<div class="padded">
Line 133: Line 136:
 
At this point the camera should be animating in the scene.  
 
At this point the camera should be animating in the scene.  
 
</div>
 
</div>
 +
</div>
 +
 +
==Live Link Timecode Setup==
 +
<div class="padded">
 +
1. Connect to Motive using Live Link.
 +
Double click that in Motive the camera frame rate is a multiple of the genlock/timecode data. If this is not the case, then you will get some warning messages, since there will not be a regular one-to-one assignment of timecode frames/subframes and motion capture frames.
 +
 +
2. In the LiveLink pane area select the OptiTrack source, then select the Evaluation Mode and set it to “Timecode”. The Timecode Frame Rate property should set automatically.
 +
 +
3. Click Add New button on the Content folder
 +
 +
4. Select Blueprint Class and select LiveLinkTimecodeProvider as the parent class:
 +
 +
5. Name the created blueprint to something such as "OptitrackTimeCode":
 +
 +
5. Open that blueprint and select one of the asset names as the Subject Key, then compile and save it:
 +
 +
6. From Edit -> Project Settings, go to General Settings and for Timecode Provider enter the name of the blueprint created in step 4:
 +
 +
7. Notice that the correct timecode is now seen in the Take Recorder pane.
 +
 
</div>
 
</div>

Revision as of 13:54, 7 October 2020

Plugin Setup


1. [Motive] Setup rigid body streaming in Motive.

Get Motive streaming with at least one rigid body. Make sure the Streaming settings are set up correctly, and the rigid body is active under the Assets pane.

2. [UE] Install the OptiTrack plugins in Unreal Engine (UE).

You can install the OptiTrack - NatNet Streaming Client plugin by putting the plugin files into one of the following directories:

  • A global engine plugin can be placed in C:\Program Files\Epic Games\[Engine Version]\Engine\Plugins
  • A project-specific plugin can be placed in [Project Directory]\Plugins

3. [UE] Enable the plugins in UE project.

Go to Edit → Plugins and enable the OptiTrack - LiveLink plugin as well as the Built-In LiveLink plugin in UE.

OptiTrack - Live Link plugin. Make sure the plugins are placed in the plugins folder either in the project or engine directory.
Built-In Live Link plugin.

4. [UE] Open the LiveLink pane

The LiveLink pane can be accessed from Window → Live Link from the toolbar in UE.

    LiveLine pane in UE.
    LiveLine pane in UE.

5. [UE] Configure and create a new OptiTrack source

In the LiveLink pane under Source options, go to the OptiTrack Source menu and configure the proper connection settings and click Create. Please make sure to use matching network settings configured from the Streaming pane in Motive.

Creating OptiTrack source with client streaming settings.

6. [UE] Check the Connection.

If your settings were correct, then the plugin will list out all of the detected rigid bodies, and they should have green dots next to them signifying that the asset has been created and is receiving data. If the dots are yellow, then either your take is paused, or there is some sort of connection error.

Connected to the rigid body data stream.

Using the plugin


Live Link Rigid Body Tracking

After you are connected to Motive through the Live Link plugin and have at least one rigid body tracking, then you can start animating an object in Unreal Engine as well.

1. Set up the object to track

The first step is to set up your object to track. To do this, right-click on a skeleton mesh object you would like to track in the content browser, choose → Create → Anim Blueprint. The mesh must be a skeleton mesh.

Creating Anim blueprint.

2. Open Animation Blueprint

This will create an Animation Blueprint of the selected mesh. In the content browser, double-click the created animation blueprint to edit it.

Animation blueprint create in the content browser.

3. Add Live Link Pose to the blueprint

In the blueprint, access the AnimGraph tab. There should be an output pose node in there already. Then right-click in the empty space and search for "Live Link" to find the "Live Link Pose" and add it to the graph.

Adding Live Link Pose node.

4. Connect Live Link pose to the Output Pose

On the Live Link Pose node, you should see the Live Link Subject Name property. Use the dropdown and select the name of a rigid body to use. Then, drag the pose output and connect it to the Output Pose.

Live Link Pose of a Bat rigid body connected to the output pose.

5. Set the retarget asset

Select the “Live Link Pose” node and select the “OptiTrackLiveLinkRetarget” option in the “Retarget Asset” property in the Details pane.

Selecting Retarget Asset.

6. Compile and save

Compile and save the blueprint. Once the changes have been compiled, you should see the object animating according to the rigid body tracking in the mini 3D viewport.

Compiled blueprint with the mesh being animated.

Live Link Camera Plugin

1. Configure the plugin under project settings

Open the project settings and in the LiveLink section, for the Default Role Settings, set the Role to LiveLinkAnimationRole, and set the Setting Class to OptiTrackSubjectSettings.

Live Link project settings

2. Connect

Connect to Motive via LiveLink, each rigid body asset should already have their own translator:

LiveLink Camera Translator.png

3. Add a camera object

Drag a camera or other actor object into your scene from the Place Actors pane.

LiveLink Camera CameraObject.png

4. Add LiveLinkController to the camera

Select the object you want to animate(in this case, a cube mesh), click the “Add Component” button on the details pane, and add LiveLinkController.

LiveLink Camera AddLiveLinkController.png

5. Configure the LiveLinkController component

Under the LiveLinkPonentController, choose the asset name for the Subject Representation property. You can expand the setting by clicking the triangle next to it and choose LiveLinkTransformRole for the Role setting.

LiveLink Camera ConfigLiveLinkController.png

6. Check

At this point the camera should be animating in the scene.

Live Link Timecode Setup

1. Connect to Motive using Live Link. Double click that in Motive the camera frame rate is a multiple of the genlock/timecode data. If this is not the case, then you will get some warning messages, since there will not be a regular one-to-one assignment of timecode frames/subframes and motion capture frames.

2. In the LiveLink pane area select the OptiTrack source, then select the Evaluation Mode and set it to “Timecode”. The Timecode Frame Rate property should set automatically.

3. Click Add New button on the Content folder

4. Select Blueprint Class and select LiveLinkTimecodeProvider as the parent class:

5. Name the created blueprint to something such as "OptitrackTimeCode":

5. Open that blueprint and select one of the asset names as the Subject Key, then compile and save it:

6. From Edit -> Project Settings, go to General Settings and for Timecode Provider enter the name of the blueprint created in step 4:

7. Notice that the correct timecode is now seen in the Take Recorder pane.