NatNetSDK Skeleton Output

Post Reply
VRDave
Posts: 11
Joined: Mon Mar 04, 2013 11:29 am
Location: Seattle, WA
Contact:

NatNetSDK Skeleton Output

Post by VRDave »

So I've been playing with the output from Arena for a while now and I held off on deeper exploration until Motive was available, hoping that some of the problems I was running into would be fixed.

What I am doing (specifically) is using a custom-built UDP client and taking the packet data from Motive. I pull the rigid body information from the skeleton(s) and applying it directly to in-game model rigging(bones). Currently I am using Unity and eventually UDK.

I have 2 questions regarding my approach. The first question is, does the NatNetSDK do anything special with the incoming skeleton data when it puts it into the data structures? Some sort of filtering or transformation of the Rigid Bodies that I am not aware of or doing on my end.

Second question; is there some documentation or clue as to the zero orientation of the bones in Motive? If I know what global orientation is at start, I can at least write a transform to deal with the discrepancy.

Streaming Properties are as follows:
Stream Markers: True
Stream Rigid Bodies: True
Stream Skeletons: True
Local Rigid Bodies: False
Skeleton As Rigid Bodies: False
Scale: 1
etc etc.

Is there anyone who has had luck with something like this?
VRcade - Full Motion Virtual Reality
VRcade.com | facebook.com/VRcade
VRDave
Posts: 11
Joined: Mon Mar 04, 2013 11:29 am
Location: Seattle, WA
Contact:

Re: NatNetSDK Skeleton Output

Post by VRDave »

Or another useful piece of information would be: What does a skeleton look like in Motive when all joints/angles are zero'd out?
VRcade - Full Motion Virtual Reality
VRcade.com | facebook.com/VRcade
VRDave
Posts: 11
Joined: Mon Mar 04, 2013 11:29 am
Location: Seattle, WA
Contact:

Re: NatNetSDK Skeleton Output

Post by VRDave »

I figured out my problem. It was the handed-ness of Motive. In Arena, the toggle is in the network settings, but it has since been moved to application settings. Once I discovered that Motive was right-handed by default and not left-handed, I switched this to false (to match Unity's left-handedness) and everything works beautifully.

For those of you pulling data into Unity from NatNet in any form, make sure you switch this. Even though quaternions by definition do not have handedness, the coordinate systems they are built from DO, which means both ends should match to reduce the amount of math and headaches that will inevitably come out of such a novice mistake.
VRcade - Full Motion Virtual Reality
VRcade.com | facebook.com/VRcade
Post Reply