Skip to content

Fishing Reel

Ian edited this page Nov 4, 2018 · 13 revisions

Overview

The Fishing Reel technique is a pointing technique extension of Ray-Casting developed by Bowman and Hodges (1997). Much like Ray-Casting, the Fishing Reel technique uses a virtual ray which the user points at virtual objects to select them. After selection, the user is able to reel an object back and forth using an input mechanism. In our implementation, we use the HTC Vive touchpad and Oculus Rift joysticks to control the distance of the object.

Current implementation of Fishing Reel as of 3/06/2018 (NOTE: This may be modified/changed later)

Alt Text

Source paper of the technique:

Bowman, D., and L. Hodges (1997). “An Evaluation of Techniques for Grabbing and Manipulating Remote Objects in Immersive Virtual Environments.” Proceedings of the 1997 ACM Symposium on Interactive 3D Graphics (I3D ‘97), 35–38.


Use by manually attaching

To manually attach the Fishing Reel to the Camerarig VR components if the auto-attach fails:

  • Drag onto FishingReel script:
    • Left controller onto left controller
    • Right controller onto right controller

Inspector parameters

For Fishing Reel Script:

Parameter Default Description
Intractable Layer PickableObject The layers that the technique can interact with
Laser Prefab Laser Laser representing the fishing reel which is projected out of the controller
Interaction Type Selection When set to manipulation Fishing reel can move objects up and down the reel 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 this technique works with
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
Last Selected Object None The last object selected by the fishing reel
Reel speed 40 Speed objects will scroll up and down the cast fishingreel

Class methods

reelObject(GameObject obj) - Parameter obj is the object which has been selected using a simple ray-casting technique. The object will be able to be reeled back and forth based on the users touchpad input.

PickupObject(GameObject obj) - Parameter obj is the object which is intersecting the virtual ray. When pulling the trigger, the object attaches to the controller allowing the user to manipulate the object. Pulling the trigger again, will then release the object.

ShowLaser(RaycastHit hit) - RaycastHit hit is the object which is being hit by the laser. This method Generates the position and scale of the laser based on the position of the controller, and targeted object.


Test/Example scenes

FishingReelScene 1

  • A simple scene which consists of some 3D objects in a non-dense environment

Major example scene under:

  • Assets/Technique Example Scenes/FishingReelExample

Clone this wiki locally