Problem with Quest 3 tracking mode
I have the following problem with spatial tracking on the Quest 3 headset.
I noticed that during gameplay in the project I am working on, the headset seems to switch between two tracking modes. The project is about a climbing wall that rotates, and in VR we climb on it. Because the wall rotates and moves us downward, at the same time we move the virtual world (the player) upward.
Here I noticed a problem: the wall moves at 2 cm/s, but the virtual world sometimes moves at 2 cm/s and sometimes at 20 cm/s. Depending on which tracking mode the headset switches to, the player (virtual world) is moved either correctly by 2 cm or incorrectly by 20 cm per second.
I tried monitoring various headset parameters via logcat that could indicate the headset switching to a different tracking mode, but I couldn’t find anything. I should add that the headset operates during climbing in rather uncomfortable conditions (very close to the wall), so I take into account that these are not ideal operating conditions. However, I need to find out what exactly changes in the headset (at different moments) that causes the world offset to sometimes be 10× larger than it should be.
If I were able to detect some variable that indicates switching to this second mode, I could correct the movement programmatically. Therefore, I would appreciate any suggestions as to what might be changing in the headset. I monitored the tracking origin to see if it switches between Floor and Eye, but everything looks fine there. Setting the boundary to Stationary or Roomscale also makes no difference.
I will also add that for the purposes of this project I disable Boundaries, because we climb quite high (3 m) and the headset goes outside the play area.
I would be very grateful for any suggestions on where I could look for or monitor variables that would allow me to determine the tracking mode the headset is using. The project is based on the Meta XR plugin and Hand Tracking.