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:

ParameterDefaultDescription
Interaction LayersPickableObjectThe layers that the technique can interact with
Colliding ObjectNoneObject that PRISM hand is hovered over
Object In HandNoneObject that PRISM hand is currently holding
Min S0.001Minimum velocity before object wont move
Scaled Constant0.5Minimum velocity before object enters scaled mode
MaxS2Velocity at which PRISM recovers distance from scaling
Selected Object()EmptyEvent Invoked when an object is selected
Hovered()EmptyEvent Invoked when an object is hovered over
UnHovered()EmptyEvent 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