Vive Tracker coordinate system problem in UE4

I was trying to make a mixed reality video and attached Vive Tracker to real world camera.

Like this:
247700-
I already made a blueprint that camera position and rotation are tracked by Vive motion controller and I was simply trying to switch it to the tracker. But the result was completely different.

I found out the reason is that coordinate system of motion controller is Z-up, and the tracker is Y-up. I can not understand why HTC made it this way. They say “Make mixed reality video with Vive tracker on camera” in their website but there is no documentation or tutorial.

I’ve tried many ways for fixing this problem but I couldn’t solve by myself. Please help me.

Any solution?

Actually I am struggling in understanding the reference system of Unreal Engine and how the single trackers, motion controllers or HMD are tracked.
From what I understand till now:

  • At the start of the STEAM VR Room Setup, the World Z-axis is settled upwards, the X-axis is settled in the front direction defined by the user and the Y-axis is the result of a Left-Handed Convention;
  • The tracker reference defined in the guidelines is not the same represented in the engine, by looking at the Roll Pitch and Yaw values the tracker (defined with a motion controller component) have the Z axis upwards, passing through the led light, X in front and Y result of a Left-Handed Convention;

This, however doesn’t completely correspond to the variation of Euler angles that I obtain from the movement of the tracker:

  • The Yaw is positive by rotating toward the Y-Axis (Left-Handed);
  • The Pitch and the Yaw follows a Right handed convention;

In conclusion, I am in your same situation and I am trying every channel to contact with developers from Unreal or HTC without results.
Hoping that the little knowledge i provided you could be a starting point.

Mirko

If you see incompatibilities between VR systems, then i say report this as bug. Point of XR interface in UE4 is make different VR systems to tied to single API that will behave exacly the same as much as possible (UE4 can’t help if specific VR system behaves differently in specific case and you can’t be corrected by middle software), so raport it, if they don’t consider that as a bug they usually explain why via email Report a Bug - Unreal Engine