# Autodesk MotionBuilder Plugin

## **Overview**

{% embed url="<https://youtu.be/Sk8s7i4aUwM?si=V_6lescqR1tNDlsq>" %}
**Video Tutorial for all Motionbuilder plugins. For more information, please visit the individual pages for each of the plugins.**
{% endembed %}

The OptiTrack MotionBuilder Plugin is a collection of MotionBuilder devices, scripts, and samples used for working with OptiTrack Motive data inside MotionBuilder. The device plugins allow users to stream Motive Live or from recorded .*tak* data into MotionBuilder.&#x20;

This page is designed to help you get started with the general download and setup process, and organize the three MotionBuilder plugin pages for quick reference.

![](https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/LL5xAbjD9qaQBD9Mdqf3/image.png)

For basic instructions on setting up a motion capture system, please refer to the [Getting Started](https://docs.optitrack.com/v3.2/quick-start-guides/quick-start-guide-getting-started) guide.

**Included Plugins:**

* OptiTrack - Skeleton
* OptiTrack - Optical
* OptiTrack - Insight VCS

## Motive Data Streaming Setup (Server)

Follow the steps below to configure data streaming in Motive. When the NatNet streaming service is enabled, Motive broadcasts tracking data to a designated network interface where client applications can receive them.

### Streaming Settings

To enable streaming in Motive, click the <img src="https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/ei75AmDLIOPMS3a1TSAM/Settings%20button.png" alt="" data-size="line"> button to open the [*Applications Settings*](https://docs.optitrack.com/v3.2/motive-ui-panes/settings) panel, then select the [*Streaming* ](https://docs.optitrack.com/v3.2/motive-ui-panes/settings/settings-streaming)tab, or use the <img src="https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/265iWnZbrnVuwKdrTKcV/Control%20Deck%20-%20Streaming%20Off%20SMALL.png" alt="" data-size="line"> button in the right corner of the [Control Deck](https://docs.optitrack.com/v3.2/motive-ui-panes/control-deck) to open the *Streaming* tab directly.&#x20;

* In the *NatNet* section, select ***Enable*** to begin streaming.&#x20;
* Select the **Local Interface**. Use Loopback if streaming to the same computer, otherwise select the IP address for the network where the client application resides.
* &#x20;Set the **Bone Naming Convention** to *FBX* if streaming skeletons.&#x20;

Please see the [Data Streaming](https://docs.optitrack.com/v3.2/motive/data-streaming) page for more details on all settings available for streaming.&#x20;

![Broadcast Frame Data set to true for streaming.](https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/nmZVpSPL3XglCzWUWNZU/Settings%20-%20Streaming%20FBX%20Bones.png)

#### **Additional Tips**

* For best results, run Motive and MotionBuilder on separate computers so they are not competing for processing resources.
* When streaming the data over a Wi-Fi network, use *Unicast* transmission.

#### Streaming Recorded Data

* To stream recorded data, load the *Take* in Motiv&#x65;*.*&#x20;
* Set the [Playback mode](https://docs.optitrack.com/v3.2/motive-ui-panes/control-deck#playback-mode) to *Endpoint*.&#x20;
* Begin recording in MotionBuilder.
* At the desired frame, start playback in Motive. This will stream the captured *Take* into MotionBuilder.&#x20;
* Stop and save the recording in MotionBuilder when the *Take* ends in Motive.&#x20;

{% hint style="danger" %}
If playback mode is set to Loop in Motive, MotionBuilder will stop recording once the final frame is reached even though playback continues in Motive.
{% endhint %}

&#x20;For additional information on data streaming in general, read through the [Data Streaming](https://docs.optitrack.com/v3.2/motive/data-streaming) page.

## Plugins

#### **OptiTrack - Skeleton**

The OptiTrack Skeleton Device allows to you map Motive 6DOF Skeleton joint angle data directly onto a MotionBuilder character

#### **OptiTrack - Optical**

The OptiTrack Optical Plugin device allows to you to map motion capture (optical) data onto an animated character within MotionBuilder.

#### **OptiTrack - Insight VCS**

The Virtual Camera device is specifically designed for creating a Virtual Camera in MotionBuilder. You can use the Insight VCS device with standard OptiTrack applications such as Motive, or you can use the device in "Universal" mode, which works with generic MotionBuilder Optical or RigidBody objects, allowing you to use the Insight VCS device with alternative motion capture systems that support optical or Rigid Body devices in MotionBuilder.

![OptiTrack MotionBuilder Plugins view in MotionBuilder in the Asset Browser tab under Devices.](https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/sGRxg79SE32NNM0GQKdX/image.png)

## Downloading the Plugins

After downloading the [MotionBuilder plugin](https://optitrack.com/support/downloads/plugins.html) from the OptiTrack website, follow the steps below for a successful install.

1. Double click the OptiTrack MotionBuilder Plugin .exe file to open the installer.
2. Read the End User License Agreement, then check the box "*I agree to the license terms and conditions."*&#x20;
3. Click the **Install** button to begin the installation.

<figure><img src="https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/WBvJ28xBWy3lDwYsQQNI/MoBu%20Installer.png" alt=""><figcaption><p>OptiTrack MotionBuilder Plugin Installer.</p></figcaption></figure>

## Wireless Multiplayer Setup

When setting up multiplayer games on wireless clients, it's best for each client to directly connect to both the tracking server (Motive) and the game server, rather than rebroadcasting the streamed tracking data through the game-server. This ensures that game-related actions that interact with the tracking data can be processed on the game server, which then sends out the corresponding updates to the wireless clients. This allows the wireless clients to receive both the tracking data or updates without having to send back any information, minimizing the number of data transfers needed. If wireless clients are sending data, it will require at least two transfers on the wireless network, with each wireless transfer increasing the risk of latency or lost packets.

![](https://content.gitbook.com/content/4ne9bLcvxMzpZqIc5yuj/blobs/caT8U9KW7jS22CEUQVpX/image.png)
