docs.unity3d.com
    Show / Hide Table of Contents

    Class XRInteractorLineVisual

    Interactor helper object aligns a LineRenderer with the Interactor.

    Inheritance
    Object
    Object
    Component
    Behaviour
    MonoBehaviour
    XRInteractorLineVisual
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(String, Single)
    MonoBehaviour.InvokeRepeating(String, Single, Single)
    MonoBehaviour.CancelInvoke(String)
    MonoBehaviour.IsInvoking(String)
    MonoBehaviour.StartCoroutine(String)
    MonoBehaviour.StartCoroutine(String, Object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(String)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(Object)
    MonoBehaviour.useGUILayout
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, Component)
    Component.TryGetComponent<T>(T)
    Component.GetComponent(String)
    Component.GetComponentInChildren(Type, Boolean)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(Boolean)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, Boolean)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(Boolean)
    Component.GetComponentsInChildren<T>(Boolean, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, Boolean)
    Component.GetComponentInParent(Type)
    UnityEngine.Component.GetComponentInParent<T>(System.Boolean)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, Boolean)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(Boolean)
    Component.GetComponentsInParent<T>(Boolean, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.CompareTag(String)
    Component.SendMessageUpwards(String, Object, SendMessageOptions)
    Component.SendMessageUpwards(String, Object)
    Component.SendMessageUpwards(String)
    Component.SendMessageUpwards(String, SendMessageOptions)
    Component.SendMessage(String, Object)
    Component.SendMessage(String)
    Component.SendMessage(String, Object, SendMessageOptions)
    Component.SendMessage(String, SendMessageOptions)
    Component.BroadcastMessage(String, Object, SendMessageOptions)
    Component.BroadcastMessage(String, Object)
    Component.BroadcastMessage(String)
    Component.BroadcastMessage(String, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(Object)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, Boolean)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, Boolean)
    Object.Destroy(Object, Single)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, Boolean)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, Boolean)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.FindObjectsOfType<T>()
    UnityEngine.Object.FindObjectsByType<T>(UnityEngine.FindObjectsSortMode)
    UnityEngine.Object.FindObjectsOfType<T>(System.Boolean)
    UnityEngine.Object.FindObjectsByType<T>(UnityEngine.FindObjectsInactive, UnityEngine.FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    UnityEngine.Object.FindObjectOfType<T>(System.Boolean)
    UnityEngine.Object.FindFirstObjectByType<T>()
    UnityEngine.Object.FindAnyObjectByType<T>()
    UnityEngine.Object.FindFirstObjectByType<T>(UnityEngine.FindObjectsInactive)
    UnityEngine.Object.FindAnyObjectByType<T>(UnityEngine.FindObjectsInactive)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, Boolean)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Object.MemberwiseClone()
    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.4/api/UnityEngine.XR.Interaction.Toolkit.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
    Boolean
    See Also
    minLineLength
    lineRetractionDelay

    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
    smoothMovement
    snapThresholdDistance

    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
    Single

    lineLength

    Controls the length of the line when overriding.

    Declaration
    public float lineLength { get; set; }
    Property Value
    Type Description
    Single
    See Also
    overrideInteractorLineLength
    minLineLength

    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
    Single
    See Also
    minLineLength
    lineRetractionDelay

    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
    Single

    lineOriginTransform

    The starting position and direction of the line when overriding.

    Declaration
    public Transform lineOriginTransform { get; set; }
    Property Value
    Type Description
    Transform
    See Also
    overrideInteractorLineOrigin

    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
    Single
    See Also
    lineRetractionDelay
    minLineLength

    lineWidth

    Controls the width of the line.

    Declaration
    public float lineWidth { get; set; }
    Property Value
    Type Description
    Single

    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
    Single
    See Also
    overrideInteractorLineLength
    autoAdjustLineLength
    lineLength

    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
    lineLength

    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
    Boolean
    See Also
    lineOriginTransform
    GetLinePoints(NativeArray<Vector3>, Int32, Nullable<Ray>)

    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
    Boolean
    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
    Boolean
    See Also
    followTightness
    snapThresholdDistance

    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
    smoothMovement
    followTightness

    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

    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
    Boolean
    See Also
    lineLength

    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

    Returns true if successful. Otherwise, returns false.

    Implements
    IXRCustomReticleProvider.AttachCustomReticle(GameObject)

    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
    Boolean

    Returns true if successful. Otherwise, returns false.

    Implements
    IXRCustomReticleProvider.RemoveCustomReticle()

    Reset()

    See MonoBehaviour.

    Declaration
    protected void Reset()
    In This Article
    • Properties
      • autoAdjustLineLength
      • blockedColorGradient
      • blockedReticle
      • followTightness
      • invalidColorGradient
      • lineBendRatio
      • lineLength
      • lineLengthChangeSpeed
      • lineOriginOffset
      • lineOriginTransform
      • lineRetractionDelay
      • lineWidth
      • minLineLength
      • overrideInteractorLineLength
      • overrideInteractorLineOrigin
      • reticle
      • setLineColorGradient
      • smoothMovement
      • snapEndpointIfAvailable
      • snapThresholdDistance
      • stopLineAtFirstRaycastHit
      • stopLineAtSelection
      • treatSelectionAsValidState
      • useDistanceToHitAsMaxLineLength
      • validColorGradient
      • widthCurve
    • Methods
      • AttachCustomReticle(GameObject)
      • Awake()
      • LateUpdate()
      • OnDestroy()
      • OnDisable()
      • OnEnable()
      • OnValidate()
      • RemoveCustomReticle()
      • Reset()
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023