Susi Server

Optical Source

Node ID: optical · Role: Source · Realtime config: no

Description

Optical/motion capture tracking source. Subtypes: DTrack (ART), Vicon, Optitrack, Antilatency. Outputs OpticalData (6-DOF position+orientation, quality, frame rate).

Inputs / Outputs

Config aliases

OpticalSource, opticalSource, optical

Properties

Each row shows the setting’s label in the node’s Properties panel and, in code, its key in the node’s settings object in the config file. A setting omitted from the config file uses the default shown here.

PropertyTypeDefaultDescription
Body IDs bodyIDsjson[0]List of tracked body IDs to forward from the mocap system. Empty means all bodies.

Subtypes

ValueDisplay nameExtra properties
dtrackDTrack11 field(s)
viconViconnone
optitrackOptitrack11 field(s)
antilatencyAntilatencynone

Subtype: dtrack — DTrack

PropertyTypeDefaultDescription
Body IDs bodyIDsid-name-list[{"id":1,"name":"hmd"},{"id":2,"name":"leftCtrl"},{"id":3...List of tracked body IDs to forward from the mocap system. Empty means all bodies.
Measurement Tool IDs measurementToolIDsid-name-list[]ART measurement tools (6dmt) to publish as optical streams. The reported position is the calibrated tool tip, so no stylus tip offset or pivot calibration is needed.
Port portnumber5000UDP port that DTrack multicasts/unicasts tracking frames to.
Room Directions roomDirectionsdirections["right","up","backward"]Three-axis permutation describing the DTrack room coordinate system, e.g. [‘right’,‘up’,‘backward’]. Used to map into FusionHub’s +X forward, +Y left, +Z up frame.
Body Directions bodyDirectionsdirections["right","up","backward"]Three-axis permutation describing the tracked body’s local frame.
Room Offset roomOffsetvector3{"x":0,"y":0,"z":0}Translation (m) applied to the room origin before publishing the pose.
Use World Transform useWorldTrafobooleanfalseApply the World Transform instead of Room Directions / Room Offset. Enabled automatically by the Point Alignment apply.
World Transform worldTrafotransform{"quat":{"w":1,"x":0,"y":0,"z":0},"vect":{"x":0,"y":0,"z"...Rigid world-frame transform applied to all published poses when ‘Use World Transform’ is on. Replaces Room Directions / Room Offset. Written by the Point Alignment apply.
Jump Gate jumpGateEnabledbooleanfalseReject frames whose pose moves implausibly fast relative to the last accepted pose - catches bad marker fits during partial occlusion.
Max Position Speed (m/s) maxPositionSpeednumber5.0Position speed limit for the jump gate. 0 disables the position check.
Max Rotation Speed (deg/s) maxRotationSpeednumber1000.0Rotation speed limit for the jump gate. 0 disables the rotation check.

Subtype: optitrack — Optitrack

PropertyTypeDefaultDescription
Server Address serverAddressstring127.0.0.1Hostname or IP of the OptiTrack Motive server.
Local Address localAddressstring0.0.0.0Local interface IP used when Motive has multiple NICs; usually 127.0.0.1 when running on the same host.
Multicast Address multicastAddressstring239.255.42.99Multicast group Motive streams data to; must match Motive’s ‘Multicast Interface’ setting.
Command Port serverCommandPortnumber1510TCP/UDP command port on the Motive server (Motive default: 1510).
Data Port serverDataPortnumber1511UDP data port on the Motive server (Motive default: 1511).
Connection Type connectionTypeselectmulticastNatNet transport: ‘multicast’ (default) or ‘unicast’. Must match Motive’s streaming settings. Options: multicast, unicast.
Body IDs bodyIDsid-name-list[{"id":0,"name":"hmd"},{"id":1,"name":"leftCtrl"},{"id":2...List of tracked body IDs to forward from the mocap system. Empty means all bodies.
Room Directions roomDirectionsdirections["right","up","backward"]Three-axis permutation mapping the OptiTrack world axes into FusionHub’s frame.
Body Directions bodyDirectionsdirections["right","up","backward"]Three-axis permutation mapping the rigid-body local axes into FusionHub’s frame.
Use World Transform useWorldTrafobooleanfalseApply the World Transform instead of Room Directions. Enabled automatically by the Point Alignment apply.
World Transform worldTrafotransform{"quat":{"w":1,"x":0,"y":0,"z":0},"vect":{"x":0,"y":0,"z"...Rigid world-frame transform applied to all published poses when ‘Use World Transform’ is on. Replaces Room Directions. Written by the Point Alignment apply.

Example node definition

A minimal entry in config.json looks like the block below. Paste it under the sources key, keyed by an instance name of your choice. All settings are optional: anything not listed under settings uses the default from the Properties table above. See The configuration file for how the sections and endpoint wiring work.

{
  "sources": {
    "optical": {
      "outEndpoint": "inproc://optical_data",
      "type": "dtrack",
      "settings": {}
    }
  }
}
Loading documentation…