Skip to content
Ian edited this page Nov 4, 2018 · 19 revisions

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).

Alt Text

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:

ParameterDefaultDescription
Intractable LayerPickableObjectThe layers that the technique can interact with
Laser PrefabLaserThe laser projected out of the cotnroller
Interaction TypeManipulation_MovementWhen 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 PickedRight_ControllerThe controller used by the technique
Selected Object()EmptyInvoked when object is selected
Dropped Object()EmptyInvoked when object is Dropped
Hovered()EmptyEvent Invoked when an object is hovered over
UnHovered()EmptyEvent Invoked when an object ceases being hovered over
Thickness0.002Thickness of the depth ray

Test/Example scenes

Major example scene under:

  • Assets/Technique Example Scenes/Scenes/DepthRayExample

Clone this wiki locally