I’m playing with the new Near Menu on WebXR today and I noticed something odd. When I scale this 3D GUI by like this:
manager.controlScaling = 0.5;
The mouse over effect on the panel back plate does not scale with the rest of the UI. It’s hard to describe, but the mouse over effect has adds a bit of lighting to the area around where the cursor is pointing, and this lighting is not scaled. When scaling the 3D GUI down to 0.1, the entire back plate is covered by this mouseover effect, making it difficult to see the mouse over effect on the actual controls in the menu.
I made a playground here. Adjust the control scaling property on the manager (lines 33-35) and use a mouse to see the effect that I’m talking about.
Note: the same thing happens when using
useRealisticScaling instead of
Yeah, I see what you mean. The hover effect should resize together with the component resize factor.
I can honestly say that I am not sure what the right behavior is. On one side, I agree with you that the hover effect should scale down as well. On the other hand, if it is scaled down too much, you will not be able to see it anymore (especially in XR scenarios). I agree that when scaled down you can’t 100% see where your mouse is, but it feels like a component this size is not usable at all. and at 50% size, the hover effect is still recognizable.
I am still thinking what the best course of action here.
I think looking at in the Playground may give you a false sense of scale. When scaled to 10%, the near menu becomes usable. The default size at a scale of one is HUGE, taking the entire field of view while being less than 10 CM from the user’s face… not ideal. At this scale though, the hover effect covers the entire back plate, making it hard to see the hover effect on the buttons.
Here is a screenshot I just took in the Quest browser, with a controller next to it for scale.
Edit: Here is another screenshot with the other controller trigging the hover effect/
No, i totally get what you are saying. I created a 0.1 scaled playground to test with.
Notice that there is a pointer poisition on the menu when you hover over it. It is also scaled down and it perfectly shows why I am not sure scaling down the hover (with the same factor) is right. Or not the most optimal solution.
I’ll talk to the people who implemented the near menu and see if they thought about this issue and if they have a good universal solution