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

LocomotionTurnerInteractor Class

Defines an IInteractor which performs locomotion turns (i.e., rotating the user in virtual space) based on input from a pair of Unity Transforms, which typically are independently positioned in the scene based on hand or body tracking.
There is no real interactable for this interactor (LocomotionTurnerInteractable is an empty type, as described in the comments on that class).
For the controller-driven counterpart to this type, see LocomotionAxisTurnerInteractor.

Fields

MidPoint : Pose
Center point where the Axis value is 0.
This point is set at the start of interaction and moved based on user movement (for example, if the user moves Origin further than DragThresold from the MidPoint.
Signature
Pose Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.MidPoint
Origin : Pose
Point of the actual origin in world space.
The offset from Origin to MidPoint indicates the Axis value.
This point is articulated independently of the interactor, but it typically represents user motion (for example, a hand's position in space).
Signature
Pose Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.Origin
ShouldHover : override bool
Implementation of IInteractor.ShouldHover; for details, please refer to the related documentation provided for that interface.
Signature
override bool Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.ShouldHover
ShouldUnhover : override bool
Implementation of IInteractor.ShouldUnhover; for details, please refer to the related documentation provided for that interface.
Signature
override bool Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.ShouldUnhover
ITrackingToWorldTransformer for moving spatial data between world space and tracking space.
This is required so that turning calculations can be performed in tracking space.
Signature
ITrackingToWorldTransformer Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.Transformer

Properties

DragThresold : float
[Get][Set]
Offset from MidPoint at which the pointer will be dragged.
The MidPoint of the turner interactor implies a "reset distance" on turn direction choice, and dragging it making it easier to choose the other direction to turn. For example, if the user begins interacting by moving their hand fifteen centimeters to the left, that will select "left" as the turn direction. Then, if the user wishes to change direction an turn right, without dragging the user will have to move more than fifteen centimeters to the right. However, if DragThreshold was 0.05 (or any number smaller than 0.15), then the user would only have to move right by that amount to change direction because the MidPoint would have been dragged after left movement exceeded the threshold.
Signature
float Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.DragThresold
WhenTurnDirectionChanged : Action< float >
Event broadcast to indicate that the axis has changed sign (i.e., the user has switched from turning left to turning right, or vice versa).
For more information, see the remarks on Value.
Signature
Action<float> Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.WhenTurnDirectionChanged

Protected Methods

Awake ()
Signature
override void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.Awake()
Returns
override void
ComputeCandidate ()
Signature
override LocomotionTurnerInteractable Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.ComputeCandidate()
DoHoverUpdate ()
Signature
override void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.DoHoverUpdate()
Returns
override void
DoSelectUpdate ()
Signature
override void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.DoSelectUpdate()
Returns
override void
HandleEnabled ()
Signature
override void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.HandleEnabled()
Returns
override void
Start ()
Signature
override void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.Start()
Returns
override void

Methods

InjectAllLocomotionTurnerInteractor ( origin , selector , stabilizationPoint , transformer )
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.InjectAllLocomotionTurnerInteractor(Transform origin, ISelector selector, Transform stabilizationPoint, ITrackingToWorldTransformer transformer)
Parameters
origin: Transform
selector: ISelector
stabilizationPoint: Transform
Returns
void
InjectOrigin ( origin )
Sets the origin transform (the point representing the user's direct input, typically a tracked hand) for a dynamically instantiated LocomotionTurnerInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.InjectOrigin(Transform origin)
Parameters
origin: Transform
Returns
void
InjectSelector ( selector )
Sets an ISelector for a dynamically instantiated LocomotionTurnerInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.InjectSelector(ISelector selector)
Parameters
selector: ISelector
Returns
void
InjectStabilizationPoint ( stabilizationPoint )
Sets the stabilization transform (the a point used in interaction calculations, typically a tracked or estimated shoulder or elbow position) for a dynamically instantiated LocomotionTurnerInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.InjectStabilizationPoint(Transform stabilizationPoint)
Parameters
stabilizationPoint: Transform
Returns
void
InjectTransformer ( transformer )
Sets an ITrackingToWorldTransformer for a dynamically instantiated LocomotionTurnerInteractor.
This method exists to support Interaction SDK's dependency injection pattern and is not needed for typical Unity Editor-based usage.
Signature
void Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.InjectTransformer(ITrackingToWorldTransformer transformer)
Parameters
Returns
void
Value ()
Axis value of the interactor, between -1 and 1 where a negative number indicates a `left turn and a positive value a right turn.
"Axis" in this context refers to an underlying conceptual IAxis1D analogous to the IAxis2D used by LocomotionAxisTurnerInteractor. While there is no actual underlying axis for LocomotionTurnerInteractors, axis-like values are calculated from the Unity transforms the interactor observes, and those values are used to make interaction decisions.
Signature
float Oculus.Interaction.Locomotion.LocomotionTurnerInteractor.Value()
Returns
float  A value between -1 and 1