从unity的一个例子中移植的一个RVO2例子

大佬 我也发现了对象碰撞有时候会把其中一个对象顶出去 所以造成了瞬移现象,还有就是比如我的一个对象到了目标点 不需要再移动需要怎么操作?

到达目标点后不需要再进行操作,如果想减少一点计算,可以判断一下当前位置和目标位置的距离是否小于一个阙值,如果是,在Agent帧循环计算速度时return。顶出去的问题已经记录,下个版本会更。

对象被顶出瞬移的问题已经定位到问题点,正在排查是写错了还是算法缺陷。暂时给出的解决方案是在计算速度后增加一个判断

障碍物的解决了是吗,

最新版的已经修改了障碍物的存储结构

大佬 请教下,为啥改了maxSpeed 看不出有啥速度变化,还是很慢

还有想请教下步骤帧的意思

maxSpeed更类似于一个探测范围的作用,想速度有所改变需要改变preVec。步骤帧说实话我也不太理解 :joy:目前只是翻译成了ts,还没有开始自己的重写。

评论里有个链接,是一篇关于这套算法的解释,可以对照着看一下。

关于对象被顶出去的问题,我用同样的数据在unity中跑,得出的数据与TS一致,也是会瞬间飞出去 :joy:目前看来maxSpeed设置得太大不行。

大佬 我这边总是会碰到穿透障碍物的问题 就是那些静态不动的物体 您那边有遇到过吗

可以把你的参数发出来看看,

我这边的参数是这样配置的

我下班用你的参数看看。

嗯嗯 辛苦大佬帮忙看看 就动态指定对象的移动目标位置 然后那些对象移动的时候 有挺大概率会穿透障碍物的

没有复现啊。你是说

这个情形吗?

H7WX~ZE{0(5~_QV5A8NJ3H 不对 是类似这样 您看数字20上面 有一个球 和白色障碍物重合了

好的,我看看。

如果方便可以在场景中摆一个能复现的障碍物位置,然后把项目压缩给我。或者把你动态指定对象的移动目标位置的代码截个图。这样我能快速定位问题。

就是coco商店买的原项目 我试了一下 什么都不改 也会出这样的问题 45045f900cfbfc76a291b831121bdd4 72a9a5d62ef80758ec60efda7f159f6