Class XRGazeAssistance
Allow specified ray interactors to fallback to eye-gaze when they are off screen or pointing off screen. This component enables split interaction functionality to allow the user to aim with eye gaze and select with a controller.
Implements
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Assembly: Unity.XR.Interaction.Toolkit.dll
Syntax
[DisallowMultipleComponent]
[AddComponentMenu("XR/XR Gaze Assistance", 11)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.5/api/UnityEngine.XR.Interaction.Toolkit.XRGazeAssistance.html")]
[DefaultExecutionOrder(-29980)]
public class XRGazeAssistance : MonoBehaviour, IXRAimAssist
Properties
aimAssistMaxSpeedPercent
How much additional speed a projectile can receive from aim assistance, as a percentage.
Declaration
public float aimAssistMaxSpeedPercent { get; set; }
Property Value
Type | Description |
---|---|
float |
aimAssistPercent
How much of the corrected aim velocity to use, as a percentage.
Declaration
public float aimAssistPercent { get; set; }
Property Value
Type | Description |
---|---|
float |
aimAssistRequiredAngle
How far projectiles can aim outside of eye gaze and still be considered for aim assist.
Declaration
public float aimAssistRequiredAngle { get; set; }
Property Value
Type | Description |
---|---|
float |
aimAssistRequiredSpeed
How fast a projectile must be moving to be considered for aim assist.
Declaration
public float aimAssistRequiredSpeed { get; set; }
Property Value
Type | Description |
---|---|
float |
fallbackDivergence
How far an interactor must point away from the user's view area before eye gaze will be used instead.
Declaration
public float fallbackDivergence { get; set; }
Property Value
Type | Description |
---|---|
float |
gazeInteractor
Eye data source used as fallback data and to determine if fallback data should be used.
Declaration
public XRGazeInteractor gazeInteractor { get; set; }
Property Value
Type | Description |
---|---|
XRGazeInteractor |
hideCursorWithNoActiveRays
If the eye reticle should be hidden when all interactors are using their original data.
Declaration
public bool hideCursorWithNoActiveRays { get; set; }
Property Value
Type | Description |
---|---|
bool |
rayInteractors
Interactors that can fall back to gaze data.
Declaration
public List<XRGazeAssistance.InteractorData> rayInteractors { get; set; }
Property Value
Type | Description |
---|---|
List<XRGazeAssistance.InteractorData> |
Methods
GetAssistedVelocity(in Vector3, in Vector3, float)
Takes a projectile's velocity and adjusts it to more closely hit a given target.
Declaration
public Vector3 GetAssistedVelocity(in Vector3 source, in Vector3 velocity, float gravity)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | source | The starting position of the projectile. |
Vector3 | velocity | The starting velocity of the projectile. |
float | gravity | How much gravity the projectile is experiencing. |
Returns
Type | Description |
---|---|
Vector3 | Returns a velocity based on the source, but adjusted to hit a given target. |
GetAssistedVelocity(in Vector3, in Vector3, float, float)
Takes a projectile's velocity and adjusts it to more closely hit a given target.
Declaration
public Vector3 GetAssistedVelocity(in Vector3 source, in Vector3 velocity, float gravity, float maxAngle)
Parameters
Type | Name | Description |
---|---|---|
Vector3 | source | The starting position of the projectile. |
Vector3 | velocity | The starting velocity of the projectile. |
float | gravity | How much gravity the projectile is experiencing. |
float | maxAngle | If the angle between the initial velocity and adjusted velocity is greater than this value, no adjustment will occur. |
Returns
Type | Description |
---|---|
Vector3 | Returns a velocity based on the source, but adjusted to hit a given target. |
LateUpdate()
See MonoBehaviour.
Declaration
protected void LateUpdate()
OnDisable()
See MonoBehaviour.
Declaration
protected void OnDisable()
OnEnable()
See MonoBehaviour.
Declaration
protected void OnEnable()
Start()
See MonoBehaviour.
Declaration
protected void Start()
Update()
See MonoBehaviour.
Declaration
protected void Update()