API reference

HandGrabUseInteractor Class

This interactor allows sending use-strength values to an interactable to create use interactions.
e.g. Pressing a trigger, squeezing a ball, etc. In order to calculate the usage strength of a finger it uses a IFingerUseAPI. This class is also an IHandGrabState, so it can be attached to a SyntheticHand to drive the fingers rotations, it will lerp between the RelaxedHandGrabPose and TightHandGrabPose provided by the interactable depending on the progress of the action.

Properties

IHand Hand[Get]
IFingerUseAPI UseAPI[Get]
HandGrabTarget HandGrabTarget[Get]
bool IsGrabbing[Get]
float WristStrength[Get]
float FingersStrength[Get]
Pose WristToGrabPoseOffset[Get]
Action< IHandGrabState > WhenHandGrabStarted[Get]
Action< IHandGrabState > WhenHandGrabEnded[Get]

Protected Functions

virtual override bool ComputeShouldSelect ( )
virtual override bool ComputeShouldUnselect ( )
virtual override void Awake ( )
virtual override void Start ( )
override void InteractableSelected
( HandGrabUseInteractable interactable )
override void InteractableUnselected
( HandGrabUseInteractable interactable )
virtual override void DoHoverUpdate ( )
virtual override void DoSelectUpdate ( )
virtual override HandGrabUseInteractable ComputeCandidate ( )

Member Functions

HandFingerFlags GrabbingFingers ( )
Returns the fingers that are currently grabbing.
void InjectAllHandGrabUseInteractor
( IFingerUseAPI useApi )
Adds all required scripts for a <cref="HandGrabUseInteractor" /> to a dynamically instantiated GameObject.
void InjectUseApi
( IFingerUseAPI useApi )
Adds an <cref="IFingerUseAPI" /> to a dynamically instantiated GameObject.
void InjectOptionalHand
( IHand hand )
Adds an <cref="IHand" /> to a dynamically instantiated GameObject.