-
Notifications
You must be signed in to change notification settings - Fork 6
3D Bubble Cursor
Overview
The 3D Bubble Cursor is a re-designed version of the bubble cursor by Vanacken et al (2007) it was extended from the 2D Bubble Cursor which was originally developed by Grossman and Balakrishnan (2005). The 3D Bubble Cursor is a single-target selection technique which consists of a spherical semitransparent sphere which dynamically changes it's radius always to encapsulate the nearest virtual object. When the virtual object is not fully encapsulated in the radius, an additional semitransparent sphere appears around the nearest virtual object.
Current implementation of 3D Bubble Cursor as of 3/06/2018 (NOTE: This may be modified/changed later)
Source paper of the technique:
Original Bubble Cursor
T. Grossman, R. Balakrishnan. [2005] The bubble cursor: enhancing target acquisition by dynamic resizing of the cursor's activation area
Use by manually attaching
To manually attach the 3D Bubble Cursor to the Camerarig VR components if the auto-attach fails:
- Drag onto Bubble Cursor script:
- Controller right onto controller right
- Controller left onto controller left
- Camera eye onto camera head
Inspector parameters
For Bubble Cursor Script:
| Parameter | Default | Description |
|---|---|---|
| Intractable Layer | PickableObject | The layers that the technique can interact with |
| Interaction Type | Selection | When set to manipulation 3D Bubble Cursor 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. |
| Currently Hovering | None | Object that the bubble is currently encapsulating |
| 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 |
| Cursor speed | 20 | Speed that cursors depth moves |
Test/Example scenes
A 2D mouse-only version of the bubble cursor implementation which I made as a prototype before implementing the 3D Bubble Cursor in VR.
- 3D Bubble Cursor/Scenes/2DBubbleCursorMouseOnly
y 3D implementation of the bubble cursor, the scene consists of some basic objects simulating a non-dense environment.
- 3D Bubble Cursor/Scenes/3DBubbleCursorTestScene1
My 3D implementation of the bubble cursor, similar to 3DBubbleCursorTestScene1 the scene consists of some basic objects but instead simulates a more dense environment.
- 3D Bubble Cursor/Scenes/3DBubbleCursorTestScene2
Major example scene under:
- Assets/Technique Example Scenes/Scenes/BubbleExample
Wiki
Hand Grasping
Enhanced Grasping
Volume-based Pointing
Enhanced Pointing
Symmetric Bi-manual
Asymmetric Bi-manual
Progressive refinement
