首页 > 解决方案 > 如何在 untiy 2d 中构建传感器以进行机器学习?

问题描述

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

标签: c#unity3dmachine-learning

解决方案


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

以下代码应为您提供浮点距离:

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 的计算机中,但我的想法是这样。将传感器用作汽车的游戏对象。另外,请记住将传感器对准您想要的方向,旋转它。


推荐阅读