Class ARBaseGestureInteractable
Base class that manipulates an object via a gesture.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit.AR
Syntax
public abstract class ARBaseGestureInteractable : XRBaseInteractable, IXRActivateInteractable, IXRHoverInteractable, IXRSelectInteractable, IXRInteractable
Properties
arSessionOrigin
The ARSessionOrigin that this Interactable will use (such as to get the Camera or to transform from Session space). Will find one if null.
Declaration
[Obsolete("arSessionOrigin is marked for deprecation and will be removed in a future version. Please use xrOrigin instead.")]
public ARSessionOrigin arSessionOrigin { get; set; }
Property Value
| Type | Description |
|---|---|
| ARSessionOrigin |
gestureInteractor
The ARGestureInteractor that this Interactable listens to for gestures when connected.
Declaration
protected ARGestureInteractor gestureInteractor { get; }
Property Value
| Type | Description |
|---|---|
| ARGestureInteractor |
See Also
xrOrigin
The XROrigin that this Interactable will use (such as to get the Camera or to transform from Session space). Will find one if null.
Declaration
public XROrigin xrOrigin { get; set; }
Property Value
| Type | Description |
|---|---|
| XROrigin |
Methods
Awake()
See MonoBehaviour.
Declaration
protected override void Awake()
Overrides
CanStartManipulationForGesture(DragGesture)
Determines if the manipulation can start for the given gesture.
Declaration
protected virtual bool CanStartManipulationForGesture(DragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| DragGesture | gesture | The current gesture. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if the manipulation can start. Otherwise, returns false. |
CanStartManipulationForGesture(PinchGesture)
Determines if the manipulation can start for the given gesture.
Declaration
protected virtual bool CanStartManipulationForGesture(PinchGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| PinchGesture | gesture | The current gesture. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if the manipulation can start. Otherwise, returns false. |
CanStartManipulationForGesture(TapGesture)
Determines if the manipulation can start for the given gesture.
Declaration
protected virtual bool CanStartManipulationForGesture(TapGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TapGesture | gesture | The current gesture. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if the manipulation can start. Otherwise, returns false. |
CanStartManipulationForGesture(TwistGesture)
Determines if the manipulation can start for the given gesture.
Declaration
protected virtual bool CanStartManipulationForGesture(TwistGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwistGesture | gesture | The current gesture. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if the manipulation can start. Otherwise, returns false. |
CanStartManipulationForGesture(TwoFingerDragGesture)
Determines if the manipulation can start for the given gesture.
Declaration
protected virtual bool CanStartManipulationForGesture(TwoFingerDragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwoFingerDragGesture | gesture | The current gesture. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if the manipulation can start. Otherwise, returns false. |
ConnectGestureInteractor()
Connect an ARGestureInteractor's gestures to this interactable.
Declaration
protected virtual void ConnectGestureInteractor()
DisconnectGestureInteractor()
Disconnect an ARGestureInteractor's gestures from this interactable.
Declaration
protected virtual void DisconnectGestureInteractor()
IsGameObjectSelected()
Determines if the ARGestureInteractor is selecting the GameObject this Interactable is attached to.
Declaration
protected virtual bool IsGameObjectSelected()
Returns
| Type | Description |
|---|---|
| Boolean | Returns |
IsHoverableBy(IXRHoverInteractor)
Determines if a given Interactor can hover over this Interactable.
Declaration
public override bool IsHoverableBy(IXRHoverInteractor interactor)
Parameters
| Type | Name | Description |
|---|---|---|
| IXRHoverInteractor | interactor | Interactor to check for a valid hover state with. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if hovering is valid this frame. Returns false if not. |
Overrides
See Also
IsHoverableBy(XRBaseInteractor)
(Deprecated) Determines if this interactable can be hovered by a given interactor.
Declaration
[Obsolete("IsHoverableBy(XRBaseInteractor) has been deprecated. Use IsHoverableBy(IXRHoverInteractor) instead.")]
public override bool IsHoverableBy(XRBaseInteractor interactor)
Parameters
| Type | Name | Description |
|---|---|---|
| XRBaseInteractor | interactor | Interactor to check for a valid hover state with. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if hovering is valid this frame. Returns false if not. |
Overrides
Remarks
IsHoverableBy(XRBaseInteractor) has been deprecated. Use IsHoverableBy(IXRHoverInteractor) instead.
See Also
IsSelectableBy(IXRSelectInteractor)
Determines if a given Interactor can select this Interactable.
Declaration
public override bool IsSelectableBy(IXRSelectInteractor interactor)
Parameters
| Type | Name | Description |
|---|---|---|
| IXRSelectInteractor | interactor | Interactor to check for a valid selection with. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if selection is valid this frame. Returns false if not. |
Overrides
See Also
IsSelectableBy(XRBaseInteractor)
(Deprecated) Determines if a given Interactor can select this Interactable.
Declaration
[Obsolete("IsSelectableBy(XRBaseInteractor) has been deprecated. Use IsSelectableBy(IXRSelectInteractor) instead.")]
public override bool IsSelectableBy(XRBaseInteractor interactor)
Parameters
| Type | Name | Description |
|---|---|---|
| XRBaseInteractor | interactor | Interactor to check for a valid selection with. |
Returns
| Type | Description |
|---|---|
| Boolean | Returns true if selection is valid this frame. Returns false if not. |
Overrides
Remarks
IsSelectableBy(XRBaseInteractor) has been deprecated. Use IsSelectableBy(IXRSelectInteractor) instead.
See Also
OnContinueManipulation(DragGesture)
Unity calls this method automatically when the manipulation continues.
Declaration
protected virtual void OnContinueManipulation(DragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| DragGesture | gesture | The current gesture. |
See Also
OnContinueManipulation(PinchGesture)
Unity calls this method automatically when the manipulation continues.
Declaration
protected virtual void OnContinueManipulation(PinchGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| PinchGesture | gesture | The current gesture. |
See Also
OnContinueManipulation(TapGesture)
Unity calls this method automatically when the manipulation continues.
Declaration
protected virtual void OnContinueManipulation(TapGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TapGesture | gesture | The current gesture. |
See Also
OnContinueManipulation(TwistGesture)
Unity calls this method automatically when the manipulation continues.
Declaration
protected virtual void OnContinueManipulation(TwistGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwistGesture | gesture | The current gesture. |
See Also
OnContinueManipulation(TwoFingerDragGesture)
Unity calls this method automatically when the manipulation continues.
Declaration
protected virtual void OnContinueManipulation(TwoFingerDragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwoFingerDragGesture | gesture | The current gesture. |
See Also
OnEnable()
See MonoBehaviour.
Declaration
protected override void OnEnable()
Overrides
OnEndManipulation(DragGesture)
Unity calls this method automatically when the manipulation ends.
Declaration
protected virtual void OnEndManipulation(DragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| DragGesture | gesture | The current gesture. |
See Also
OnEndManipulation(PinchGesture)
Unity calls this method automatically when the manipulation ends.
Declaration
protected virtual void OnEndManipulation(PinchGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| PinchGesture | gesture | The current gesture. |
See Also
OnEndManipulation(TapGesture)
Unity calls this method automatically when the manipulation ends.
Declaration
protected virtual void OnEndManipulation(TapGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TapGesture | gesture | The current gesture. |
See Also
OnEndManipulation(TwistGesture)
Unity calls this method automatically when the manipulation ends.
Declaration
protected virtual void OnEndManipulation(TwistGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwistGesture | gesture | The current gesture. |
See Also
OnEndManipulation(TwoFingerDragGesture)
Unity calls this method automatically when the manipulation ends.
Declaration
protected virtual void OnEndManipulation(TwoFingerDragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwoFingerDragGesture | gesture | The current gesture. |
See Also
OnRegistered(InteractableRegisteredEventArgs)
The XRInteractionManager calls this method when this Interactable is registered with it.
Declaration
protected override void OnRegistered(InteractableRegisteredEventArgs args)
Parameters
| Type | Name | Description |
|---|---|---|
| InteractableRegisteredEventArgs | args | Event data containing the Interaction Manager that registered this Interactable. |
Overrides
Remarks
args is only valid during this method call, do not hold a reference to it.
See Also
OnStartManipulation(DragGesture)
Unity calls this method automatically when the manipulation starts.
Declaration
protected virtual void OnStartManipulation(DragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| DragGesture | gesture | The current gesture. |
See Also
OnStartManipulation(PinchGesture)
Unity calls this method automatically when the manipulation starts.
Declaration
protected virtual void OnStartManipulation(PinchGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| PinchGesture | gesture | The current gesture. |
See Also
OnStartManipulation(TapGesture)
Unity calls this method automatically when the manipulation starts.
Declaration
protected virtual void OnStartManipulation(TapGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TapGesture | gesture | The current gesture. |
See Also
OnStartManipulation(TwistGesture)
Unity calls this method automatically when the manipulation starts.
Declaration
protected virtual void OnStartManipulation(TwistGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwistGesture | gesture | The current gesture. |
See Also
OnStartManipulation(TwoFingerDragGesture)
Unity calls this method automatically when the manipulation starts.
Declaration
protected virtual void OnStartManipulation(TwoFingerDragGesture gesture)
Parameters
| Type | Name | Description |
|---|---|---|
| TwoFingerDragGesture | gesture | The current gesture. |
See Also
OnUnregistered(InteractableUnregisteredEventArgs)
The XRInteractionManager calls this method when this Interactable is unregistered from it.
Declaration
protected override void OnUnregistered(InteractableUnregisteredEventArgs args)
Parameters
| Type | Name | Description |
|---|---|---|
| InteractableUnregisteredEventArgs | args | Event data containing the Interaction Manager that unregistered this Interactable. |
Overrides
Remarks
args is only valid during this method call, do not hold a reference to it.
See Also
Reset()
See MonoBehaviour.
Declaration
protected override void Reset()