VRPN Tracking icon VRPN Tracking Module

Interaction > VRPN Tracking

Toggles the tracking process. Connection to an external tracking system must already be set up in Interaction > Tracking. Connect an external tracking system to VRED to receive data from various tracking systems via VRPN (Virtual-Reality Peripheral Network). VRPN is an open source standard library for accessing many different tracking systems. Use VRPN to set up power-wall and cave projections with head-tracking, object tracking, interactive navigation with flysticks, and so on. Add servers, devices, and their children; types of children you can add include:

VRPN Tracking module

learnMore icon For information on using the Tracking module, see Setting Up a Tracking Configuration.

Navigate between servers, devices, and their children (bodies, flysticks, and so on) on the left side of the module. View and edit properties of the selected items on the right side of the module.

QuickActions Bar

Icons for commonly used commands in the Tracking module are easily accessible in the QuickActions Bar.

Toggle Tracking icon Toggle Tracking - Enables tracking, making it active, when highlighted and disables it, making tracking inactive, when not highlighted.

Freeze icon Freeze - Blocks the execution of incoming VRPN data while tracking is active.

Add Server icon Add Server - Adds a server to the Objects List that then needs a path to a VRPN config file added, using the Config File attribute.

Add Device icon Add Device - Adds a device to the Objects List.

Add Body icon Add Body - Adds a sensor to the Objects List that is the only one that has a position and orientation in space and can be calibrated or connected to a node.

Connecting a body to a node is an important task that updates a transform nodes matrix with the values coming from the corresponding sensor.

Add Flystick icon Add Flystick - Adds a type of body with a predefined button and analogs.

Add Button icon Add Button - Adds a button source to the Objects List for a trigger with a unique identifier and target, which does not need calibration.

Add Analog icon Add Analog - Adds an analog source to the Objects List for mapping each movement axis of a pointing device, such as a joystick.

VRPN Server Settings

Select a server on the left side of the module to see its settings on the right in the Server section.

If the server is not already running, you must specify a configuration file for it and start it.

  • Config File - Enter the path to a config file (*.cfg) for a VRPN server. Sample configuration files are included in the VRED installation folder. Right-click to use the default configuration file specified in Preferences.

  • Status - Shows the current server status.

  • Start/Stop - Manually start or stop the server.

Device Settings

Select a device on the left side of the module to see its settings on the right in the Device section.

  • Unit Scale - Tracking values are normally transferred in meters. Unit Scale converts this to the VRED standard of millimeters. The default value is 1000. If the tracking system is not sending its values in meters, you should adjust this value.

  • Coordinate System - There are three predefined tracking coordinate systems:

    • X-Up - X pointing up, Y left and Z front.
    • Y-Up - X pointing right, Y up and Z front
    • Z-Up - X pointing right, Y back and Z up
  • Swap Axis - Swap axes to match various coordinate systems.

  • Projection Origin - Specifies the position of the projection in global tracking coordinates. This is mainly used for head projections.

  • Rotation Offset - Use to add an extra rotation.

Body Settings

For every device, you can define one or more tracker bodies. A body represents a sensor in the tracking system. You can enter a numerical identifier for a body in the Sensor ID column of the list view.

  • Target Type - Defines how tracking values are used in VRED.

    • Custom Node - Transfers values to the node specified in the Target Node box.
    • Head Projection - Transfers values to the camera for power-wall and cave projections.
    • HMD - Transfers values to the camera for head mounted displays.
    • Cart - Transfers values to the camera for cart displays.
  • Target Node - When the target type is set to Custom Node, displays the set target node name for sending the values to.

  • User - When the target type is set to Head Projection, sets the body target type from the dropdown menu.

  • Camera - When the target type is set to HMD, a camera can be specified. This option is stored in the tracking system by name.

  • Translation Offset - Adds an extra translation in local body coordinates.

  • Rotation Offset - Adds an extra rotation.

  • Cart Transform Mode - When the target type is set to Cart, this specifies the source where the cart will get its values from. Possible sources:

    • Custom - Gathers translation and rotation values from the Cart Translation and Cart Rotation fields.
    • Node - Gathers transform values from a node in the Scenegraph; the name of the node is specified in the Cart Node field.
    • Viewpoint - Calculates transform values using a viewpoint, whose name is specified in the Viewpoint field.
  • Cart Node - When Cart Transform Mode is set to Node, this specifies the name of the node to use. If the node does not exist, the value is ignored.

  • Viewpoint - When Cart Transform Mode is set to Viewpoint, this specifies the name of the viewpoint which is used to calculate the transformation. If the viewpoint does not exist, the value is ignored.

  • Cart Translation - When the target type is set to Custom, this specifies where the cart is moved in x, y, and z.

  • Cart Rotation - When the target type is set to Custom, this specifies where the cart is rotated in x, y, and z.

  • Relative to Camera - Offsets relative to the camera position.

  • Ignore Device Offsets - Ignores offset values from the device for final position and orientation calculations.

Flystick Settings

A flystick is a type of body with a predefined button and analogs. It acts as a navigation device and is used to change your position and orientation within the virtual scene. There are two different modes: Scene Move and Point Fly. You can also define buttons and analogs and connect them to VRED functions using python scripts.

  • Mode - Sets the interaction mode for the flystick:

    • None - Assigns nothing to the flystick. This is the default state.
    • Scene Move - Moves the scene with the flystick. You must press the related button to activate this mode.
    • Point Fly - Moves the user to the pointed direction when the analog stick is pushed.
  • Speed - Adjusts the speed for movements in point fly mode.

  • Translation Offset - Adds an extra translation in local body coordinates.

  • Rotation Offset - Adds an extra rotation.

  • Relative to Camera - Offsets values from the device relative to the camera position.

  • Ignore Device Offsets - Ignores offset values from the device for final position and orientation calculations.

  • Show Position - Highlight the flystick position with an orange cube.

Advanced Settings

Create a matrix for modifying incoming tracking values of devices, bodies, and flysticks. This supersedes all other settings. Click Edit to modify the matrix manually. For bodies and flysticks, click Calibrate to modify the matrix automatically.

  • Use Custom Calibration - Enables the Calibrate and Edit buttons.

  • Calibrate - Automatically calibrates the matrix for bodies and flysticks, using the current position of the sensor as a reference.

  • Edit - Opens the Matrix Editor. The calibration matrix is a measurement mapping of the real space to the virtual space.

  • Clear Translation - Clears any translation (offset) in the matrix.

  • Lock Rotation 90° - Locks the rotation angle in 90° steps.

Troubleshooting

  • Nothing Happens When Tracking Is Enabled - Select one of the following options:

    • Is a VRPN server running on the specified host? If not, you can start one under VRPN server settings.
    • Is the tracking system sending its data to the correct host (where the VRPN server is running)?
    • Is the device name correct? It must match the one in the VRPN configuration.
    • Is the sensor identifier correct and is the sensor in tracking range?
  • VRPN Server Is Not Starting - Check that the VREDClusterService process is running.