Question regarding NatNet protocol messages

NatNet, VRPN, TrackD, and Plugins
Post Reply
Posts: 2
Joined: Thu Apr 08, 2010 9:22 pm

Question regarding NatNet protocol messages

Post by okreylos » Thu Apr 08, 2010 10:14 pm


I started using the NatNet protocol on the other day because a client installed the Tracking Tools software to run a mini-VR system, and it turned out some features I relied on in my calibration process were removed w.r.t. the old Rigid Body Toolkit. This was NatNet protocol

My question is about which protocol versions support which request/reply messages. I worked from the packet parser source code from your web page.

I noticed that on version, only the NAT_PING and NAT_REQUEST_MODELDEF requests worked. NAT_REQUEST, NAT_REQUEST_FRAMEOFDATA, and NAT_MESSAGESTRING yielded a server reply of NAT_UNRECOGNIZED_REQUEST.

I'm just trying it on on the Rigid Body Toolkit we use, and here the NAT_REQUEST_MODELDEF does not seem to work (I get a NAT_UNRECOGNIZED_REQUEST in return).

It would be very useful to get model definitions -- especially an association between rigid body names and IDs -- from the engine, which seems to work on Does simply not support NAT_REQUEST_MODELDEF, or am I doing something wrong? Is there an alternative way to request model definitions? I used to parse .rdef files to get at the rigid bodies using the Rigid Body Toolkit, but I'd rather not fall back to that.

The UDP sockets and firewall on the two involved machines are set up correctly, because I get ping replies and receive streaming tracking data.

Is there documentation anywhere on the semantics of the NAT_REQUEST and NAT_MODELSTRING request packets? I couldn't find sufficient information in the packet parser source.


NaturalPoint Employee
NaturalPoint Employee
Posts: 200
Joined: Tue Jun 24, 2008 2:01 pm
Location: Corvallis, OR, USA

Re: Question regarding NatNet protocol messages

Post by morgan » Fri Apr 09, 2010 2:48 pm

I would recommend using the NatNet SDK for comm between Client and NatNet servers (Arena/TrackingTools).

Assuming that's not possible:

NatNet 2.1 contains a "PacketClient" sample in the samples fodler. This sample should be used for direct depacketization.

TrackingTools 2.0 supports:
- NAT_REQUEST "UnitsToMillimeters"

TrackingTools 1.4 does not. I dont believe there's any way to use direct packet request to get model definitions from
TrackingTools 1.4. Our direct depacketization support came after TrackingTools 1.4. My recommndation here would be to use TrackingTools 2.0.

For using NAT_REQUEST, i would refer the the Packet Sample in the NatNet 2.1 release.

For NAT_MODELSTRING, not familiar with this one - is this defined in your NatNet header?


Post Reply