Class XRInteractableSnapVolume
Utility component for supporting interactors snapping and and selecting interactables. Add this component to a child GameObject of the interactable.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Assembly: solution.dll
Syntax
[AddComponentMenu("XR/XR Interactable Snap Volume", 11)]
[DefaultExecutionOrder(-99)]
[HelpURL("https://docs.unity.cn/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.XRInteractableSnapVolume.html")]
public class XRInteractableSnapVolume : MonoBehaviour
Remarks
Currently supports one collider as the snapping volume. To support multiple snap colliders for a single interactable, add multiple components with each using a different collider.
Properties
| Name | Description |
|---|---|
| disableSnapColliderWhenSelected | Automatically disable or enable the Snap Collider when the interactable is selected or deselected. |
| interactable | The runtime IXRInteractable associated with this XRInteractableSnapVolume. |
| interactableObject | The IXRInteractable associated with this XRInteractableSnapVolume serialized as a Unity Object. If not set, Unity will find it up the hierarchy. |
| interactionManager | The XRInteractionManager that this snap volume will communicate with (will find one if null). |
| snapCollider | The trigger collider to associate with the interactable when it is hit/collided. Rays will snap from this to the snapToCollider. |
| snapToCollider | (Optional) The collider that will be used to find the closest point to snap to. If this is null, then the associated IXRInteractable transform's position or this GameObject's transform position will be used as the snap point. |
Methods
| Name | Description |
|---|---|
| Awake() | See MonoBehaviour. |
| FindSnapCollider(GameObject) | This method is responsible for finding a valid Collider component available. available. The first valid collider found will be used as the snapCollider. |
| GetClosestPoint(Vector3) | Tries to get the closest point on the associated snapping collider. If snapToCollider is null, it will return the transform position of the associated interactable. If both snapToCollider and interactable are null, it will return the transform position of this GameObject. |
| GetClosestPointOfAttachTransform(IXRInteractor) | Tries to get the closest point on the associated snapping collider based on the attach transform position of the associated interactable. If snapToCollider is null, it will return the attach transform position of the associated interactable. If interactable is also null in that case, it will return the transform position of this GameObject. |
| OnDisable() | See MonoBehaviour. |
| OnEnable() | See MonoBehaviour. |
| Reset() | See MonoBehaviour. |