Download

SteamVR tracks exact location of motion controllers instead of hands

Hi there,
I’m having an issue where SteamVR is tracking the position of the vr motion controllers instead of the position of my hands (I’m using an Oculus Rift S). When I enable the oculus plugin for unreal engine my hand meshes track properly; they correspond to my hands in real life. However, when using SteamVR, and when using an HTC Vive, my hand meshes seem to be rotated and instead correspond to the exact location of the motion controllers. When my hands are pointing forward, my in-game hand meshes point to the sky, because the motion controllers are being held upright. Is this a common occurrence? Any help is greatly appreciated.

Yes, SteamVR and OculusVR use a different vector for the controller orientation, making it the most annoying axis inconsistency since the introduction of DirectX. Oculus points forward along the controller axis, whereas SteamVR points along the direction of your physical hand. OpenXR addresses this by having a common standard, allowing you to properly use all controller types and get a single, correct palm transform. If you can’t use OpenXR yet, you have to cope with this issue by manually fixing up the transforms based on your runtime. I believe that the VR Expansion plugin might have components for this, but I’m not entirely sure.