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

没测过极限 :sweat_smile:

大佬这个极限是多少?有demo可以学习么 :slightly_smiling_face:

代理对象的最大移动速度maxSpeed 这个值改越大没有变快是有那个地方限制了么?

maxSpeed只在计算探测范围时使用,实际的移动速度是根据gameAgent的setPreVe函数值来的

那如果实际的移动速度想通过改变值的方式影响移动位置这个需要调整那个脚本代码作者可以帮看下么

gameAgent.ts有调用setPreVelocity函数传的参数值你乘一个系数就可以了啊。

demo不太稳定,某些圆会被挤飞,然后就再也回不来了 :smiley:

怎么移除障碍物呢

这个主要和设置的参数有关,用demo的默认参数不会发生挤飞的情况吧 :thinking:

之前有个版本写过动态移除单个障碍物,不过会导致发生偶尔的重叠问题就回退了。现版本想动态移除障碍物,就每删掉一个障碍物,就重新执行一遍生成障碍速度域的逻辑。会有些性能消耗,虽然不大。

重新跑一遍processObstacles吗,能不能全部clear了obstacles数组之后跑一遍,目前我只需要把障碍物全部清空

就是全部clear之后再重新跑一遍

用的demo。没改过参数。只是把数量调上来。加了速度。有些方块也是会被挤飞

这个算法的本质就是根据速度去计算出下一帧的位置,然后根据与其他对象的位置进行比较,得出新的速度方向。你如果将速度改大了,探测距离也要适当修改。

商城里的不是最新版本的,有最新版本的吗

最新版有bug回退了。

你好,如果有考虑质量的话参数在哪里可以调,比如质量大的规避速度小一点,质量小的规避速度大一点。

可以在gameAgent中去根据质量计算,里面有setPreVel的函数,就在那里

这个实现方式会降低大质量的速度,如果大质量的物体需要和小质量的物体速度一样,在setPreVel这边修改好像不能实现。

你的意思是不同质量的物体移动速度一样,但是大质量的物体会比小质量的物体更早的开始规避?