各位大佬,小弟在学习Cocos creator,照着土豆兄弟做rougelike类的。
我创建了一个怪物的Prefab,然后用code加载,当加载到几十个的时候,直接卡的不动了。
细节:
我在update方法中使用进行对node节点的position设置,也就是每帧刷新一次;
在所有的物体都是刚体;
为了实现怪物追击的效果,每100ms,发送一次Event事件,更新所有怪物的Rigid 线性速度;
。
但是当怪物就只有几十个的时候,就直接卡爆了。
请教各位大神,我的code 性能损耗在哪里。是不是过于依赖update方法的问题?
求解答
Rigid 卡了
大佬,Rigid卡了 什么情况。。小弟不甚明白。
挺清晰的,有点复杂, 慢慢消化消化。毕竟是新手
你可以用chrome的性能分析看下哪一步效率太低
不知道 大佬可否指点一下?
刚体去掉试试不就知道了
东西太少了看不出来啥,不知道你代码咋写的
好建议,把怪物的刚体去掉了确实不卡了,但是我是用法不对吗?50个刚体就这么卡吗?
我会创建50个怪物,都是刚体,开启了碰撞检测,当创建快40多个时候就非常的卡。听别人的建议,把怪物的刚体去掉了确实不卡了,但是我是用法不对吗?50个刚体就这么卡吗?
碰撞的东西多的话你可以了解下rvo算法,如果不需要物理特性不需要用box2d
应该是碰撞检测问题,我关闭碰撞检测之后,就没问题。看来可能要设置一个范围,在范围内的节点在开启碰撞检测
不用物理,论坛很多优化碰撞的,自己随便搞一份就行了
明白了,单纯检测碰撞的话,就用RVO的算法来实现,对吧
你使用刚体的方法不对。50个应该不会卡顿的。我测试了400个刚体才会卡。
教程链接能贴一下吗。。。
我也想学学看。。。
你是不是碰撞分组全打勾了,导致每针都会触发多个碰撞回掉