logo Full Motion Flight Simulator
Motion Compensation
[counter]

© 2024 KLS

Using a VR headset on a motion platform requires "Motion Compensation" to work properly (see the first video for an explanation). A very important part of configuring this is finding the right "Center of Rotation". This is shown in the second video, and I'm listing the complete set of steps here. I'm using the virtual tracker of "FlyPT Mover".

Software

OpenXR Motion Compensation [1]

Videos

Dynamic simulators and VR: motion compensation beginner's guide & tutorial [2]
OpenXR Motion Compensation: Virtual Tracker Center of Rotation fine tuning [3]

Configuration

OpenXR-MotionCompensation.ini contains the configuration of OpenXR Motion Compensation.

You can either directly measure the distance of the headset to the COR of the motion platform, or use the following method to find the proper values.

Step-by-step instructions on how to set the "Center of Rotation":

  • Make a copy of the *.Mover file.
  • Run FlyPT Mover with that file.
  • Add "SOURCE :: JOYSTICKS" and
    • click on the white field next to "Yaw position" and move the joystick axis you want to use for Yaw until it is recognized
    • do the same for "Roll position" and "Pitch position"
  • In the "POSE :: FROM MOTION" module
    • select "SOURCE :: JOYSTICKS"
    • set the "Value" for Yaw/Roll/Pitch to "Yaw/Roll/Pitch position (°)", respectively
    • set the "In gain/flip" for Yaw/Roll/Pitch to the corresponding value in the "Range" column (add a '-' sign to match the direction if necessary)
    • set the "Filter" for Yaw/Roll/Pitch to "EMALP(VALUE;500)"
  • In OpenXR-MotionCompensation.ini
      set these parameters:
      [startup]
      physical_enabled = 0
      overlay_enabled = 1
      auto_activate = 1
      auto_activate_countdown = 0
      [tracker]
      type = flypt
      offset_forward = 0
      offset_down = 0
      offset_right = 0
  • For your motion platform
    • move it to the neutral position
  • In your simulation program
    • activate motion compensation (CTRL+INS)
    • turn on the overlay (CTRL+D)
    • center the cockpit position (SPACE in MSFS 2020)
    • calibrate the virtual tracker (CTRL+DEL)
    • you should now see the overlay pointers right before your eyes
    • make a full roll to the right
    • use the keys for "offset_down" (CTRL+PGDN) and "offset_up" (CTRL+PGUP) to re-center the image
    • make a full roll to the left and correct if necessary
    • make a full yaw to the right
    • use the keys for "offset_forward" (CTRL+UP) and "offset_back" (CTRL+DOWN) to re-center the image
    • make a full yaw to the left and correct if necessary
    • make a full pitch up/down to verify correct settings
    • use the keys for "offset_left" (CTRL+LEFT) and "offset_right" (CTRL+RIGHT) to center the COR (not necessary if your seat is centered to the COR of the platform)
    • save the COR data (CTRL+SHIFT+S)
XXX

  • In the "OUTPUT :: Motion compensation for OVRMC" module
    • set the "Filter" for all DOFs to "EMALP(VALUE;150.000)"
https://discord.com/channels/1000331038138060881/1023240898387132516/1260321425231839303

Links

[1] https://github.com/BuzzteeBear/OpenXR-MotionCompensation
[2] https://www.youtube.com/watch?v=116TVKMO9p8
[3] https://www.youtube.com/watch?v=mIIlIlV-B_4