-
Notifications
You must be signed in to change notification settings - Fork 6
Depth Ray
Overview
The Depth Ray designed by Grossman and Balakrishnan 2006; Vanacken et al. 2007 is a 3D pointer enhancement which consists of a depth marker (In our implementation we've chosen this to be a 3D black cube) that is able to determine the closest object when multiple objects are intersected by the pointing vector. The user is able to determine the position of the depth marker based on their finger position on the HTC Vive touch-pad or (Oculus Rift joystick - not currently implemented Oculus support yet though).
Source paper of the technique:
Grossman, T., and R. Balakrishnan (2006). “The Design and Evaluation of Selection Techniques for 3D Volumetric Displays.” Proceedings of the 19th Annual ACM Symposium on User Interface Software and Technology (UIST ‘06), 3–12.
Vanacken, L., T. Grossman, and K. Coninx (2007). Exploring the effects of environment density and target visibility on object selection in 3D virtual environments. Proceedings of the 2007 IEEE Symposium on 3D User Interfaces (3DUI ‘07), IEEE, 117–124.
Use by manually attaching
To manually attach the Depth Ray to the Camerarig VR components if the auto-attach fails:
- Drag onto Depth Ray script:
- left and right VR controllers onto left and right controller
Inspector parameters
For Depth Ray Script:
| Parameter | Default | Description |
|---|---|---|
| Intractable Layer | PickableObject | The layers that the technique can interact with |
| Laser Prefab | Laser | The laser projected out of the cotnroller |
| Interaction Type | Manipulation_Movement | When set to manipulation Depth Ray can move objects via parenting. When pure selection it will just send an event that it has selected and place the object into a public variable. |
| Controller Picked | Right_Controller | The controller used by the technique |
| Selected Object() | Empty | Invoked when object is selected |
| Dropped Object() | Empty | Invoked when object is Dropped |
| Hovered() | Empty | Event Invoked when an object is hovered over |
| UnHovered() | Empty | Event Invoked when an object ceases being hovered over |
| Thickness | 0.002 | Thickness of the depth ray |
Test/Example scenes
Major example scene under:
- Assets/Technique Example Scenes/Scenes/DepthRayExample
Wiki
Hand Grasping
Enhanced Grasping
Volume-based Pointing
Enhanced Pointing
Symmetric Bi-manual
Asymmetric Bi-manual
Progressive refinement
