DistanceHandGrabInteractable Class
The DistanceHandGrabInteractable allows grabbing the marked object from far away.
Internally it uses HandGrabPoses to specify not only the poses of the hands but the required gestures to perform the grab. It is recommended to reuse the same HandGrabPoses used by the HandGrabInteractable, and even select just a few so they become the default poses when distant grabbing.
The Unity Rigidbody used for collision detection.
The returned value is from the _rigidbody field, which is set from the Unity Editor.
bool ResetGrabOnGrabsUpdated[Get]
Related to GrabInteractable.ResetGrabOnGrabsUpdated; forces a release on all other grabbing interactors when grabbed by a new interactor.
Implementation of IHandGrabInteractable.Slippiness; for details, please refer to the related documentation provided for that interface.
The IMovementProvider used to move this interactable.
This value is populated during the MonoBehaviour's start-up process from the _movementProvider field, which is set from the Unity Editor. Manually specifying this value is optional; if none is provided, a MoveTowardsTargetProvider will be created during start-up for this role.
Implementation of IHandGrabInteractable.HandAlignment; for details, please refer to the related documentation provided for that interface.
Transform RelativeTo[Get]
Implementation of IRelativeToRef.RelativeTo; for details, please refer to the related documentation provided for that interface.
GrabTypeFlags SupportedGrabTypes[Get]
Implementation of IHandGrabInteractable.SupportedGrabTypes; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractable.PinchGrabRules; for details, please refer to the related documentation provided for that interface.
Implementation of IHandGrabInteractable.PalmGrabRules; for details, please refer to the related documentation provided for that interface.
Retrieves the list of HandGrabPoses which can be used to grab this interactable.
This returns the value of the _handGrabPoses field, which is typically set from the Unity Editor.
Collider[] Colliders[Get]
The list of Unity Colliders associated with this interactable.
This list is automatically populated during the MonoBehaviour's start-up process and will contain a reference to every Collider in Rigidbody's hierarchy at that time. This list is not allowed to be empty, meaning there must be at least one Collider in Rigidbody's hierarchy at the time the DistanceHandGrabInteractable first becomes active.
Implementation of IHandGrabInteractable.UsesHandPose; for details, please refer to the related documentation provided for that interface.
IMovement GenerateMovement ( in Pose from,
in Pose to )
Implementation of IHandGrabInteractable.GenerateMovement(in Pose, in Pose); for details, please refer to the related documentation provided for that interface.
void ApplyVelocities ( Vector3 linearVelocity,
Vector3 angularVelocity )
Obsolete: this was used to apply velocities from an Throw.IThrowVelocityCalculator, which is deprecated.
Velocity calculation capabilities are now a feature of Grabbable and should be controlled from there.
bool CalculateBestPose ( Pose userPose,
float handScale,
Handedness handedness,
Implementation of IHandGrabInteractable.CalculateBestPose(Pose, float, Handedness, ref HandGrabResult); for details, please refer to the related documentation provided for that interface.
void CalculateBestPose ( in Pose userPose,
in Pose offset,
Transform relativeTo,
float handScale,
Handedness handedness,
Implementation of IHandGrabInteractable.CalculateBestPose(in Pose, in Pose, Transform, float, Handedness, ref HandGrabResult); for details, please refer to the related documentation provided for that interface.
bool SupportsHandedness ( Handedness handedness )
Implementation of IHandGrabInteractable.SupportsHandedness(Handedness); for details, please refer to the related documentation provided for that interface.
void InjectAllDistanceHandGrabInteractable ( GrabTypeFlags supportedGrabTypes,
Convenience method combining InjectSupportedGrabTypes(GrabTypeFlags), InjectRigidbody(Rigidbody), InjectPinchGrabRules(GrabbingRule), and InjectPalmGrabRules(GrabbingRule).
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
void InjectOptionalPhysicsGrabbable Obsolete: adds a PhysicsGrabbable to a dynamically instantiated GameObject.
This functionality is now provided as part of Grabbable and no longer needs to be handled independently. This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
void InjectSupportedGrabTypes ( GrabTypeFlags supportedGrabTypes )
Adds a GrabTypeFlags as SupportedGrabTypes in a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
void InjectPinchGrabRules Adds a GrabbingRule as PinchGrabRules to a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a GrabbingRule as PalmGrabRules to a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Adds a Unity Rigidbody as Rigidbody to a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
void InjectOptionalHandGrabPoses Adds a list of DistanceHandGrabInteractor as HandGrabPoses to a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
void InjectOptionalMovementProvider Adds an IMovementProvider as MovementProvider to a dynamically instantiated DistanceHandGrabInteractable.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.