WebXR - Problem with actionManager / OnPointerOverTrigger with the right Oculus Touch

Hi @RaananW

I feel like there’s a problem with OnPointerOverTrigger and the right Oculus Touch.
When its pointer touches the play button, it does not change state (here color change).
It’s good with the left Oculus Touch pointer.

Here’s the code:

Video showing the problem:

Thank you in advance again for your feedback

Hey @Cstfan,

both controllers are constructed using the same code. The handedness is actually a very irrelevant property for babylon.js . What is possible is that there is some form of a pointer-id-war between the two controllers, and the left (which might be constructed first) is winning constantly.

Want to reproduce this on the playground?

Yes I make you a playground as fast as I can

1 Like

Here it is : https://playground.babylonjs.com/#QK55KF#2

So, just as I feared - The problem is that when pointer over is triggered, we are checking if the pointer is out right after to trigger the function, but we seem to avoid the pointer id, so - right hand is over, and right after the left hand is out.

Let me check a few things and see how we can fix it.

It will, of course, work if you attach it to the pointer move event (not using the action manager), but this is just a workaround and not a solution.

Issue and PR submitted.

Once merged, you will be able to check it with this - https://playground.babylonjs.com/#QK55KF#3

Notice the added line 40 which now also gives you the pointer id used to trigger this event. The collision between the pointers was also fixed:

1 Like

Hi @RaananW,

I just tested on the playground and on my application, it works now, it’s perfect :+1:t2:. oh top the point id, thanks for this correction made very quickly :muscle:t2:.

2 Likes