我怎样才能改进我的人工智能而不是来回反弹
How Can I Improve My AI To Not Bounce Back And Forth
所以我正在使用 unity3d 并且我有一个 AI。它有一个始终面向角色的隐形矩形,如果 AI 和角色之间的距离小于最大距离并且隐形矩形没有碰到障碍物,那么 AI 将追逐角色。如果 AI 同时接触两者(玩家和障碍物),它将继续巡逻。但问题是,有时如果玩家处于某个位置,就会发生这种情况:
AI 没有碰到障碍物,因此 AI 向玩家移动。然后人工智能碰到了他身后的障碍物。所以他正在接触玩家和障碍物,并被告知向后移动。一旦他向后移动一点,他就不会碰到障碍物并且小于最大距离并回到玩家身边。这永远重复给出一个烦人的连续循环。
在你回答让矩形更短之前,我需要告诉你:我已经尝试过,但由于矩形转向的角度,矩形并没有检测到所有碰撞。
更多信息:
- 矩形始终准确面向玩家。
所以 - 我该如何解决这个问题?我真的很感激任何答案。
Unity 有一个内置的 AI 导航系统。这对你来说可能是一个更好的长期解决方案。您可以设置检测范围等,它可以很好地自动检测障碍物。
这里有一个很棒的教程:
https://unity3d.com/learn/tutorials/s/navigation
所以我正在使用 unity3d 并且我有一个 AI。它有一个始终面向角色的隐形矩形,如果 AI 和角色之间的距离小于最大距离并且隐形矩形没有碰到障碍物,那么 AI 将追逐角色。如果 AI 同时接触两者(玩家和障碍物),它将继续巡逻。但问题是,有时如果玩家处于某个位置,就会发生这种情况:
AI 没有碰到障碍物,因此 AI 向玩家移动。然后人工智能碰到了他身后的障碍物。所以他正在接触玩家和障碍物,并被告知向后移动。一旦他向后移动一点,他就不会碰到障碍物并且小于最大距离并回到玩家身边。这永远重复给出一个烦人的连续循环。
在你回答让矩形更短之前,我需要告诉你:我已经尝试过,但由于矩形转向的角度,矩形并没有检测到所有碰撞。
更多信息:
- 矩形始终准确面向玩家。
所以 - 我该如何解决这个问题?我真的很感激任何答案。
Unity 有一个内置的 AI 导航系统。这对你来说可能是一个更好的长期解决方案。您可以设置检测范围等,它可以很好地自动检测障碍物。
这里有一个很棒的教程: https://unity3d.com/learn/tutorials/s/navigation