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
- Inputs: (none)
- Outputs:
Optical
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.
| Property | Type | Default | Description |
|---|---|---|---|
Body IDs bodyIDs | json | [0] | List of tracked body IDs to forward from the mocap system. Empty means all bodies. |
Subtypes
| Value | Display name | Extra properties |
|---|---|---|
dtrack | DTrack | 11 field(s) |
vicon | Vicon | none |
optitrack | Optitrack | 11 field(s) |
antilatency | Antilatency | none |
Subtype: dtrack — DTrack
| Property | Type | Default | Description |
|---|---|---|---|
Body IDs bodyIDs | id-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 measurementToolIDs | id-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 port | number | 5000 | UDP port that DTrack multicasts/unicasts tracking frames to. |
Room Directions roomDirections | directions | ["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 bodyDirections | directions | ["right","up","backward"] | Three-axis permutation describing the tracked body’s local frame. |
Room Offset roomOffset | vector3 | {"x":0,"y":0,"z":0} | Translation (m) applied to the room origin before publishing the pose. |
Use World Transform useWorldTrafo | boolean | false | Apply the World Transform instead of Room Directions / Room Offset. Enabled automatically by the Point Alignment apply. |
World Transform worldTrafo | transform | {"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 jumpGateEnabled | boolean | false | Reject frames whose pose moves implausibly fast relative to the last accepted pose - catches bad marker fits during partial occlusion. |
Max Position Speed (m/s) maxPositionSpeed | number | 5.0 | Position speed limit for the jump gate. 0 disables the position check. |
Max Rotation Speed (deg/s) maxRotationSpeed | number | 1000.0 | Rotation speed limit for the jump gate. 0 disables the rotation check. |
Subtype: optitrack — Optitrack
| Property | Type | Default | Description |
|---|---|---|---|
Server Address serverAddress | string | 127.0.0.1 | Hostname or IP of the OptiTrack Motive server. |
Local Address localAddress | string | 0.0.0.0 | Local interface IP used when Motive has multiple NICs; usually 127.0.0.1 when running on the same host. |
Multicast Address multicastAddress | string | 239.255.42.99 | Multicast group Motive streams data to; must match Motive’s ‘Multicast Interface’ setting. |
Command Port serverCommandPort | number | 1510 | TCP/UDP command port on the Motive server (Motive default: 1510). |
Data Port serverDataPort | number | 1511 | UDP data port on the Motive server (Motive default: 1511). |
Connection Type connectionType | select | multicast | NatNet transport: ‘multicast’ (default) or ‘unicast’. Must match Motive’s streaming settings. Options: multicast, unicast. |
Body IDs bodyIDs | id-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 roomDirections | directions | ["right","up","backward"] | Three-axis permutation mapping the OptiTrack world axes into FusionHub’s frame. |
Body Directions bodyDirections | directions | ["right","up","backward"] | Three-axis permutation mapping the rigid-body local axes into FusionHub’s frame. |
Use World Transform useWorldTrafo | boolean | false | Apply the World Transform instead of Room Directions. Enabled automatically by the Point Alignment apply. |
World Transform worldTrafo | transform | {"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": {}
}
}
}