-
Notifications
You must be signed in to change notification settings - Fork 6
Aperture Selection
Overview
Aperture selection is a modified version of the flashlight. The core modification is instead of a cone originating from the controller it originates from the users camera/view-point. The user can then use one of their hands to control the spread/distance of the flashlight. To select from far away the user would point further away and the cone would grow in size, conversely it will get smaller if you point closer to yourself. for further disambiguation the user can control the rotation of two plates at the end of the cone to allow precise selection between objects inside of the cone.

Source paper of the technique:
Forsberg, A., K. Herndon, and R. Zeleznik (1996). Aperture Based Selection for Immersive Virtual Environments. Proceedings of the 1996 ACM Symposium on User Interface Software and Technology (UIST ‘96), ACM Press, 95–96.
Use by manually attaching
To manually attach the Aperture Selection to the Camerarig VR components if the auto-attach fails:
- Drag onto Aperture Selection script:
- Dominate controller to control aperture depth into ControllerTrackedObj
- Camera head onto Headset tracked Obj
- Drag onto Aperture Selection Selector script:
- The same dominate controller onto The Controller
- Drag the Dominate controller onto the controller in Aperature selection Controller script
Inspector parameters
For Aperture Selection Script:
| Parameter | Default | Description |
|---|---|---|
| Laser Prefab | Laser | Small laser projected from dominate hand to show its the control hand |
| Laser Container | Lasercontainer | Place to keep the laser in-game |
| Amplification of length | 4 | Amplification of how far the cone volume will reach relative to the distance from domiante controller to head |
For Aperture Selection Selector Script:
| Parameter | Default | Description |
|---|---|---|
| Interaction Layers | PickableObject | The layers that the technique can interact with |
| Interaction Type | Manipulation | When set to manipulation Aperture selection can move objects via fixed joints. When pure selection it will just send an event that it has selected and place the object into a public variable. |
| Selection | None | The currently selected object |
| Object Hovered Over | None | The object currently hovered over |
| 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/AperatureExampleScene
Wiki
Hand Grasping
Enhanced Grasping
Volume-based Pointing
Enhanced Pointing
Symmetric Bi-manual
Asymmetric Bi-manual
Progressive refinement