-
Notifications
You must be signed in to change notification settings - Fork 6
Bend Cast
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
Wiki
Hand Grasping
Enhanced Grasping
Volume-based Pointing
Enhanced Pointing
Symmetric Bi-manual
Asymmetric Bi-manual
Progressive refinement