This guide provides information on how to install, setup, and use the Sim Racing Studio IntelliComp Motion Compensation with OpenXR Motion Compensation.


IntelliComp does not require the WitMotion Sensor and works exclusively with OpenXR Motion Compensation. In order for IntelliComp to work, you must have OpenXR Motion Compensation installed and the game must utilize OpenXR when using Virtual Reality (VR). 


OpenXR Motion Compensation (OXRMC) is the latest version of motion compensation which removes a motion platform's movements by changing the communicated position of a VR Headset before the VR image is rendered. This will allow the VR image to remain firmly in the seat or cockpit when racing or flying instead of being moved outside of the car or cockpit when the motion platform has a large amount of movement. This will increase the immersion and improve the actual feeling of motion while in VR.

OpenXR is a new open standard that provides high-performance access to Augmented Reality (AR) and Virtual Reality (VR)—collectively known as XR—platforms and devices (https://www.khronos.org/openxr/). OpenXR is the latest version of VR motion compensation which can be utilize instead of OpenVR motion compensation. 


Not all games currently support OpenXR for VR. Please review if the game supports OpenXR before using OpenXR Motion Compensation. If OpenXR is not supported, OpenVR Motion Compensation is available here:  https://simracingstudio.freshdesk.com/support/solutions/articles/35000209208-motion-compensation-setup or you can utilize OpenComposite which allows OpenVR games to use OpenXR instead (details in the guide below).


For OXRMC Troubleshooting, please utilize this article: https://simracingstudio.freshdesk.com/support/solutions/articles/35000219657-openxr-motion-compensation-troubleshooting


  • Note: The Sim Racing Studio IntelliComp Motion Compensation will compensate platform movement on the Pitch, Roll, Yaw, Sway, and Surge axis for actuator and non-actuator platforms. Heave is not compensated at this time.
  • All actuator based platforms supported by Sim Racing Studio will work with IntelliComp.
  • Only the DOF Reality H3 and P3 are supported by IntelliComp at this time. 


IMPORTANT: This guide will cover basic setup of OXRMC using the new IntelliComp feature in Sim Racing Studio. For advanced settings and additional details regarding using OXRMC, please refer the the README.html file located on the OpenXR Motion Compensation releases page here: https://github.com/BuzzteeBear/OpenXR-MotionCompensation/releases/



Topics include: 

Requirements

OXRMC Installation

Initial Sim Racing Studio Configuration    

Configuring OXRMC Settings

Creating an Activate and Recalibrate Center Shortcut

Launching OXRMC

OXRMC Graphic Overlay

Adjusting SRS Motion Compensation Settings

OXRMC Center of Rotation Save Location

Keyboard Shortcuts

Launching OXRMC

OXRMC Graphic Overlay

Adjusting SRS Motion Compensation Settings

OXRMC Keyboard Bindings

Troubleshooting



Requirements

The following items are required to use SRS IntelliComp Motion Compensation:

  1. SRS Premium Add-On Subscription for the SRS Base License
  2. OpenXR Motion Compensation (OXRMC) 

In addition to the requirements above, OpenComposite will be needed for OpenVR games that do not have native OpenXR support. Note: OpenComposite is not officially supported and may not work for all games.

  1. OpenComposite (Optional) for OpenVR games



Sim Racing Studio Premium Add-On Subscription

A Sim Racing Stuidio Premium Add-On Subscription is required to enable OpenXR Motion Compensation in Sim Racing Studio. A SRS Premium Add-On Subscription can be purchased here or from within SRS by going to SETUP > License and clicking the Premium purchase button. This add-on subscription enables SRS to continue development on new and experimental projects and provides additional features including: 

  • Joystick Telemetry Maker 
  • Premium Shaking Effects
  • Mobile Companion to access SRS from Phone or Tablet
  • Pro-Tune Profile Downloads
  • Cloud Tune Sharing and Importing
  • Intellitune WIzard for Motion Platforms
  • Cloud Backup and Restore

Note: A SRS Base License is also a requirement as the SRS Premium Add-On Subscription is just an add-on to the Base License. You can find more information about the differences here.


OpenXR Motion Compensation

OpenXR Motion Compensation can be downloaded from here: https://github.com/BuzzteeBear/OpenXR-MotionCompensation/releases/


Two files can be found in the Assets section: 

  1. Install_OpenXR-MotionCompensation_x.x.x.exe
  2. OpenXR-MotionCompensation_User_Guide.html


Click on the files to download them to your computer.

IMPORTANT: OpenXR Motion Compensation: OpenXR is primarily developed by Sebastian “BuzzteeBear” Veith with assistance from mbucchiaPlease support Buzzteebear for his development of OpenXR Motion Compensation with any type of donation you can provide. You can utilize the support links: Sebastian “BuzzteeBear” Veith PayPal Donation Link: https://www.paypal.com/donate/?hosted_button_id=Q64DT2ADFCBU8 Support BuzzteeBear on GitHub: https://github.com/sponsors/BuzzteeBear Feedback and assistance with OXRMC: oxrmc@mailbox.org


NOTE: Sim Racing Studio does not develop or maintain OpenXR Motion Compensation. 

 


OXRMC Installation

The next step is to install OpenXR Motion Compensation (OXRMC).

  1. Download the latest version of OXRMC from here.

  2. Run the Installer


Notes on OXRMC installation:

  • Run the installation with Administrative Privileges (Run as administrator)
  • Using a sub-directory of Program Files as installation target is recommended, especially for compatibility with WMR based headsets. 
  • Run the OXRMC installer using the same Windows account used for your games. 
  • When installing OXRMC, you might receive a Windows warning like the one below. Please click on the More info link and then  the "Run Anyway" option.


Initial Sim Racing Studio Configuration

1. Ensure you have the latest BETA version of Sim Racing Studio. You can download the latest BETA version of Sim Racing Studio from the downloads page here by click LATEST BETA. You must have version 2.34.2.0 or higher (check in SETUP > App).


2. Open Sim Racing Studio and go to SETUP > Motion Compensation


3. Click the Config button next to SRS OpenXR Tracker


4. If OXRMC and the SRS Virtual Tracker (via the Latest Beta) are all installed correctly, you will see Installed next to OpenXR Motion Compensation and Configured next to SRS OpenXR Tracker in the Health Check section. If not, click the Refresh button to enable SRS to check again. 

  

5. SRS is now set at the virtual tracker for OXRMC and should show as Configured.


6. IntelliComp uses the SRS OpenXR Tracker for OpenXR Motion Compensation. To set Sim Racing Studio to utilize IntelliComp instead of a WITMotion Sensor, use the pull-down menu in the SENSOR section and select 

IntelliComp (No physical hardware required)


7. Scroll down to the SETTINGS section. The SENSOR section as it will be adjusted in the Adjusting Sim Racing Studio Motion Compensation Settings below. 


8. In the 
SETTINGS section, in the Seated Height (mm)field, enter the number 1. OXRMC will handle the calculation of the height automatically; however, you will still need to at least enter the number 1 in the Seated Height (mm) field for Sim Racing Studio.


IMPORTANT: Do not enter any value higher than 1 in the field or OXRMC will not compensate properly.


9. For Actuator Platforms only, insert the distance from the center of your vertical actuators from left to right and from front to back in the respective fields. Also enter the stroke in millimeters for your vertical actuators and your surge actuator if available.


IMPORTANT: When finished making changes, click SAVE at the top right in Sim Racing Studio. 


Keyboard Shortcuts to Toggle the OXRMC Overlay, Calibrate the Center (Neutral Pose), and Activate OpenXR Motion Compensation


In order to calibrate and activate OXRMC, you will need to use keyboard shortcuts you can access while in VR. These shortcuts will allow you to activate a OXRMC Graphic Overlay (Virtual Tracker) in VR that you can see when Calibrating the Center (Neutral Pose) in VR. The Overlay will only appear in VR when you activate it via a shortcut key. 


The default shortcut keys for OpenXR Motion Compensation are:


Toggle the OXRMC Graphic Overlay (Virtual Tracker) is CTRL+D

Calibrate Center (Neutral Pose) for OXRMC is CTRL+DEL

Activate OXRMC is CTRL+INS


These shortcuts can be rebound to different keys via the OpenXR-MotionCompensation.ini file. This might be necessary if the OXRMC keybinds conflict with keybinds you have in a specific game. 


If these shortcuts need to be changed, it can be done so in the OpenXR-MotionCompensation.ini file file's fields below:  


; GENERAL
; (re)activate and deactivate motion compensation
activate = CTRL+INS
; (re)set reference pose for tracker
center = CTRL+DEL


; VIRTUAL TRACKER
; toggle overlay display on/off
toggle_overlay = CTRL+D


More information on creating keyboard shortcuts can be found in the Keyboard Shortcuts section below.



Voice Commands

When using OXRMC shortcuts, you will hear an automated voice notifying you of what shortcut was pressed. This should include Overlay Activated, Overlay Calibrated, and Motion Compensation Activated/Deactivated. 



Initial Setup and Calibrating the OXRMC Center of Rotation (COR) 

In order for OXRMC to correctly compensation the VR image, you have to provide the information on where the Center of Rotation (COR) of your motion rig is positioned and which way is forward. This can be done with the following steps:

  1. Calculate, measure or estimate the distance between your headset and the Center of Rotation of your motion rig in forward/backward, up/down and left/right direction (This is typically near the bottom of the seat in the platform; however, it may be different based on the platform) in centimeters (cm). 

    This would be from the center of your head to the center of rotation of your platform.

    The motion platform's center of rotation is defined as the point around which the platform is rotated. This is a point in space in which primarily pitch and roll rotate. Take into account all potential motion of your platform and where the center point of rotation would be floating in space. If in doubt, activate the Test Motion function in Sim Racing Studio and move your platform on the Pitch and Roll access to visualize where the Center of Rotation would be.  

  2. Enter the offset values in the OpenXR-MotionCompensation.ini file in the [tracker] section as seen below. Note: The values below are an example and the measurement that should be utilized is in centimeters (cm). Measure and utilize the correct values in cm that you obtained from Step 1 above.
    Note: The Virtual Tracker can also be moved and re-positioned while in VR. Utilize the following keyboard shortcuts to position the Virtual Tracker manually if required which can be found in the OpenXR-MotionCompensation.ini file



  3. Save the OpenXR-MotionCompensation.ini file and close it.

  4. Start the OpenXR game of your choice

  5. Ensure the motion platform is in a neutral position

  6. Sit in your your motion platform

  7. Put your HMD on and face forward (this will be the direction when accelerating/surging forward).
    Note: Potential rotation of the HMD on the roll and pitch angle is ignored for the calculation


  8. Issue the Toggle OXRMC Graphic Overlay command (default is CTRL + D). This will activate the Virtual Tracker in VR. The Virtual Tracker might be located in VR that is behind, below, or above you when it is first turned on and might be difficult to see. 

  9. Issue the Calibrate Center (Neutral Pose) command (default is CTRL + DEL).
     
  10. If you setup the Center of Rotation offsets correctly, you should see the Virtual Tracker appear in VR at the location specificed by your measurements (Usually down near the bottom of your seat or down slightly in front of your seat) if you are looking straight forward in VR when you issue the command.

    Note: You want to be looking straight forward when issuing the Calibrate Center command as it will impact the direction the Virtual Tracker is facing. If you are looking to the side or slightly off center, then Motion Compensation will not work correctly as it is not calibrated correctly. Always ensure you are looking straight forward and utilize the Calibrate Center command often if your VR image becomes uncalibrated or if you turn SRS off and then back on.

  11. Once the Virtual Tracker is pointed and located in the correct position, activate OXRMC by using the Activate Command (default is CTRL + INS).


Launching OXRMC after Initial Setup

  1. Make sure the game your using OXRMC motion compensation with support OpenXR -or- you are using OpenComposite
  2. Start the game 
  3. Center the in-app view
  4. Bring your motion platform to neutral position
  5. Reset the ingame view if necessary
  6. Press the activate shortcut (CTRL + INSERT by default). This implicitly sets the neutral reference pose for the tracker


  • If necessary you can recalibrate the tracker by pressing activating the graphic overlay (CTRL + D) and then the center shortcut (CTRL + DEL) while the motion rig is in neutral position.
  • You can increase or decrease the filter strength of translational and rotational filters in the OpenXR-MotionCompensation.ini of the image is swimming or laggy using the following keyboard shortcuts found in the OpenXR-MotionCompensation.ini file:



Keyboard Shortcuts

Keyboard shortcuts can be edited in the OpenXR-MotionCompensation.ini file, usually located at "...\Users\*<Your_Username>*\AppData\Local\OpenXR-MotionCompensation"  to activate/deactivate or re-calibrate motion compensation during game-play.

Note that all keys and values in the configuration file(s) are case sensitive. That means all keyboard shortcuts must only contain capital letters, numbers and/or underscores


  • shortcuts: can be used to configure shortcuts for different commands (See the OXRMC Keyboard Bindings at the bottom of this guide valid values):
    • activate- turn motion compensation on or off. Note that this implicitly triggers the calibration action (center) if that hasn't been executed before.
    • center - recalibrate the neutral reference pose of the tracker
    • translation_increase, translation_decrease - modify the strength of the translational filter. Changes made during runtime can be saved by using a save command (see below).
    • rotation_increase, rotation_decrease = see above, but for rotational filter
    • offset_forward, offset_back, offset_up, offset_down, offset_right, offset_left - move the center of rotation (cor) for a virtual tracker. The directions are aligned with the forward vector set with the center command. Changes made during runtime can be saved by using a save command (see below).
    • toggle_overlay - (de)activate graphical overlay displaying the reference tracker position(s) (See Graphical overlay for details).



OXRMC Graphic Overlay

You can enable/disable the overlay using the toggle_overlay shortcut. It displays a marker in your headset view for:

  • The current neutral position of the reference tracker. Note that the position of the marker does not represent the Center of Rotation position prior to calibration
    • For the SRS virtual tracker, the neutral position corresponds to the center of rotation currently configured. The marker uses the following color coding:
      • blue points upwards
      • green points forward
      • red points to the right
      • if blue and red are pointing in the opposite direction, try setting upside_down to 1 in the startup section of the config file of the corresponding application (or check if it is set to 1 inadvertently).
  • The SRS virtual tracker position, if motion compensation is currently active. This marker uses:
    • cyan instead of blue
    • yellow instead of green
    • magenta instead of red



Adjusting SRS Motion Compensation Settings

SRS Motion Compensation should now be working. You will now need to finalize your settings and test motion compensation in Sim Racing Studio. 


You will be observing how well the motion compensation is working in VR while at the same time adjusting the settings in the SENSOR section of the Motion Compensation page below.


During testing, you will need to turn Off the Roll, Sway, and Surge motion compensation settings. Do this by using the On / Off switches next to each axis: 


During testing, you might need to REVERSE an axis in motion compensation due to the orientation of the Witmotion Sensor.  Do this by using the Normal / Reversed switches for each axis: 


The Factor sliders are utilized to fine tune the amount of motion compensation used on the Sway and Surge axis. For platforms that do not have dedicated sway movement/actuators, sway is converted into roll. For platforms that do not have dedicated surge movement/actuators, surge is converted into pitch. 

Sway Factor is the amount of motion compensation that is applied to the Sway axis. The higher the amount, the more compensation is utilized. This slider can be reduced to negate any potential over or under compensation which will result in inaccurate movements in the VR image for Sway. If the sway movement is not matching what is seen in the VR image, try reducing the Sway Factor. 

Note: SRS IntelliComp does not compensate for Heave at this time. 

Surge is the amount of motion compensation that is applied to the surge axis. The higher the amount, the more compensation is utilized. Similar to sway, if the surge movement is not matching what is seen in the VR image, try reducing the Surge Factor. 

Horizontal Factor (For actuator platforms with horizontal surge actuators only) is the amount of motion compensation that is applied to the horizontal surge axis similar to the Sway Factor and Surge Factor as listed above. If the surge actuator is reversed on your platform, utilize the Normal / Reversed button to reverse the surge motion compensation. 


IMPORTANT
: When finished making changes, click SAVE at the top right in Sim Racing Studio. 


SRS Keyboard Shortcuts

You can program Sim Racing Studio shortcuts for most of the SRS Motion Compensation commands. Click on the Keyboard icon on top right of the Motion Compensation page in Sim Racing Studio. It is suggested to set a Keyboard button for the ‘Motion Compensation Switch’.  This will make it easy to stop Motion Compensation in Sim Racing Studio so you can compare the difference with and without it working.



OXRMC Keyboard Bindings 

To combine multiple keys for a single shortcut, ensure they are separated by '+' with no spaces in between the key descriptors.

List of supported shortcut key names:

NameKey
SHIFTshift key
CTRLctrl key
ALTalt key
LSHIFTleft shift key
RSHIFTright shift key
LCTRLleft ctrl key
RCTRLright ctrl key
LALTleft alt key
RALTright alt key
0- 9numerical key
A- Zalphbetical key
BACKQUOTE`~ key (US)
TABtabulator key
CAPScaps lock key
PLUS+ key (any country)
MINUS- key (any country)
OPENBRACKET[{ key (US)
CLOSEBRACKET]} key (US)
SEMICOLON;: key (US)
QUOTE'" key (US)
BACKSLASH\| key (US)
COMMA, key (any country)
PERIOD. key (any country)
SLASH/? key (US)
BACKbackspace key
CLRclr key
RETURNreturn key
ESCesc key
SPACEspace key
LEFTcursor left key
UPcursor up key
RIGHTcursor right key
DOWNcursor down key
INSins key
DELdel key
HOMEhome key
ENDend key
PGUPpage up key
PGDNpage down key
NUM00 key on NUM
NUM11 key on NUM
NUM22 key on NUM
NUM33 key on NUM
NUM44 key on NUM
NUM55 key on NUM
NUM66 key on NUM
NUM77 key on NUM
NUM88 key on NUM
NUM99 key on NUM
NUMLOCKnumlock key
NUMDIVIDE/ key on NUM
NUMMULTIPLY* key on NUM
NUMSUBTRACT- key on NUM
NUMADD+ key on NUM
NUMDECIMAL. key on NUM
NUMSEPARATORseparator key on NUM
F1F1 key
F2F2 key
F3F3 key
F4F4 key
F5F5 key
F6F6 key
F7F7 key
F8F8 key
F9F9 key
F10F10 key
F11F11 key
F12F12 key
PRTSCprint screen key
SCROLLscroll lock key
PAUSEpause key
SELECTselect key
PRINTprint key
HELPhelp key
EXECexecute key
GAMEPAD_AA button on gamepad
GAMEPAD_BB button on gamepad
GAMEPAD_XX button on gamepad
GAMEPAD_YY button on gamepad
GAMEPAD_RIGHT_SHOULDERright shoulder button on gamepad
GAMEPAD_LEFT_SHOULDERleft shoulder button on gamepad
GAMEPAD_LEFT_TRIGGERleft trigger button on gamepad
GAMEPAD_RIGHT_TRIGGERright trigger button on gamepad
GAMEPAD_DPAD_UPdigital pad up on gamepad
GAMEPAD_DPAD_DOWNdigital pad down on gamepad
GAMEPAD_DPAD_LEFTdigital pad left on gamepad
GAMEPAD_DPAD_RIGHTdigital pad right on gamepad
GAMEPAD_STARTstart button on gamepad
GAMEPAD_VIEWview button on gamepad
GAMEPAD_LEFT_THUMBSTICK_BUTTONleft thumbstick pressed on gamepad
GAMEPAD_RIGHT_THUMBSTICK_BUTTONright thumbstick pressed on gamepad
GAMEPAD_LEFT_THUMBSTICK_UPleft thumbstick up on gamepad
GAMEPAD_LEFT_THUMBSTICK_DOWNleft thumbstick down on gamepad
GAMEPAD_LEFT_THUMBSTICK_RIGHTleft thumbstick left on gamepad
GAMEPAD_LEFT_THUMBSTICK_LEFTleft thumbstick right on gamepad
GAMEPAD_RIGHT_THUMBSTICK_UPright thumbstick up on gamepad
GAMEPAD_RIGHT_THUMBSTICK_DOWNright thumbstick down on gamepad
GAMEPAD_RIGHT_THUMBSTICK_RIGHTright thumbstick left on gamepad
GAMEPAD_RIGHT_THUMBSTICK_LEFTright thumbstick right on gamepad



OXRMC Troubleshooting

For troubleshooting assitance with OXRMC, please see the article here: https://simracingstudio.freshdesk.com/support/solutions/articles/35000219657-openxr-motion-compensation-troubleshooting