docs.unity3d.com
    Show / Hide Table of Contents

    Struct RayPerceptionOutput.RayOutput

    Contains the data generated from a single ray of a ray perception sensor.

    Inherited Members
    ValueType.Equals(Object)
    ValueType.GetHashCode()
    ValueType.ToString()
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetType()
    Namespace: Unity.MLAgents.Sensors
    Syntax
    public struct RayOutput

    Fields

    EndPositionWorld

    End position of the ray in world space.

    Declaration
    public Vector3 EndPositionWorld
    Field Value
    Type Description
    Vector3

    HasHit

    Whether or not the ray hit anything.

    Declaration
    public bool HasHit
    Field Value
    Type Description
    Boolean

    HitFraction

    Normalized distance to the hit object.

    Declaration
    public float HitFraction
    Field Value
    Type Description
    Single

    HitGameObject

    The hit GameObject (or null if there was no hit).

    Declaration
    public GameObject HitGameObject
    Field Value
    Type Description
    GameObject

    HitTaggedObject

    Whether or not the ray hit an object whose tag is in the input's DetectableTags list.

    Declaration
    public bool HitTaggedObject
    Field Value
    Type Description
    Boolean

    HitTagIndex

    The index of the hit object's tag in the DetectableTags list, or -1 if there was no hit, or the hit object has a different tag.

    Declaration
    public int HitTagIndex
    Field Value
    Type Description
    Int32

    ScaledCastRadius

    The scaled size of the cast.

    Declaration
    public float ScaledCastRadius
    Field Value
    Type Description
    Single
    Remarks

    If there is non-(1,1,1) scale, the cast radius will be also be scaled.

    StartPositionWorld

    Start position of the ray in world space.

    Declaration
    public Vector3 StartPositionWorld
    Field Value
    Type Description
    Vector3

    Properties

    ScaledRayLength

    The scaled length of the ray.

    Declaration
    public readonly float ScaledRayLength { get; }
    Property Value
    Type Description
    Single
    Remarks

    If there is non-(1,1,1) scale, |EndPositionWorld - StartPositionWorld| will be different from the input rayLength.

    Methods

    ToFloatArray(Int32, Int32, Single[])

    Writes the ray output information to a subset of the float array. Each element in the rayAngles array determines a sublist of data to the observation. The sublist contains the observation data for a single cast. The list is composed of the following:

    1. A one-hot encoding for detectable tags. For example, if DetectableTags.Length = n, the first n elements of the sublist will be a one-hot encoding of the detectableTag that was hit, or all zeroes otherwise.
    2. The 'numDetectableTags' element of the sublist will be 1 if the ray missed everything, or 0 if it hit something (detectable or not).
    3. The 'numDetectableTags+1' element of the sublist will contain the normalized distance to the object hit, or 1.0 if nothing was hit.
    Declaration
    public void ToFloatArray(int numDetectableTags, int rayIndex, float[] buffer)
    Parameters
    Type Name Description
    Int32 numDetectableTags
    Int32 rayIndex
    Single[] buffer

    Output buffer. The size must be equal to (numDetectableTags+2) * RayOutputs.Length

    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