| using System; |
| using Unity.MLAgents.Sensors; |
|
|
| namespace Unity.MLAgentsExamples |
| { |
| |
| |
| |
| |
| public class BasicSensorComponent : SensorComponent |
| { |
| public BasicController basicController; |
|
|
| |
| |
| |
| |
| public override ISensor[] CreateSensors() |
| { |
| return new ISensor[] { new BasicSensor(basicController) }; |
| } |
| } |
|
|
| |
| |
| |
| |
| public class BasicSensor : SensorBase |
| { |
| public BasicController basicController; |
|
|
| public BasicSensor(BasicController controller) |
| { |
| basicController = controller; |
| } |
|
|
| |
| |
| |
| |
| |
| public override void WriteObservation(float[] output) |
| { |
| |
| Array.Clear(output, 0, output.Length); |
| output[basicController.position] = 1; |
| } |
|
|
| |
| public override ObservationSpec GetObservationSpec() |
| { |
| return ObservationSpec.Vector(BasicController.k_Extents); |
| } |
|
|
| |
| public override string GetName() |
| { |
| return "Basic"; |
| } |
|
|
| } |
| } |
|
|