Class XRInteractorLineVisual
Interactor helper object aligns a LineRenderer with the Interactor.
Inherited Members
Namespace: UnityEngine.XR.Interaction.Toolkit
Syntax
[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@2.3/api/UnityEngine.XR.Interaction.Toolkit.XRInteractorLineVisual.html")]
public class XRInteractorLineVisual : MonoBehaviour, IXRCustomReticleProvider
Properties
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 |
---|---|
Single |
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 |
lineLength
Controls the length of the line when overriding.
Declaration
public float lineLength { get; set; }
Property Value
Type | Description |
---|---|
Single |
See Also
lineWidth
Controls the width of the line.
Declaration
public float lineWidth { get; set; }
Property Value
Type | Description |
---|---|
Single |
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 |
---|---|
Boolean |
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.
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 |
---|---|
Boolean |
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 |
---|---|
Boolean |
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 |
---|---|
Single |
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 |
---|---|
Boolean |
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 |
---|---|
Boolean |
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 |
---|---|
Boolean |
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 |
---|---|
Boolean |
Implements
Awake()
See MonoBehaviour.
Declaration
protected void Awake()
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 |
---|---|
Boolean |
Implements
Reset()
See MonoBehaviour.
Declaration
protected void Reset()