Skip to content

Bend Cast

Ian edited this page Nov 2, 2018 · 11 revisions

Overview

Bend cast is the pointing version of the bubble cursor. By this it uses essentially the same algorithmic approach to distinguish between objects and the difference is how this is visualized for the user to control. The bend cast bends a vector originating from the control towards the closest object to that vector. This is essentially an enhancement of ray-casting as it is implemented as a bendy ray-cast.

Source paper(s) of the technique:

Riege, K., T. Holtkamper, G. Wesche, and B. Frohlich (2006). “The Bent Pick Ray: An Extended Pointing Technique for Multi-User Interaction.” Proceedings of the 2006 IEEE Symposium on 3D User Interfaces (3DUI ‘06), 62–65.

Cashion, J., C. Wingrave, and J. LaViola (2013). “Optimal 3D Selection Technique Assignment using Real-Time Contextual Analysis.” Proceedings of the 2013 IEEE Symposium on 3D User Interfaces (3DUI ‘13), 107–110.


Use by manually attaching

To manually attach the Bend Cast to the Camerarig VR components if the auto-attach fails for each hand:

  • Drag onto Bend Cast script:
    • Left and right VR controller onto left and right controller

Inspector parameters

For Bendcast Script:

Parameter Default Description
Interaction Layers PickableObject The layers that the technique can interact with
Set Controller Right The controller this technique is for
Interaction Type Selection When selected an object will go into a public variable for the player to use. Currently nothing happens on manipulation.
Last Selected Object None The last object selected
Currently Pointing At None The currently hovered over object
Laser Prefab Laser Representing the laser projected from remote
Selected Object() Empty Event Invoked when an object is selected
Hovered() Empty Event Invoked when an object is hovered over
UnHovered() Empty Event Invoked when an object ceases being hovered over

Test/Example scenes

Major example scene under:

  • Assets/Technique Example Scenes/Scenes/BendcastExample

Clone this wiki locally