SpherePointer Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
public ref class SpherePointer : Microsoft::MixedReality::Toolkit::Input::BaseControllerPointer, Microsoft::MixedReality::Toolkit::Input::IMixedRealityNearPointer, System::Collections::IEqualityComparer
[UnityEngine.AddComponentMenu("Scripts/MRTK/SDK/SpherePointer")]
public class SpherePointer : Microsoft.MixedReality.Toolkit.Input.BaseControllerPointer, Microsoft.MixedReality.Toolkit.Input.IMixedRealityNearPointer, System.Collections.IEqualityComparer
[<UnityEngine.AddComponentMenu("Scripts/MRTK/SDK/SpherePointer")>]
type SpherePointer = class
inherit BaseControllerPointer
interface IMixedRealityNearPointer
interface IMixedRealityPointer
interface IEqualityComparer
Public Class SpherePointer
Inherits BaseControllerPointer
Implements IEqualityComparer, IMixedRealityNearPointer
- Inheritance
-
UnityEngine.MonoBehaviourSpherePointer
- Attributes
-
UnityEngine.AddComponentMenuAttribute
- Implements
Constructors
SpherePointer() |
Fields
grabAction | (Inherited from BaseControllerPointer) |
HasSelectPressedOnce |
True if select has been pressed once since this component was enabled (Inherited from BaseControllerPointer) |
IsGrabPressed |
True if grab is pressed right now (Inherited from BaseControllerPointer) |
IsHoldPressed | (Inherited from BaseControllerPointer) |
IsSelectPressed |
True if select is pressed right now (Inherited from BaseControllerPointer) |
pointerAction | (Inherited from BaseControllerPointer) |
raycastOrigin | (Inherited from BaseControllerPointer) |
TrackingState |
The current tracking state of the assigned IMixedRealityController (Inherited from ControllerPoseSynchronizer) |
triggerInteraction |
Properties
BaseCursor |
The pointer's cursor. (Inherited from BaseControllerPointer) |
Controller |
The pointer's current controller reference. (Inherited from BaseControllerPointer) |
CursorModifier |
The currently active cursor modifier. (Inherited from BaseControllerPointer) |
DefaultPointerExtent |
The length of the pointer when nothing is hit. (Inherited from BaseControllerPointer) |
DestroyOnSourceLost |
Should this GameObject clean itself up when its controller is lost? (Inherited from ControllerPoseSynchronizer) |
DisableCursorOnStart | (Inherited from BaseControllerPointer) |
FocusTarget |
The currently focused target. (Inherited from BaseControllerPointer) |
GrabLayerMasks |
Obsolete.
The LayerMasks, in prioritized order, that are used to determine the touchable objects. |
Handedness |
The controller handedness this component is synchronized with. (Inherited from ControllerPoseSynchronizer) |
IgnoreCollidersNotInFOV |
Whether to ignore colliders that may be near the pointer, but not actually in the visual FOV. This can prevent accidental grabs, and will allow hand rays to turn on when you may be near a grabbable but cannot see it. Visual FOV is defined by cone centered about display center, radius equal to half display height. |
InputSourceParent |
Obsolete.
This pointer's input source parent. (Inherited from BaseControllerPointer) |
IsActive |
Controls whether the pointer dispatches input. (Inherited from BaseControllerPointer) |
IsFocusLocked |
Is the focus for this pointer currently locked? (Inherited from BaseControllerPointer) |
IsInteractionEnabled |
Test if the pointer is within the grabbable radius of collider that's both on a grabbable layer mask, and has a NearInteractionGrabbable. Uses SphereCastRadius to determine if near an object. Note: if focus on pointer is locked, will always return true. |
IsNearObject |
Test if the pointer is near any collider that's both on a grabbable layer mask, and has a NearInteractionGrabbable. Uses SphereCastRadius + NearObjectMargin to determine if near an object within the sector angle Also returns true of any grabbable objects are within SphereCastRadius even if they aren't within the sector angle Ignores bounds handlers for the IsNearObject check. |
IsTargetPositionLockedOnFocusLock |
Specifies whether the pointer's target position (cursor) is locked to the target object when focus is locked. Most pointers want the cursor to "stick" to the object when manipulating, so set this to true by default. (Inherited from BaseControllerPointer) |
IsTracked |
Is the controller this Synchronizer is registered to currently tracked? (Inherited from ControllerPoseSynchronizer) |
NearObjectAxisLerp |
Lerp factor between the palm direction and the index finger direction used to build the cone direction. |
NearObjectMargin |
Additional distance on top ofSphereCastRadius when pointer is considered 'near' an object and far interaction will turn off. |
NearObjectRadius |
Distance at which the pointer is considered "near" an object. |
NearObjectSectorAngle |
Angle range of the forward axis to query in degrees. Angle >= 360 means the entire sphere is queried. |
NearObjectSmoothingFactor |
Smoothing factor for query detection. If an object is detected in the NearObjectRadius, the queried radius then becomes NearObjectRadius * (1 + nearObjectSmoothingFactor) to reduce the sensitivity. |
PointerExtent |
Maximum distance at which all pointers can collide with a GameObject, unless it has an override extent. (Inherited from BaseControllerPointer) |
PointerId |
This pointer's id. (Inherited from BaseControllerPointer) |
PointerName |
This pointer's name. (Inherited from BaseControllerPointer) |
PoseAction |
The input action that will drive the Transform's pose, position, or rotation. (Inherited from ControllerPoseSynchronizer) |
Position |
Pointer position. (Inherited from BaseControllerPointer) |
PrioritizedLayerMasksOverride |
The physics layers to use when performing scene queries. |
PrioritizedLayerMasksOverride |
The physics layers to use when performing scene queries. (Inherited from BaseControllerPointer) |
PullbackDistance |
Amount to pull back the center of the sphere behind the hand for detecting when to turn off far interaction. |
Rays |
The scene query rays. (Inherited from BaseControllerPointer) |
RayStabilizer |
Ray stabilizer used when calculating position of pointer end point. (Inherited from BaseControllerPointer) |
Result |
The scene query pointer result. (Inherited from BaseControllerPointer) |
Rotation |
Pointer rotation. (Inherited from BaseControllerPointer) |
SceneQueryBufferSize |
Maximum number of colliders that can be detected in a scene query. |
SceneQueryType |
The type of physics scene query to use. |
SphereCastRadius |
The radius to use when SceneQueryType is set to Sphere or SphereColliders. (Inherited from BaseControllerPointer) |
TriggerInteraction |
Specify whether queries for grabbable objects hit triggers. |
UseSourcePoseAsFallback |
Should the Transform's position use the source pose by default until the input handler events are received? (Inherited from ControllerPoseSynchronizer) |
UseSourcePoseData |
Should the Transform's position be driven from the source pose or from input handler? (Inherited from ControllerPoseSynchronizer) |
Methods
EnsureInputSystemValid() |
A task that will only complete when the input system has in a valid state. (Inherited from InputSystemGlobalHandlerListener) |
Equals(Object) | (Inherited from BaseControllerPointer) |
GetHashCode() | (Inherited from BaseControllerPointer) |
InputEventDataUsable<T>(InputEventData<T>) |
Helper function used to determine whether or not the controller pose synchronizer is configured to make use of the InputEventData (Inherited from ControllerPoseSynchronizer) |
OnDisable() | (Inherited from BaseControllerPointer) |
OnEnable() | (Inherited from BaseControllerPointer) |
OnInputChanged(InputEventData<MixedRealityPose>) |
Raised input event updates from the type of input specified in the interface handler implementation. (Inherited from ControllerPoseSynchronizer) |
OnInputChanged(InputEventData<Quaternion>) |
Raised input event updates from the type of input specified in the interface handler implementation. (Inherited from ControllerPoseSynchronizer) |
OnInputChanged(InputEventData<Single>) |
Raised input event updates from the type of input specified in the interface handler implementation. (Inherited from ControllerPoseSynchronizer) |
OnInputChanged(InputEventData<Vector2>) |
Raised input event updates from the type of input specified in the interface handler implementation. (Inherited from ControllerPoseSynchronizer) |
OnInputChanged(InputEventData<Vector3>) |
Raised input event updates from the type of input specified in the interface handler implementation. (Inherited from ControllerPoseSynchronizer) |
OnInputDown(InputEventData) | (Inherited from BaseControllerPointer) |
OnInputUp(InputEventData) | (Inherited from BaseControllerPointer) |
OnPostSceneQuery() |
Called after performing the scene query. (Inherited from BaseControllerPointer) |
OnPreCurrentPointerTargetChange() |
Called during the scene query just before the current pointer target changes. (Inherited from BaseControllerPointer) |
OnPreSceneQuery() |
Called before performing the scene query. |
OnSceneQuery(LayerMask[], Boolean, GameObject, Vector3, Single) | |
OnSceneQuery(LayerMask[], Boolean, GameObject, Vector3, Single) |
Called to have the pointer query the scene to determine which objects it is hitting. Updates hitObject, hitPoint, and hitDistance. Used when the method for querying the scene does not utilize a RaycastHit. Examples of this include UnityEngine.Physics.SphereOverlap, which performs no raycast calls (Inherited from BaseControllerPointer) |
OnSceneQuery(LayerMask[], Boolean, MixedRealityRaycastHit, RayStep, Int32) |
Called to have the pointer query the scene to determine which objects it is hitting. Updates hitinfo. Used when the method for querying the scene utilizes a RaycastHit, such as when using UnityEngine.Physics.Raycast (Inherited from BaseControllerPointer) |
OnSourceDetected(SourceStateEventData) |
Raised when a source is detected. (Inherited from ControllerPoseSynchronizer) |
OnSourceLost(SourceStateEventData) | (Inherited from BaseControllerPointer) |
OnSourcePoseChanged(SourcePoseEventData<MixedRealityPose>) |
Raised when the source pose is changed. (Inherited from ControllerPoseSynchronizer) |
OnSourcePoseChanged(SourcePoseEventData<Quaternion>) |
Raised when the source rotation is changed. (Inherited from ControllerPoseSynchronizer) |
OnSourcePoseChanged(SourcePoseEventData<TrackingState>) |
Raised when the source pose tracking state is changed. (Inherited from ControllerPoseSynchronizer) |
OnSourcePoseChanged(SourcePoseEventData<Vector2>) |
Raised when the source position is changed. (Inherited from ControllerPoseSynchronizer) |
OnSourcePoseChanged(SourcePoseEventData<Vector3>) |
Raised when the source position is changed. (Inherited from ControllerPoseSynchronizer) |
RegisterHandlers() |
Overload this method to specify, which global events component wants to listen to. Use RegisterHandler API of InputSystem (Inherited from ControllerPoseSynchronizer) |
Reset() |
Resets pointer to initial state. After invoked pointer should be functional and ready for re-use. (Inherited from BaseControllerPointer) |
SetCursor(GameObject) |
Set a new cursor for this IMixedRealityPointer (Inherited from BaseControllerPointer) |
SourcePoseDataUsable<T>(SourcePoseEventData<T>) |
Helper function used to determine whether or not the controller pose synchronizer is configured to make use of the SourcePoseEventData (Inherited from ControllerPoseSynchronizer) |
Start() | (Inherited from BaseControllerPointer) |
TryGetDistanceToNearestSurface(Single) |
Near pointers often interact with surfaces. This method provides a mechanism to get the distance to the closest surface the near pointer is interacting with. |
TryGetNearGraspPoint(Vector3) |
Gets the position of where grasp happens For IMixedRealityHand it's determined by Microsoft.MixedReality.Toolkit.Input.SpherePointer.graspPointPlacement (either the average of index and thumb or the fingertip). For any other IMixedRealityController, return just the pointer origin |
TryGetNormalToNearestSurface(Vector3) |
Near pointers often interact with surfaces. This method provides a mechanism to get the normal of the closest surface the near pointer is interacting with. |
UnregisterHandlers() |
Overload this method to specify, which global events component should stop listening to. Use UnregisterHandler API of InputSystem (Inherited from ControllerPoseSynchronizer) |
Explicit Interface Implementations
IEqualityComparer.Equals(Object, Object) | (Inherited from BaseControllerPointer) |
IEqualityComparer.GetHashCode(Object) | (Inherited from BaseControllerPointer) |