GodotVR / godot-xr-tools

Support scenes for AR and VR in Godot
MIT License
504 stars 74 forks source link

Feature request: quick context sensitive user interface menu #625

Open goatchurchprime opened 6 months ago

goatchurchprime commented 6 months ago

At the moment the FunctionPointer feature is really only useful for interacting with Viewport2Din3D user interface panels.

But it's quite a long winded process to set up these panels if all you're trying to to do is set up quick actions on particular objects (or to the scene) from within the VR.

The proposal is for a new Function node that goes under the FunctionPointer node that calls get_context_menu_list() on the target object of the laser (if it exists) and generates this quick radial menu of Text3D nodes around the function pointer when you hold down an Action button. It then emits a signal if you release the Action button while highlighting/pointing at one of the context menu items.

This is similar to the feature in FunctionPickup where if you click the trigger when you are holding an object it calls its action() function, if it exists, except it works at a distance and you get have more options.

image

User interfaces are hard to design in VR. This would provide an immediate general purpose starting point for people to expose the features they need for testing before making longer term design decisions about using wrist panels or controller button combinations.