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

Overview

PRISM allows a user to accurately manipulate objects with high precision. After selecting an object a user can precisely move with slow hand movements which are then scaled down relatively. This scale is independent on each of the axis (x,y,z). If a user speeds up their movement the object will "catch" up to the hand with a 1 to 1 ration to it. PRISM also allows this scaling to be applied to the rotation axis to allow high precision in 6DOF.

Source paper of the technique:

S. Frees, G. Kessler and E. Kay, "PRISM interaction for enhancing control in immersive virtual environments", ACM Transactions on Computer-Human Interaction, vol. 14, no. 1, p. 2-es, 2007.


Use by manually attaching

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

  • Drag onto PRISM Movement script:
    • Relevant controller onto tracked Obj

Inspector parameters

For PRISM Script:

Parameter Default Description
Interaction Layers PickableObject The layers that the technique can interact with
Colliding Object None Object that PRISM hand is hovered over
Object In Hand None Object that PRISM hand is currently holding
Min S 0.001 Minimum velocity before object wont move
Scaled Constant 0.5 Minimum velocity before object enters scaled mode
MaxS 2 Velocity at which PRISM recovers distance from scaling
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/PRISMMovementExample

Clone this wiki locally