This article shows how to place markers on a headset in order to track it using Optitrack Motive. While the article describes marker placement using freely attachable markers on an Oculus Rift HMD, the same can be achieved using our LPVR marker holder attached to an HTC VIVE Pro or Varjo headset.
After the marker attachment the pivot point and coordinate system needs to be adjusted to align correctly with LPVR / SteamVR coordinate system. LPVR’s automatic pivot point calibration tool does not work with Optitrack at the moment.
Motive Data Streaming Setup
To publish data from the Optitrack tracking application Motive to the LPVR driver it is necessary to correctly adjust the output IP address for NatNet streaming. A description how to set up network streaming in Motive is here. In the same way the input address in the LPVR settings needs to be set to the same value. If both server (Motive) and client application are running on the same machine, set the network interface to the local loopback address (127.0.0.1).
The data streaming pane in the Motive application
LPVR works with both transmission types Multicast and Unicast. Multicast requires you to set the multicast group (multicast IP).
HMD Marker Setup
When manually positioning the appropriate location of the rigid body pivot point, you will need to have landmark markers on specific locations. When attaching retroreflective markers, make sure markers are securely attached and readily captured by the cameras. For attaching the markers, we recommend using Optitrack’s M4 markers and metal poles.
An HMD with markers attached will be defined as a rigid body in Motive. Motive is Optitrack’s tracking and control application. When placing markers, make sure the placement asymmetry is respected in the arrangement within the HMD. Also, the marker arrangements between multiple HMDs must be incongruent. For more details, read about marker placement from the Rigid Body Tracking page. Also, for tracking the HMD, two landmark markers must be placed in the following locations:
Eye-level Side Markers
Place two markers on left and right side of the HMD, these markers will serve two additional purposes. First, they will indicate yaw of the HMD, and they will be used to align the rigid body orientation with the orientation of the actual HMD component. Thus, a line interconnecting the two markers must be parallel to the frontal plane, or the display, of the HMD. Second, these markers will be used to locate the elevation of the eyes when creating the rigid body in Motive. In summary, the two landmark markers must be carefully placed considering the following:
The markers should align along eye-level of the user when the HMD is mounted. Most importantly, place these markers in the exact same location of the left and right side so that they form a precisely symmetrical arrangement. Same dimension attachment bases must be used for both markers. For reference see Figure 1, Figure 2 and Figure 3.
Figure 1 - Sample marker placement: Front view. The two side markers are placed parallel to the HMD display.
Figure 2 - Sample marker placement: Top view.
Figure 3 - Sample marker placement: Side view. The two side markers are aligned along the eye-level of the user.
Pivot Point Position
For best virtual experiences, the pivot point of the HMD rigid body, in Motive, needs to be positioned on the midpoint between two eyes, of the user when the HMD is put on. To locate this, use the side and top-center landmark markers as references.
Set the pivot point over the landmark marker. Use the Set Pivot Point to Selected Marker feature to assign the pivot point to the marker. This will set the elevation of the pivot point along the eye-level (Figure 4, Figure 5).
Figure 4 - Top view: Rigid body pivot point is assigned to the left landmark marker.
Figure 5 - Side view: Now both the landmark marker and the pivot point is positioned along the user's eye-level elevation.
Place the pivot point at the midpoint between the two markers. In Motive enable Two Marker Distance visual aid from the perspective pane, and select the two landmark markers in Motive. This will provide a distance between two markers. Then, using this information, translate the pivot point laterally by half of the distance so that it is placed right on the midpoint between two markers (Figure 6).
Figure 6 - Translating the pivot point by half of the measured distance to place it at the midpoint.
Translate the pivot point along the z-axis using the translation tool. For the most accurate position, you may need to physically measure the sagittal, z-axis, distance from the landmark marker to the root of nose and apply the measured offset (Figure 7, Figure 8).
Figure 7 - Pivot point translated along the z-axis.
Figure 8 - Perspective view of the adjusted pivot point position.
Now that you have translated the pivot point, you need to make detailed adjustments to the orientation using the orientation transformation tool. For best results, align the two front markers along the x-axis grid and roughly center the rigid body along the z-axis grid. Then, check to make sure that each of the rigid body orientation axes is parallel to the grids lines in Motive. If there is any deviation, apply rotation to adjust the offset. If needed, transparency of the axes and the grids can be adjusted from the Application settings. Align the axes to match the OpenVR coordinate system as shown in Figure 9.
Figure 9 - The OpenVR coordinate system.
Figure 10 - Pivot point translated along the z-axis.
Figure 11 - After Adjusting, the rigid body orientation axes are precisely aligned with the global axes of Motive.
Once you have the rigid body asset for the HMD configured, you can export the asset into a TRA file for future uses. Importing the TRA file (e.g. CV1.tra) will load the rigid body (HMD) asset and make it available for use; however, the marker placement must remain unchanged to re-load previously created rigid bodies.