docs.unity3d.com
    Show / Hide Table of Contents

    Struct XRRaycastHit

    Represents the intersection of a raycast with a trackable.

    Namespace: UnityEngine.XR.ARSubsystems
    Syntax
    public struct XRRaycastHit : IEquatable<XRRaycastHit>

    Constructors

    XRRaycastHit(TrackableId, Pose, Single, TrackableType)

    Constructs an XRRaycastHit.

    Declaration
    public XRRaycastHit(TrackableId trackableId, Pose pose, float distance, TrackableType hitType)
    Parameters
    Type Name Description
    TrackableId trackableId

    The TrackableId of the trackable which was hit.

    Pose pose

    The session-space Pose of the intersection.

    Single distance

    The session-space distance from the raycast origin to the intersection point.

    TrackableType hitType

    The type(s) of trackables which were hit by the ray.

    Properties

    defaultValue

    A default-initialized raycast hit. This may be different from a zero-initialized raycast hit.

    Declaration
    public static readonly XRRaycastHit defaultValue { get; }
    Property Value
    Type Description
    XRRaycastHit

    distance

    The session-space distance from the raycast origin to the intersection point.

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

    hitType

    The type(s) of trackables which were hit by the ray.

    Declaration
    public TrackableType hitType { get; set; }
    Property Value
    Type Description
    TrackableType

    pose

    The session-space Pose of the intersection.

    Declaration
    public Pose pose { get; set; }
    Property Value
    Type Description
    Pose

    trackableId

    The TrackableId of the trackable which was hit. This may be invalidId as not all trackables have ids, e.g., feature points.

    Declaration
    public TrackableId trackableId { get; set; }
    Property Value
    Type Description
    TrackableId

    Methods

    Equals(Object)

    Tests for equality.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj

    The object to compare against.

    Returns
    Type Description
    Boolean

    True if obj is of type XRRaycastHit and Equals(XRRaycastHit) also returns true; otherwise false.

    Overrides
    ValueType.Equals(Object)

    Equals(XRRaycastHit)

    Tests for equality.

    Declaration
    public bool Equals(XRRaycastHit other)
    Parameters
    Type Name Description
    XRRaycastHit other

    The other XRRaycastHit to compare against.

    Returns
    Type Description
    Boolean

    True if every field in other is equal to this XRRaycastHit, otherwise false.

    GetHashCode()

    Generates a hash suitable for use with containers like HashSet and Dictionary.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32

    A hash code generated from this object's fields.

    Overrides
    ValueType.GetHashCode()

    Operators

    Equality(XRRaycastHit, XRRaycastHit)

    Tests for equality. Same as Equals(XRRaycastHit).

    Declaration
    public static bool operator ==(XRRaycastHit lhs, XRRaycastHit rhs)
    Parameters
    Type Name Description
    XRRaycastHit lhs

    The left-hand side of the comparison.

    XRRaycastHit rhs

    The right-hand side of the comparison.

    Returns
    Type Description
    Boolean

    True if lhs is equal to rhs, otherwise false.

    Inequality(XRRaycastHit, XRRaycastHit)

    Tests for inequality. Same as !Equals(XRRaycastHit).

    Declaration
    public static bool operator !=(XRRaycastHit lhs, XRRaycastHit rhs)
    Parameters
    Type Name Description
    XRRaycastHit lhs

    The left-hand side of the comparison.

    XRRaycastHit rhs

    The right-hand side of the comparison.

    Returns
    Type Description
    Boolean

    True if lhs is not equal to rhs, otherwise false.

    See Also

    Raycast(Ray, TrackableType, Allocator)
    Raycast(Vector2, TrackableType, Allocator)
    Back to top
    Terms of use
    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