Axis of coordinates in skeleton streaming

NatNet, VRPN, TrackD, and Plugins
Post Reply
Posts: 10
Joined: Fri Dec 06, 2013 8:09 am

Axis of coordinates in skeleton streaming

Post by fhuelsma » Mon Sep 01, 2014 9:30 am


I am trying to map the bone rotations of the Optitrack skeleton on a virtual character. For the virtual character, each joint has a dedicated local coordinate system with the y-Axis pointing always towards one of the children inside the skeleton hierarchy. X and z are orthogonal to y.

For being able to do the mapping between the Optitrack bones and the character joints, I need to know the orientation of the coordinate systems indicating the Optitrack local bone orientations. Does the the quaternion which I get from the NatNet Api describe a global rotation of a given bone around it's joint (the start point of the bone)? Are the axis determining the rotation identical with the global Optitrack coordinate system?
Unfortunately, I cannot find any detailed information concerning the skeleton data inside the API.

Any help would be appreciated!

Posts: 5
Joined: Sun Feb 22, 2015 1:50 am

Re: Axis of coordinates in skeleton streaming

Post by Mikko » Wed May 13, 2015 11:18 am


Did you find a solution for your problem. We are having the very same issue at the moment, writing our own streaming code. Any help greatly appreciated.

NaturalPoint Employee
NaturalPoint Employee
Posts: 579
Joined: Mon Jan 19, 2015 11:52 am

Re: Axis of coordinates in skeleton streaming

Post by steven.andrews » Thu May 14, 2015 9:41 am

Hello Mikko,

If you are using Motive, the default behavior is for the global position and orientation to be reported for each bone. In the Data Streaming Pane, there is an option to stream the local coordinates. This would be done by setting "Local Rigid Bodies" to True.

I hope this information helps with your questions. If you need any further assistance, please feel free to open a Support Ticket with us at

Steven Andrews
OptiTrack | Customer Support Engineer

Post Reply