Skip to content

Double Bubble

Ian edited this page Nov 2, 2018 · 11 revisions

Overview

The Double Bubble is an extension of the 3D Bubble Cursor but can instead select multiple objects at once with the bubble. After selection, a 2D bubble cursor menu pops up which allows you to select the individual object that you want.

Alt Text

Source paper of the technique:

Bacim, F. (2015). “Increasing Selection Accuracy and Speed through Progressive Refinement.” Doctoral dissertation, Virginia Polytechnic Institute and State University.


Use by manually attaching

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

  • Drag onto Bubble Cursor 3D script:
    • Left and Right VR Controllers onto Left and Right Controller
    • Camera eye onto the camera head

Inspector parameters

For Bubble Cursor 3D Script:

Parameter Default Description
Intractable Layer PickableObject The layers that the technique can interact with
Interaction Type Selection When set to manipulation after selection of the object via the 2D menu Bubble Cursor 3D 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 this technique
Cursor speed 20 Speed that cursors depth moves

For Selectable Objects Script:

Parameter Default Description
Radius bubble RadiusBubble2D The 2D Radius bubble for the 2D menu

For Bubble Selection Script:

Parameter Default Description
Intractable Layer PickableObject The layers that the technique can interact with
Currently Hovering None The object 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

Test/Example scenes Major example scene under:

  • Assets/Technique Example Scenes/Scenes/DoubleBubbleExample

Clone this wiki locally