所以我使用的是unity3d,我有一个人工智能。它有一个看不见的矩形,总是面向一个字符,如果AI和字符之间的距离小于最大距离,而看不见的矩形没有接触到障碍物,那么AI就会追逐角色。AI将继续巡逻,如果它同时触及两者(球员和障碍)。但问题是,有时如果球员处于某种位置,这种情况就会发生:
AI没有碰到障碍,所以AI向玩家移动。然后AI碰到了他身后的一个障碍。因此,他正在接触球员和障碍,并被告知后退。只要他向后移动一点点,他就不会碰到障碍物,而且距离会小于最大,回到球员的位置。这将永远重复一个恼人的连续循环。
在你回答使矩形变短之前,我需要告诉你:我已经试过了,然后矩形就不会检测到所有的碰撞,因为矩形变成了角。
更多信息:
所以-我该怎么解决这个?我真的很感激你的回答。
发布于 2018-10-09 04:22:09
统一有一个内置的人工智能导航系统。这对你来说可能是一个更好的长期解决方案。你可以设置探测范围等,它可以很好地自动检测障碍。
https://stackoverflow.com/questions/52711701
复制相似问题