Class XRInteractorLineVisual
Interactor helper object aligns a LineRenderer with the Interactor.
Implements
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit.Interactors.Visuals
Assembly: Unity.XR.Interaction.Toolkit.dll
Syntax
[MovedFrom("UnityEngine.XR.Interaction.Toolkit")]
[AddComponentMenu("XR/Visual/XR Interactor Line Visual", 11)]
[DisallowMultipleComponent]
[RequireComponent(typeof(LineRenderer))]
[DefaultExecutionOrder(100)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/api/UnityEngine.XR.Interaction.Toolkit.Interactors.Visuals.XRInteractorLineVisual.html")]
public class XRInteractorLineVisual : MonoBehaviour, IXRCustomReticleProvider
Properties
autoAdjustLineLength
Determines whether the length of the line will retract over time when no valid hits or selection occur.
Declaration
public bool autoAdjustLineLength { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
blockedColorGradient
Controls the color of the line as a gradient from start to end to indicate a state where the interactor has a valid target but selection is blocked.
Declaration
public Gradient blockedColorGradient { get; set; }
Property Value
Type | Description |
---|---|
Gradient |
blockedReticle
Stores the reticle that appears at the end of the line when the interactor has a valid target but selection is blocked.
Declaration
public GameObject blockedReticle { get; set; }
Property Value
Type | Description |
---|---|
GameObject |
Remarks
Unity will instantiate it while playing when it is a Prefab asset.
followTightness
Controls the speed that the rendered segments follow the target segments when Smooth Movement is enabled.
Declaration
public float followTightness { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
invalidColorGradient
Controls the color of the line as a gradient from start to end to indicate an invalid state.
Declaration
public Gradient invalidColorGradient { get; set; }
Property Value
Type | Description |
---|---|
Gradient |
lineBendRatio
This ratio determines where the bend point is on a bent line. Line bending occurs due to hitting a snap volume or because the target end point is out of line with the ray. A value of 1 means the line will not bend.
Declaration
public float lineBendRatio { get; set; }
Property Value
Type | Description |
---|---|
float |
lineLength
Controls the length of the line when overriding.
Declaration
public float lineLength { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
lineLengthChangeSpeed
Scalar used to control the speed of changes in length of the line when overriding it's length.
Declaration
public float lineLengthChangeSpeed { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
lineOriginOffset
Offset from line origin along the line direction before line rendering begins. Only works if the line provider is using straight lines. This value applies even when not overriding the line origin with a different Transform.
Declaration
public float lineOriginOffset { get; set; }
Property Value
Type | Description |
---|---|
float |
lineOriginTransform
The starting position and direction of the line when overriding.
Declaration
public Transform lineOriginTransform { get; set; }
Property Value
Type | Description |
---|---|
Transform |
See Also
lineRetractionDelay
Time in seconds elapsed after last valid hit or selection for line to begin retracting to the minimum override length.
Declaration
public float lineRetractionDelay { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
lineWidth
Controls the width of the line.
Declaration
public float lineWidth { get; set; }
Property Value
Type | Description |
---|---|
float |
minLineLength
Controls the minimum length of the line when overriding. When no valid hits occur, the ray visual shrinks down to this size.
Declaration
public float minLineLength { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
overrideInteractorLineLength
A boolean value that controls which source Unity uses to determine the length of the line. Set to true to use the Line Length set by this behavior. Set to false to have the length of the line determined by the Interactor.
Declaration
public bool overrideInteractorLineLength { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
overrideInteractorLineOrigin
A boolean value that controls whether to use a different Transform as the starting position and direction of the line. Set to true to use the line origin specified by lineOriginTransform. Set to false to use the the line origin specified by the interactor.
Declaration
public bool overrideInteractorLineOrigin { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
reticle
Stores the reticle that appears at the end of the line when it is valid.
Declaration
public GameObject reticle { get; set; }
Property Value
Type | Description |
---|---|
GameObject |
Remarks
Unity will instantiate it while playing when it is a Prefab asset.
setLineColorGradient
Determines whether or not this component will control the color of the Line Renderer. Disable to manually control the color externally from this component.
Declaration
public bool setLineColorGradient { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Useful to disable when using the affordance system for line color control instead of through this behavior.
smoothMovement
Controls whether the rendered segments will be delayed from and smoothly follow the target segments.
Declaration
public bool smoothMovement { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
snapEndpointIfAvailable
Controls whether the visualized line will snap endpoint if the ray hits a XRInteractableSnapVolume.
Declaration
public bool snapEndpointIfAvailable { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Currently snapping only works with an XRRayInteractor.
snapThresholdDistance
Controls the threshold distance between line points at two consecutive frames to snap rendered segments to target segments when Smooth Movement is enabled.
Declaration
public float snapThresholdDistance { get; set; }
Property Value
Type | Description |
---|---|
float |
See Also
stopLineAtFirstRaycastHit
Controls whether this behavior always cuts the line short at the first ray cast hit, even when invalid.
Declaration
public bool stopLineAtFirstRaycastHit { get; set; }
Property Value
Type | Description |
---|---|
bool |
Remarks
The line will always stop short at valid targets, even if this property is set to false. If you wish this line to pass through valid targets, they must be placed on a different layer. true means to do the same even when pointing at an invalid target. false means the line will continue to the configured line length.
stopLineAtSelection
Controls whether the line will stop at the attach point of the closest interactable selected by the interactor, if there is one.
Declaration
public bool stopLineAtSelection { get; set; }
Property Value
Type | Description |
---|---|
bool |
treatSelectionAsValidState
Forces the use of valid state visuals while the interactor is selecting an interactable, whether or not the Interactor has any valid targets.
Declaration
public bool treatSelectionAsValidState { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
useDistanceToHitAsMaxLineLength
Determines whether the max line length will be the the distance to the hit point or the fixed line length.
Declaration
public bool useDistanceToHitAsMaxLineLength { get; set; }
Property Value
Type | Description |
---|---|
bool |
See Also
validColorGradient
Controls the color of the line as a gradient from start to end to indicate a valid state.
Declaration
public Gradient validColorGradient { get; set; }
Property Value
Type | Description |
---|---|
Gradient |
widthCurve
Controls the relative width of the line from start to end.
Declaration
public AnimationCurve widthCurve { get; set; }
Property Value
Type | Description |
---|---|
AnimationCurve |
Methods
AttachCustomReticle(GameObject)
Attaches a custom reticle.
Declaration
public bool AttachCustomReticle(GameObject reticleInstance)
Parameters
Type | Name | Description |
---|---|---|
GameObject | reticleInstance | Reticle GameObject that is attached. |
Returns
Type | Description |
---|---|
bool |
Awake()
See MonoBehaviour.
Declaration
protected void Awake()
LateUpdate()
See MonoBehaviour.
Declaration
protected void LateUpdate()
OnDestroy()
See MonoBehaviour.
Declaration
protected void OnDestroy()
OnDisable()
See MonoBehaviour.
Declaration
protected void OnDisable()
OnEnable()
See MonoBehaviour.
Declaration
protected void OnEnable()
OnValidate()
See MonoBehaviour.
Declaration
protected void OnValidate()
RemoveCustomReticle()
Removes a custom reticle.
Declaration
public bool RemoveCustomReticle()
Returns
Type | Description |
---|---|
bool |
Reset()
See MonoBehaviour.
Declaration
protected void Reset()