Namespace UnityEngine.XR.Interaction.Toolkit.Filtering
Classes
PokeThresholdData
The settings used to fine tune the vector and offsets which dictate how the poke interaction will be evaluated.
PokeThresholdDatum
ScriptableObject container class that holds a PokeThresholdData value.
PokeThresholdDatumProperty
Serializable container class that holds a poke threshold value or container asset reference.
TouchscreenHoverFilter
Hover filter that checks if the screen is being touched and doing a selecting gesture. Can be used with the ray interactor to prevent hover interactions when the screen is not being touched.
XRAngleGazeEvaluator
Evaluates the angle between the Gaze Transform's forward direction and the vector to the target Interactable. The target Interactable with the smallest angle will receive the highest normalized score.
XRBaseTargetFilter
Abstract base class from which all Target Filter behaviours derive. Instances of this class can be assigned to an XRBaseInteractor using the Inspector by setting the Starting Target Filter (startingTargetFilter). This serves as a serializable reference instead of using targetFilter which is not serialized.
XRDistanceEvaluator
Evaluates the Interactor distance from the target Interactable. Targets close to the Interactor will receive a highest score and targets far way will receive a lower score.
XRHoverFilterDelegate
A hover filter that forwards its processing to a delegate (delegateToProcess). Useful to create custom filters by code without needing to create new classes.
XRInteractionStrengthFilterDelegate
An interaction strength filter that forwards its processing to a delegate (delegateToProcess). Useful to create custom filters by code without needing to create new classes.
XRLastSelectedEvaluator
The last selected target Interactable will receive the highest normalized score.
In the moment that an Interactable is selected by any of the linked Interactors, it'll have the highest normalized
score of 1
. Its normalized score will linearly decrease with time until the score reaches 0
after
maxTime seconds.
XRPokeFilter
Filter component that allows for basic poke functionality and to define constraints for when the interactable will be selected.
XRSelectFilterDelegate
A select filter that forwards its processing to a delegate (delegateToProcess). Useful to create custom filters by code without needing to create new classes.
XRTargetEvaluator
Abstract base class from which all Target Evaluators derive.
This class evaluates the intention to interact with an Interactable by calculating a score (a float
value).
Used by the XRTargetFilter behavior which allows the list of valid targets returned by an Interactor
to be customized as determined by these evaluators.
XRTargetFilter
Target Filter that uses a list of evaluator objects to filter Interactable targets (candidates) returned by the Interactor each frame. You can edit the evaluator list and the evaluators properties in the Inspector.
Structs
PokeStateData
Holds information used for poke interaction affordances.
Interfaces
IMultiPokeStateDataProvider
Multiplexed version of IPokeStateDataProvider that allows for multiple targets to be tracked with their own bindable poke state data.
IPokeStateDataProvider
This provider interface allows a source component to populate PokeStateData upon request to a component that is bound to the pokeStateData bindable variable that provides state data about a poke interaction. Typically this is needed by an affordance listener for poke.
IXRFilterList<T>
A list of items.
IXRHoverFilter
Instances that implement this interface are called hover filters. Hover filters process additional validation checks after the base class hover validation checks are processed. Add a hover filter to the following objects to extend its hover validations:
- XRInteractionManager: to add a global hover filter used to validate all hover interactions in the manager.
- XRBaseInteractor: to add an Interactor hover filter used to validate the hover interactions in the Interactor.
- XRBaseInteractable: to add an Interactable hover filter used to validate the hover interactions in the Interactable.
IXRInteractionStrengthFilter
Instances that implement this interface are called interaction strength filters. Interaction strength filters are used to adjust or set the interaction strength between an Interactor and Interactable.
IXRPokeFilter
Instances that implement this interface are called XR Poke filters. Poke filters are used to customize basic poke functionality and to define constraints for when the interactable will be selected.
IXRSelectFilter
Instances that implement this interface are called select filters. Select filters process additional validation checks after the base class select validation checks are processed. Add a select filter to the following objects to extend its select validations:
- XRInteractionManager: to add a global select filter used to validate all select interactions in the manager.
- XRBaseInteractor: to add an Interactor select filter used to validate the select interactions in the Interactor.
- XRBaseInteractable: to add an Interactable select filter used to validate the select interactions in the Interactable.
IXRTargetEvaluatorLinkable
An interface that an XRTargetFilter can implement to receive calls whenever an Interactor links to or
unlinks from its filter.
Implement this interface if the evaluator needs to subscribe to events or cache data from the linked Interactors.
IXRTargetFilter
An interface responsible to filter a list of Interactable targets (candidates) for interaction with a linked Interactor.
Enums
PokeAxis
Represents the poke evaluation axis used.