OpenVR Motion compensation
Introduction
Motion compensation is designed to cancel out the VR headset movements caused by your motion platform. For example, if the platform rolls to the left, motion compensation will apply a virtual roll to the right, keeping your viewpoint stable in VR. As of now, no official method for motion compensation is provided by VR frameworks. For Open VR Dschadu does provide us a motion compensation layer.
Motion compensation on OpenVR wouldn’t exist without his work. Don’t hesitate to support Dschadu efforts in any way you can!
As with any unofficial feature, it may not work with every game or headset.
For simplicity, in this guide we will use the following abbreviations:
"Open VR motion compensation" to "MC" or "MC layer"
"Open VR motion compensation center or rotation" to "COR"
SimHub and Open VR MC roles
SimHub provides the "computations": based on your dimension inputs and the current motion target position, it estimates the required compensation (Heave, Sway, Surge, Yaw, Pitch, Roll).
This estimation is based on your seat base position and sent to the OpenVR Motion Compensation layer.
The OpenVR Motion Compensation layer performs the key compensation step: it applies the received values to the VR view, using the "COR" as the reference point.
Open VR what is it ?
OpenVR is a standard for Virtual Reality that works across all major headsets.
COR ? COR ? COR ?
Accurate motion compensation relies heavily on the COR .... COR stands for "center of rotation". It’s a reference point in space that must align between your VR view and your motion software’s computations.
Since complex platforms often don't have a single center of rotation, SimHub uses the seat base as the COR and computes all compensation around it.
Don't assume the COR must be set at the same location as the other softwares in the game. In SimHub the in-game COR must be set to the seat base.
Getting Started
Dimensions and speed input
In SimHub: make sure to enter the correct dimensions in the geometry settings.
Every dimensions matters, both for accurately calculating your platform’s real-world motion and for estimating your sitting position for compensation.
For all axes (Surge, TL, 2 DOF, 3 DOF), adjust your speed limiters to match your real actuators' capabilities as closely as possible. If the capabilities are overestimated, SimHub will assume the platform moves faster than it actually does, which can lead to inaccurate compensation.
Enabling motion compensation in SimHub
Go into Motion compensation settings
Enable motion compensation
Click on configure OpenVR MC to set all the required settings
Open VR motion compensation setup
Please follow the original software setup/configuration instructions available here :
Happy race/flight !
Last updated