編輯

共用方式為


SpherePointer Class

Definition

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
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)

Applies to