unity3d 自带寻路问题

有两个障碍物在前面但他还是要从里面过,但又过不去就一直卡在那里。怎么解决?

注意:以下都是基于没有刚体的情况下
1、如果障碍物是不会移动的,那么请在bake时候连同地形一起bake,这样就会生成较好的navmesh
2、如果障碍物需要移动,那么请在障碍物上添加agent,并设置其大小,然后设置avoidancePriority,低优先级的将被高优先级的agent强行推开

实在不愿意有推开的这种情况,只能写一个帮助脚本了,先找到一个中间点,移动到中间点,然后再移动到目标点。
造成这个问题的原因是:设行动者为A,障碍物为B1,B2,AB1为A射向B1射线,同样还有AB2,如果A寻路的目标P在2个法线之间,那么必然会被卡住。

另外要提的是,使用navmesh,没有必要不断的寻路,这样比较耗性能。而且遇到被卡住的情况,再怎么寻路都是没用的,一定要用一个中间方法追问

那太麻烦了,你觉得用什么寻路插件比较好呢。可以实现动态障碍的、自动避开自己人的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-05
你可以加个判断,如果上一帧和这一帧位置相同或者相距不远,就重新另寻路径追问

我就是不断重新寻路径的。。。

相似回答