Main page → NatNet SDK → NatNet: Sample Projects
This page lists out the NatNet sample applications provided with the SDK and provides instructions for some of the samples. The code samples are the quickest path towards getting NatNet data into your application. We typically recommend you:
The Visual Studio solution file \Samples\NatNetSamples.sln will open and build all of the NatNet sample projects. If you are creating an application from scratch, please refer to the following sections for application specific requirements.
\Samples\NatNetSamples.sln
The following projects are located in the NatNet SDK\Samples folder.
NatNet SDK\Samples
1. [Motive] Start the Optitrack Server (e.g. Motive) and begin streaming data via the Streaming Panel.
2. [SampleClient] Start the client application from the command prompt or directly from the NatNet SDK/Samples/bin folder.
NatNet SDK/Samples/bin
3. [SampleClient] Once the sample application starts up, it will search the local network and list out IP addresses of available tracking servers where tracking data is streamed from. Select a server address by pressing the corresponding number key.
4. [SampleClient] The client application is connected to the local loopback address (127.0.0.1) and receiving tracking data.
Note: The NatNetSDK for Linux will only work on 64-bit operating systems.
1. [Linux] Install necessary programs and libraries. In order to build and run the SampleClient application on Linux, the gcc/g++ compiler must be installed.
sudo apt-get install build-essential
sudo dnf install gcc-c++
2. [Linux] Navigate to the NatNetSDK directory. Open a shell prompt and set the directory to the samples/SampleClient folder in the uncompressed NatNet SDK directory.
samples/SampleClient
3. [Linux] Build the sample. In the shell, enter make clean all and compile the sample.
make clean all
4. [Linux] Once the sample is built, navigate to the build output folder.
5. [Linux] Set an environment variable for the library path. In order to run compiled NatNetSDK samples, the directory of the NatNet library, libNatNetLibShared.so , must be specified. To do this, set up an environment variable for defining the path to the library file directory.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH: {lib folder directory}
6. [Server] Start an Optitrack server (Motive). Motive needs to run on a Windows machine and the data needs to be streamed through the connected network using the Data Streaming pane. Take a note of the server IP address from the Data Streaming pane in Motive. Make sure to stream onto a network that the Linux machine is connected to; not local loopback nor the camera network.
7. [Linux] Start SampleClient. Now Start the client from the shell. Once the application starts, it will search local networks and list out available servers that can be connected to. Once you select a server, the client application will start receiving tracking data.
The Rigid Body sample (SampleClient3D) illustrates how to decode NatNet 6DOF Rigid Body and Skeleton Segment data from OptiTrack quaternion format to euler angles and display them in a simple OpenGL 3D viewer. This sample also illustrates how to associate RigidBody/Skeleton Segment names and IDs from the data descriptions with the IDs streamed in the FrameOfMocapData packet.
1. [Motive] Load a dataset with rigid body or skeleton definitions
2. [Motive] Enable network streaming ( Data Streaming Pane -> Check Broadcast Frame Data )
3. [Motive] Enable streaming rigid body data (check Stream Options -> Stream Rigid Bodies = True)
4. [Sample3D] File -> Connect
2. [Motive] Set IP address to stream from (Network Interface Selection -> Local Interface)
3. [Motive] Enable network streaming ( Data Streaming Pane -> Check Broadcast Frame Data )
4. [Motive] Enable streaming rigid body data (check Stream Options -> Stream Rigid Bodies = True)
5. [Sample3D] Set Client and Server IP addresses
6. [Sample3D] File -> Connect
1. [Motive] Start a NatNet server application (e.g. Motive).
2. [Motive] Enable NatNet streaming from the Server application.
3. [WinFormTestApp] Start the WinForms sample application from the NatNet Samples folder.
4. [WinFormTestApp] Update the “Local” and “Server” IP Addresses as necessary.
5. [WinFormTestApp] Press the “Connect” button to connect to the server.
6. [WinFormTestApp] Press the “Get Data Descriptions” button to request and display a detailed description of the Server’s currently streamed objects.
7. [WinFormTestApp] Select a Row in the DataGrid to display that value in the graph.
3. [Matlab] Start Matlab
4. [Matlab] Open the NatNetPollingSample.m file.
5. [Matlab] From the editor window, press Run