No gaze tracker mesh when using VRExperienceHelper (Chrome/Android)

Hi all (including @trevordev ). I’m having a hard time using VRExperienceHelper on my phone (Android/Chrome, though the same problem may exist on iPhones per my preliminary tests). It’s especially strange because I think I did have this working in the past.

When I use VRExperienceHelper and enter VR (i.e., “Google Cardboard”) mode, I see no gazeTrackerMesh at the location where I’m staring. And the position of the mesh (vrHelper.gazeTrackerMesh.absolutePosition) is always set to the origin.

And yet when I do the same in Oculus Go, a mesh does appear where the hand controller is pointing.

Here’s a playground illustrating the problem:

https://playground.babylonjs.com/#5GJ3NT#9

To reproduce my issue, just visit that playground on an Android using Google Chrome, click on the goggles icon to enter VR mode, and wait for an alert (every 10 seconds) that reports the location of the gazeTrackerSphere.

Thanks in advance for all your help.

Pinging our VR master @RaananW

Howdy!

Since there are no controllers to track, the camera falls back to gaze tracking using the camera’s direction. But there is a catch - pointer lock has to be enabled in order for the position to be updated!
So, the way to update the gaze position with no pointer lock is this:
https://playground.babylonjs.com/debug.html#5GJ3NT#12
Notice row 44.

A small thing about your scene - when you add interval, it is not cleared when you run the scene again. so if you run this scene 10 times you will have 10 running intervals,m driving you crazy :slight_smile:
The simplest solution is to clear the interval when the scene is disposed (see the last few lines in the demo).

I hope this helps!

2 Likes

Thanks, @RaananW ! That worked great. Thanks too for fixing my interval problem. :slight_smile: All the best.

1 Like