Input primitives
The two most important capabilities of an input method are targeting and selecting. Most input forms have the ability to perform both targeting and selecting, but some are not suited to this purpose. These input methods with limited functionality require other input modality as a complementary.
Video 1: Targeting with controller and hand
Targeting refers to the process of pointing on a specific object or location in the virtual environment to interact with it. Depending on the input method and proximity to the target, various visual aids can assist the targeting process, ensuring precise and intuitive interaction. For example, when interacting with distant objects, a virtual ray - similar to a laser pointer - extends from the controller or hand, enabling users to point and target with precision.
Video 2: Selection with controller and hand
Selection indicates that the user intends to take action on a targeted object or control. The method of selection varies depending on the input modality. For instance, users can select by pressing the trigger button on a controller or by pinching their hand with hand-tracking input when interacting with objects at a distance. Additionally, similar to physical object interactions, users can directly poke the object to perform a selection action, providing a seamless and immersive experience.
Video 3: One-point manipulation example
Mirroring real-life interactions, users can grasp and manipulate objects with ease. Grabbing can be achieved by pinching with their hand or by using the trigger button on the controllers, allowing for a natural and intuitive way to interact with virtual objects. Depending on the interface type and implementation behaviors, one-point grab could be used for other actions such as rotation or scale.
Video 4: Two-point manipulation example
Two-point manipulation allows the users to use both hands or controllers to interact with virtual objects or interfaces.
- Scaling: By moving the two grabbed points closer together, the user can scale the object down. By moving them further apart, the user can scale the object up.
- Rotation: By changing the distance of the two grabbed points from the user’s body, the user can rotate the object. For example, if the user moves one hand closer to their body while keeping the other hand still, the object will rotate around the axis defined by the two grabbed points.
Video 5: Scrolling UI with hand
Similar to scrolling on 2D screen devices, users can scroll 2D content or 3D objects using various inputs. For instance, with hand tracking, users can employ a swipe gesture to scroll through content. Alternatively, they can use the controller’s trigger button to scroll by grabbing, moving, and releasing. Additionally, the thumbstick on the controller can also be used to scroll.
Video 6: Select and hold for grabbing a UI panel
Select and hold interaction refers to a type of interaction where the user taps on an object or element and holds their finger or pointer on it for a short period of time. This interaction is often used to access additional information, options, or actions related to the tapped object.
For example, the user can tap on an object with their finger and hold it there to access a context menu or additional information. Or the user can select and hold the trigger button on the controller to initiate and hold an interaction, such as dragging an object or highlighting text.
Another example of Select and Hold interaction is manipulation with hand ray, which enables users to grab and move objects. By pinching and holding, users can maintain the grabbed state and move the object to their desired location.