c# - 如何在 Unity 2d 中构建用于机器学习的传感器?

标签 c# unity-game-engine machine-learning

我没有任何代码,因为我被卡住了。我正在尝试构建一种算法来教汽车绕赛道行驶,但我需要一种让汽车看到的方式,所以我正在尝试构建传感器。每个人都建议使用墙壁的位置减去传感器的位置,但这不起作用,因为它只能看到墙壁的中心。我需要这样做,以便传感器告诉我它所指向的墙壁部分与传感器本身之间的距离。我该怎么做或者人工智能可以看到什么替代方案。

最佳答案

使用光线转换。 https://docs.unity3d.com/ScriptReference/Physics.Raycast.html

以下代码应该为您提供 float 形式的距离:

float distance = 0.0f;
if (Physics.Raycast(sensor.transform.position, 
sensor.transform.forward, out hit, sensorRange, 
layerMask))
{
    distance = Vector3.Distance(sensor.transform.position,
                                hit.point);
}

我现在无法尝试,因为我不在装有 Unity 的计算机上,但想法就是这样。 使用传感器作为汽车的父级游戏对象。另外,请记住将传感器对准您想要的方向,并旋转它。

关于c# - 如何在 Unity 2d 中构建用于机器学习的传感器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59522481/

相关文章:

java - Java高效实现互信息

c# - CredentialCache.DefaultCredentials 不遵守 dotnet core 2.2 的 IIS App Pool Credentials

c# - 如何在.Net 中让不同类型的消费者使用 RabbitMq 消息?

c# - 如何将枚举菜单添加到游戏对象?

python - Keras:使用完全相同的数据和架构,训练性能会有所不同。唯一的区别是使用 .Sequential() 或 .Model()

algorithm - 监督机器学习,产生训练有素的估计器

c# - Unity 中的移动世界比例?

c# - NLog 不使用 ClickOnce 进行记录

c# - 目标参数计数异常 : C#

performance - 对于动态游戏场上拥有大量 AI 的游戏来说,哪种导航方法最高效、最灵活?