Unity 机器学习代理工具包 (ML-Agents) 是一个开源项目,它使游戏和模拟能够作为训练智能代理的环境。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 

69 行
2.2 KiB

using NUnit.Framework;
using UnityEngine;
using Unity.MLAgents.Extensions.Sensors;
namespace Unity.MLAgents.Extensions.Tests.Sensors
{
public class ChannelShapeTests
{
GameObject testGo;
GridSensor gridSensor;
[SetUp]
public void SetupScene()
{
testGo = new GameObject("test");
testGo.transform.position = Vector3.zero;
gridSensor = testGo.AddComponent<GridSensor>();
}
[TearDown]
public void ClearScene()
{
Object.DestroyImmediate(testGo);
}
[Test]
public void OneChannel()
{
string[] tags = { "Box" };
int[] depths = { 1 };
Color[] colors = { Color.magenta };
gridSensor.SetParameters(tags, depths, GridSensor.GridDepthType.Channel,
1f, 1f, 10, 10, LayerMask.GetMask("Default"), false, colors);
gridSensor.Start();
int[] expectedShape = { 10, 10, 1 };
GridObsTestUtils.AssertArraysAreEqual(expectedShape, gridSensor.GetFloatObservationShape());
}
[Test]
public void TwoChannel()
{
string[] tags = { "Box", "Ball" };
int[] depths = { 1, 1 };
Color[] colors = { Color.magenta };
gridSensor.SetParameters(tags, depths, GridSensor.GridDepthType.Channel,
1f, 1f, 10, 10, LayerMask.GetMask("Default"), false, colors);
gridSensor.Start();
int[] expectedShape = { 10, 10, 2 };
GridObsTestUtils.AssertArraysAreEqual(expectedShape, gridSensor.GetFloatObservationShape());
}
[Test]
public void SevenChannel()
{
string[] tags = { "Box", "Ball" };
int[] depths = { 1, 1, 1, 1, 1, 1, 1 };
Color[] colors = { Color.magenta };
gridSensor.SetParameters(tags, depths, GridSensor.GridDepthType.Channel,
1f, 1f, 10, 10, LayerMask.GetMask("Default"), false, colors);
gridSensor.Start();
int[] expectedShape = { 10, 10, 7 };
GridObsTestUtils.AssertArraysAreEqual(expectedShape, gridSensor.GetFloatObservationShape());
}
}
}