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