NatNet2OSC

Motive is able to send tracking data in its native NatNet Protocol. The NatNetThree2OSC application receives the NatNet datastream, translates it into an OSC format and passes it on as a UDP stream to a chosen IP address and port.

There are two different NatNet protocols, and for each exists a different solution, NatNet2 for Motive1.x or NatNet3 for Motive2.x.

NatNet2 for Motive1.x

The NatNetTwo2OSC software is located under:

D:\00_Core\NatNet2OSC\Motive1.x

inside this folder, there is a batch file called Motive1_to_App. Right-click the file to open and edit the startup parameters:

D:\00_Core\NatNet2OSC\Motive1.x\NatNet2OSC 127.0.0.1 54321 239.255.42.99 0 0
  • <D:\00_Core\NatNet2OSC\Motive1.x> is the path to the NatNet2OSC.exe
  • <OscSendIP (127.0.0.1)>
  • <OscSendPort (54321)>
  • <Multicast IP (239.255.42.99)>
  • <verbose [1]>

If you want to create another batch file, simply copy this file and change the settings accordingly.

NatNet3 for Motive2.x

The NatNetThree2OSC software is located under:

D:\00_Core\NatNet2OSC\Motive2.x

The script files are inside

D:\00_Core\NatNet2OSC\scripts

Right-click to open and edit the startup parameters, and change the settings accordingly to stream data to the appropriate IPsand with the appropriate settings:

D:\00_Core\NatNet2OSC\Motive2.x\NatNetThree2OSC --localIP=10.128.96.182 --motiveIP=10.128.96.102 --oscSendIP=10.128.96.182 --oscSendPort=54321 --oscCtrlPort=23456 --oscMode=max --yup2zup=true
  • D:\00_Core\NatNet2OSC\Motive2.x\NatNetThree2OSC is the path to the NatNetThree2OSC.exe
  • –localIP=10.128.96.182 is the IP of the machine this script is running on (change the IP accordingly, since the IP is always different on each pc)
  • –motiveIP=10.128.96.102 is the IP of the machine motive is running on (change the IP accordingly, since the IP is always different on each pc)
  • –oscSendIP=10.128.96.182 is the IP of the machine OSC is being sent to (change the IP accordingly, since the IP is always different on each pc)
  • –oscSendPort=54321 is the port OSC data is sent to (change the IP accordingly, if you want to use another port)
  • –oscCtrlPort=23456 is the listening port for controlling motive
  • –oscMode=max (or isadora, touch or sparck) separated by a comma (eg. “max,isadora”) if you want to have multiple modes streaming. The oscMode is how the data will be structured (for example with oscMode set to max, the path for a rigidbody position will look like this: /rigidbody <rigidbodyID> position <x> <y> <z>)
  • –yup2zup=true transforms all the data from y-up to z-up

If you want to create another batch file, simply copy one of the files and change the settings accordingly.

More info on how to use NatNet2OSC and all its OSC modes can be found on this GitHub-repo.

Bone ID Names

The Bone ID number will vary based on the Skeleton Type Template selected in Motive. The table below is based on Motive Skeleton Type Template: Baseline (41). An example of a max/MSP mode OSC path:

/skeleton/bone <SkeletonName_BoneName> position <x> <y> <z>

Where the <SkeletonName> corresponds to the name given inside Motive and the <BoneName> corresponds to a bone name from the table below. Make sure to set the Skeleton Coordinates inside Motive Streaming Settings to Local.

Bone IDBone Name
1Hips
2Spine
3Spine1
4Neck
5Head
6LeftShoulder
7LeftArm
8LeftForeArm
9LeftHand
10RightShoulder
11RightArm
12RightForeArm
13RightHand
14LeftUpLeg
15LeftLeg
16LeftFoot
17LeftToeBase
18RightUpLeg
19RightLeg
20RightFoot
21RightToeBase
22LeftHandThumb1
23LeftHandThumb2
24LeftHandThumb3
25LeftHandIndex1
26LeftHandIndex2
27LeftHandIndex3
28LeftHandMiddle1
29LeftHandMiddle2
30LeftHandMiddle3
31LeftHandRing1
32LeftHandRing2
33LeftHandRing3
34LeftHandPinky1
35LeftHandPinky2
36LeftHandPinky3
37RightHandThumb1
38RightHandThumb2
39RightHandThumb3
40RightHandIndex1
41RightHandIndex2
42RightHandIndex3
43RightHandMiddle1
44RightHandMiddle2
45RightHandMiddle3
46RightHandRing1
47RightHandRing2
48RightHandRing3
49RightHandPinky1
50RightHandPinky2
51RightHandPinky3
Baseline (41)
Last updated bystella speziali