Susi Server

VRPN Output

Node ID: vrpnOutput · Role: Sink · Realtime config: no

Description

Exposes fused pose as a VRPN tracker, letting any VRPN client (e.g. Unity, Unreal, MotionBuilder) receive FusionHub tracking data over the network.

Inputs / Outputs

Config aliases

VrpnSink, vrpnSink, vrpnOutput, VRPN

Properties

The following fields are exposed in the node’s Properties panel in the UI. Types map to UI widgets (e.g. string → text input, number → numeric, boolean → toggle, select → dropdown, json → JSON editor).

KeyLabelTypeDefaultDescription / Notes
portPortnumber3883TCP port the VRPN server listens on.
deviceNameDevice NamestringFusionHubDevice name announced by the VRPN server; clients connect as ‘@host:port’.
axisConventionOrientation Axis Conventionstring-z+x-ySix-character remap for the output orientation quaternion xyz components, e.g. ‘-z+x-y’. w is always passed through.
posAxisConventionPosition Axis Conventionstring+z-x+ySix-character remap for the output position xyz components, e.g. ‘+z-x+y’.
positionScalerPosition Scalernumber1.0Scalar multiplier applied to the reported position (e.g. 1000 to convert meters to millimeters).
tracker0Tracker 0 Object Namestringtracker0Optical senderId routed to VRPN sensor slot 0 (defaults to ‘tracker0’). OpticalData frames whose senderId matches are forwarded to this sensor.
tracker1Tracker 1 Object Namestringtracker1Optical senderId routed to VRPN sensor slot 1.
tracker2Tracker 2 Object Namestringtracker2Optical senderId routed to VRPN sensor slot 2.
tracker3Tracker 3 Object Namestringtracker3Optical senderId routed to VRPN sensor slot 3.
tracker4Tracker 4 Object Namestringtracker4Optical senderId routed to VRPN sensor slot 4.
tracker5Tracker 5 Object Namestringtracker5Optical senderId routed to VRPN sensor slot 5.
tracker6Tracker 6 Object Namestringtracker6Optical senderId routed to VRPN sensor slot 6.
tracker7Tracker 7 Object Namestringtracker7Optical senderId routed to VRPN sensor slot 7.
tracker8Tracker 8 Object Namestringtracker8Optical senderId routed to VRPN sensor slot 8.
tracker9Tracker 9 Object Namestringtracker9Optical senderId routed to VRPN sensor slot 9.

Example node definition

A full node definition in config.json looks like the block below. Paste it under the sinks key of your config, keyed by the node’s instance name (any identifier; it doesn’t have to match the node ID).

{
  "sinks": {
    "vrpnOutput": {
      "inputEndpoints": [
        "inproc://fusedPose_data"
      ],
      "inputDataFilter": [
        "FusedPose"
      ],
      "settings": {
        "axisConvention": "-z+x-y",
        "deviceName": "FusionHub",
        "port": 3883,
        "posAxisConvention": "+z-x+y",
        "positionScaler": 1.0,
        "tracker0": "tracker0",
        "tracker1": "tracker1",
        "tracker2": "tracker2",
        "tracker3": "tracker3",
        "tracker4": "tracker4",
        "tracker5": "tracker5",
        "tracker6": "tracker6",
        "tracker7": "tracker7",
        "tracker8": "tracker8",
        "tracker9": "tracker9"
      }
    }
  }
}

Field reference

FieldPurpose
inputEndpointsList of upstream endpoints this node connects to (outEndpoint / dataEndpoint values from upstream nodes).
inputDataFilterOptional whitelist of data types. Messages whose type isn’t in the list are dropped at the subscriber.
settingsAll user-configurable fields — see the Properties table above.

Connections can also be declared at the top-level connections array when settings.explicitConnections is true, as an alternative to filling inputEndpoints on each node.

Loading documentation…