| | using Unity.MLAgents.Sensors; |
| | using NUnit.Framework; |
| | using Unity.MLAgents; |
| | using UnityEngine; |
| |
|
| | namespace Unity.MLAgentsExamples |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | [TestFixture] |
| | public class PublicApiValidation |
| | { |
| | [Test] |
| | public void CheckSetupCameraSensorComponent() |
| | { |
| | var gameObject = new GameObject(); |
| | var width = 24; |
| | var height = 16; |
| |
|
| | var sensorComponent = gameObject.AddComponent<CameraSensorComponent>(); |
| | sensorComponent.Camera = Camera.main; |
| | sensorComponent.SensorName = "camera1"; |
| | sensorComponent.Width = width; |
| | sensorComponent.Height = height; |
| | sensorComponent.Grayscale = true; |
| |
|
| | |
| | Assert.AreEqual("camera1", sensorComponent.SensorName); |
| | Assert.AreEqual(width, sensorComponent.Width); |
| | Assert.AreEqual(height, sensorComponent.Height); |
| | Assert.IsTrue(sensorComponent.Grayscale); |
| | } |
| |
|
| | [Test] |
| | public void CheckSetupRenderTextureSensorComponent() |
| | { |
| | var gameObject = new GameObject(); |
| |
|
| | var sensorComponent = gameObject.AddComponent<RenderTextureSensorComponent>(); |
| | var width = 24; |
| | var height = 16; |
| | var texture = new RenderTexture(width, height, 0); |
| | sensorComponent.RenderTexture = texture; |
| | sensorComponent.SensorName = "rtx1"; |
| | sensorComponent.Grayscale = true; |
| |
|
| | |
| | Assert.AreEqual("rtx1", sensorComponent.SensorName); |
| | Assert.IsTrue(sensorComponent.Grayscale); |
| | } |
| |
|
| | #if MLA_UNITY_PHYSICS_MODULE |
| | [Test] |
| | public void CheckSetupRayPerceptionSensorComponent() |
| | { |
| | var gameObject = new GameObject(); |
| |
|
| | var sensorComponent = gameObject.AddComponent<RayPerceptionSensorComponent3D>(); |
| | sensorComponent.SensorName = "ray3d"; |
| | sensorComponent.DetectableTags = new List<string> { "Player", "Respawn" }; |
| | sensorComponent.RaysPerDirection = 3; |
| | sensorComponent.MaxRayDegrees = 30; |
| | sensorComponent.SphereCastRadius = .1f; |
| | sensorComponent.RayLayerMask = 0; |
| | sensorComponent.ObservationStacks = 2; |
| |
|
| | sensorComponent.CreateSensors(); |
| |
|
| | var sensor = sensorComponent.RaySensor; |
| | sensor.Update(); |
| | var outputs = sensor.RayPerceptionOutput; |
| | Assert.AreEqual(outputs.RayOutputs.Length, 2 * sensorComponent.RaysPerDirection + 1); |
| | } |
| |
|
| | #endif |
| |
|
| | |
| | |
| | |
| | class CustomDecisionRequester : DecisionRequester |
| | { |
| | |
| | |
| | |
| | public bool KillswitchEnabled; |
| |
|
| | public CustomDecisionRequester() |
| | { |
| | } |
| |
|
| | protected override bool ShouldRequestDecision(DecisionRequestContext context) |
| | { |
| | return !KillswitchEnabled && base.ShouldRequestDecision(context); |
| | } |
| | } |
| | } |
| | } |
| |
|