API reference
API reference
Select your platform
No SDKs available
No versions available

DistanceHandGrabInteractor Class

DistanceHandGrabInteractor lets you grab interactables at a distance with hands.
It operates with HandGrabPoses to specify the final pose of the hand and manipulate the objects via IMovements in order to attract them, use them at a distance, etc. The DistanceHandGrabInteractor uses DistantCandidateComputer<TInteractor, TInteractable> to detect far-away interactables.

Properties

Implementation of IHandGrabInteractor.Hand; for details, please refer to the related documentation provided for that interface.
Obsolete: this was used to get and set the interactor's IThrowVelocityCalculator, which is deprecated.
Velocity calculation capabilities are now a feature of Grabbable and should be controlled from there.
The IMovement generated as a result of interacting with an interactable.
This is created by the interactable's DistanceHandGrabInteractable.MovementProvider.
Indicates whether or not the current Movement has finished.
The HandGrabTarget used by this interactor when grabbing.
The point in space from which the interactor is considered to have "hit" its current interactable.
This is conceptually similar to RayInteractor.CollisionInfo, though the it is not the result of a simple raycast and instead results from calculations in the DistantCandidateComputer<TInteractor, TInteractable>.
Implementation of IHandGrabState.FingersStrength; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabState.WristStrength; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabState.WristToGrabPoseOffset; for details, please refer to the related documentation provided for that interface.

Fields

Implementation of IHandGrabInteractor.WristPoint; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractor.PinchPoint; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractor.PalmPoint; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractor.HandGrabApi; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractor.SupportedGrabTypes; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractor.TargetInteractable; for details, please refer to the related documentation provided for that interface.
Retrieves the pose (position and orientation) from which distance grabbing is calculated.
This value comes from the DistantCandidateComputer<TInteractor, TInteractable>, but conceptually it is a point relative to the hand around which it feels natural for the hand to grab.
Retrieves the current interactable (null if this interactor isn't interacting with anything) as an IRelativeToRef.
This is primarily used for visualizations.
Implementation of IHandGrabState.IsGrabbing; for details, please refer to the related documentation provided for that interface.

Member Functions

Implementation of IHandGrabState.GrabbingFingers; for details, please refer to the related documentation provided for that interface.
Overrides Interactor<TInteractor, TInteractable>.CanSelect(TInteractable), augmenting the behavior of that base method with an additional call to HandGrabInteraction.CanInteractWith(IHandGrabInteractor, IHandGrabInteractable), which confirms the presence of hand-specific requirements for valid hand interaction.
Parameters
interactable
The interactable
Returns
True if it is possible for this interactable to select interactable , false otherwise
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a HandGrabAPI to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a DistantCandidateComputer to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds an IHand to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a list of supported grabs to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a grab origin to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a grip point to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a pinch point to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Obsolete: adds a IThrowVelocityCalculator to a dynamically instantiated GameObject.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage. Velocity calculation is now a feature of Grabbable and is no longer required by DistanceHandGrabInteractor.

Protected Functions

virtual void Reset ( )
override void Awake ( )
override void Start ( )
override void DoHoverUpdate ( )
override void InteractableSet
( DistanceHandGrabInteractable interactable )
override void InteractableUnset
( DistanceHandGrabInteractable interactable )
override void DoSelectUpdate ( )
override void InteractableSelected
( DistanceHandGrabInteractable interactable )
override void InteractableUnselected
( DistanceHandGrabInteractable interactable )
virtual override void HandlePointerEventRaised
( PointerEvent evt )
virtual override Pose ComputePointerPose ( )
override bool ComputeShouldSelect ( )
override bool ComputeShouldUnselect ( )
override DistanceHandGrabInteractable ComputeCandidate ( )
Did you find this page helpful?
Thumbs up icon
Thumbs down icon