3.6.0 物理超卡【只有10fps】

300个刚体 设置线速度 fps只有33了
如果500个刚体 设置线速度 fps 只有10到个位数 有办法进行优化吗?
【目前项目里 策划说同屏500很正常】

test2d.rar (1.9 MB)
大概demo如上 研究了一个国庆了 头秃

一开始以为是碰撞的东西太多 但是 发现同时设置n个线速度就有这个低帧率的问题 :joy: 本来想分帧设置 但是线速度的分帧像是没有用的【因为一直朝着角色的方向移动】

用的bullet么?500个动态刚体同时线性肯定是有问题的,大部分割草游戏都不会走强物理,一般会用简单的数学库实现。

距离检测可以走曼哈顿距离,离人物比较近再进行检测,怪物比较多可以用射线检测或者流体算法避免重叠。如果地图上有其他碰撞物可以走A*

https://blog.csdn.net/weixin_42614080/article/details/90746477?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-90746477-blog-123831565.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-3-90746477-blog-123831565.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=3

2赞

我去试一试 ,主要一开始觉得用物理是可以直接保证,怪物不碰撞 并且【子弹】与【怪物】碰撞检测比较好办。刚刚开始试过rvo2,但是rvo2 的话,500个也蛮卡的【测试下 500个在家里电脑上都是60fps】,然后还要自己写判断 那些 就想着用ccc自带的物理了,谢谢大佬!

有个优化思路,不需要全部走rvo2,通过曼哈顿距离判断下 在白色虚线范围内的走避障,或者走流体屏幕外或者虚线外的用户没感知

1赞

okk 等下午去试一试!谢谢大佬!B2O0I5BAMIVYB5B7F74D

割草嘛?我之前laya200多人

是割草 :rofl: :rofl:

和laya比性能
这不是————


出了个问题 射线检测的时候 传入了 位置 然后发现检测 的时候 要么没有东西 要么检测的出来的碰撞盒子是自己 很奇怪

你的mask是默认的,你改成敌人的看下,另外可以看下商店或论坛,挺多八叉树,xx树

好滴 有空去康康 我发现用Closest 这个类型就能找到正确的了

有本书专门讲这种算法的 肯定不能用物理 物理再好的手机都顶不住

大佬 你最后怎么实现的 能教下吗 我也遇到这类的问题

数量多没有办法用物理