Struct RayPerceptionOutput.RayOutput
Contains the data generated from a single ray of a ray perception sensor.
Namespace: Unity.MLAgents.Sensors
Syntax
public struct RayOutput
Fields
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 |
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 |
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:
- 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.
- The 'numDetectableTags' element of the sublist will be 1 if the ray missed everything, or 0 if it hit something (detectable or not).
- 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 |