您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
41 行
1.5 KiB
41 行
1.5 KiB
using System;
|
|
using NUnit.Framework;
|
|
using UnityEngine;
|
|
using MLAgents.Sensors;
|
|
|
|
namespace MLAgents.Tests
|
|
{
|
|
[TestFixture]
|
|
public class RenderTextureSensorComponentTest
|
|
{
|
|
[Test]
|
|
public void TestRenderTextureSensorComponent()
|
|
{
|
|
foreach (var grayscale in new[] { true, false })
|
|
{
|
|
foreach (SensorCompressionType compression in Enum.GetValues(typeof(SensorCompressionType)))
|
|
{
|
|
var width = 24;
|
|
var height = 16;
|
|
var texture = new RenderTexture(width, height, 0);
|
|
|
|
var agentGameObj = new GameObject("agent");
|
|
|
|
var renderTexComponent = agentGameObj.AddComponent<RenderTextureSensorComponent>();
|
|
renderTexComponent.RenderTexture = texture;
|
|
renderTexComponent.Grayscale = grayscale;
|
|
renderTexComponent.CompressionType = compression;
|
|
|
|
var expectedShape = new[] { height, width, grayscale ? 1 : 3 };
|
|
Assert.AreEqual(expectedShape, renderTexComponent.GetObservationShape());
|
|
Assert.IsTrue(renderTexComponent.IsVisual());
|
|
Assert.IsFalse(renderTexComponent.IsVector());
|
|
|
|
var sensor = renderTexComponent.CreateSensor();
|
|
Assert.AreEqual(expectedShape, sensor.GetObservationShape());
|
|
Assert.AreEqual(typeof(RenderTextureSensor), sensor.GetType());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|