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.

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 - Values are transferred to the node specified in the Target Node box.
    • Head Projection - Values are transferred to the camera for power-wall and cave projections.
    • HMD - Values are transferred to the camera for head mounted displays.
    • Cart - Values are transferred to the camera for cart displays.
  • 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 - Add an extra translation in local body coordinates.

  • Rotation Offset - Add 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 - Translation and rotation values are gathered from the Cart Translation and Cart Rotation fields.
    • Node - Transform values are gathered from a node in the Scenegraph; the name of the node is specified in the Cart Node field.
    • Viewpoint - Transform values are calculated 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.

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

  • Ignore Device Offsets - Ignore 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 - Set the interaction mode for the flystick:

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

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

  • Rotation Offset - Add an extra rotation.

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

  • Ignore Device Offsets - Offset values from the device are ignored 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 - Enable the Calibrate and Edit buttons.

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

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

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

  • Lock Rotation 90° - Lock 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.