namespace Unity.MLAgents.Sensors { /// /// Identifiers for "built in" sensor types. /// These are only used for analytics, and should not be used for any runtime decisions. /// /// NOTE: Do not renumber these, since the values are used for analytics. Renaming is allowed though. /// public enum BuiltInSensorType { /// /// Default Sensor type if it cannot be determined. /// Unknown = 0, /// /// The Vector sensor used by the agent. /// VectorSensor = 1, /// /// The Stacking Sensor type. NOTE: StackingSensor actually returns the wrapped sensor's type. /// StackingSensor = 2, /// /// The RayPerception Sensor types, both 3D and 2D. /// RayPerceptionSensor = 3, /// /// The observable attribute sensor type. /// ReflectionSensor = 4, /// /// Sensors that use the Camera for observations. /// CameraSensor = 5, /// /// Sensors that use RenderTextures for observations. /// RenderTextureSensor = 6, /// /// Sensors that use buffers or tensors for observations. /// BufferSensor = 7, /// /// The sensors that observe properties of rigid bodies. /// PhysicsBodySensor = 8, /// /// The sensors that observe Match 3 boards. /// Match3Sensor = 9, /// /// Sensors that break down the world into a grid of colliders to observe an area at a pre-defined granularity. /// GridSensor = 10 } /// /// Interface for sensors that are provided as part of ML-Agents. /// User-implemented sensors don't need to use this interface. /// public interface IBuiltInSensor { /// /// Return the corresponding BuiltInSensorType for the sensor. /// /// A BuiltInSensorType corresponding to the sensor. BuiltInSensorType GetBuiltInSensorType(); } }