Skip to content
Ian edited this page Nov 4, 2018 · 12 revisions

Overview

On each update hook detects the distance between all select-able objects and the controller. It keeps an ordered list of the select-able objects ranked by a scoring system. Based on this the closest objects will gain score while everything else will lose points. By doing this a user can follow a moving object with the controller and differentiate the object that they want to select by its velocity/movement. How this score is calculated is listed below in the method documentation.

Source paper of the technique:

Ortega, M. (2013). “Hook: Heuristics for Selecting 3D Moving Objects in Dense Target Environments.” Proceedings of the 2013 IEEE Symposium on 3D User Interfaces (3DUI), 119–122.


Use by manually attaching

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

  • Drag onto Hook script:
    • Relevant Controller onto Tracked Obj

Inspector parameters

For Hook Script:

Parameter Default Description
Interaction Layers PickableObject The layers that the technique can interact with
Interaction Type Manipulation When set to manipulation object will jump into hook hand attached via a fixed joint, selection will add the object to an public Variable
Selection None The publicly accessible variable showing which object is selected.
Check For Newly Spawned True When enabled any new objects spawned into the scene will be added to the hooks tracking list
Currently Hovered None Object that will be selected by hook if trigger pressed
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/HookExample

Clone this wiki locally