【精品插件系列】高性能碰撞系统

好强啊 我一脸懵

版本2.0更新

1.适配ccc3.0版本

2.继承后无需使用super.onLoad等方法,防止忘记写而导致不回调的bug

3.删除全局on_collide回调,是回调逻辑统一,不易出错

4.onable和ondisable自动添加和删除,不需要自己操作,更加方便

5.新增update_size方法(仅限矩形)

6.新增快捷菜单lq,方便寻找脚本

7.修复绘图受缩放影响的bug

8.新增check_collide方法,方便主动调用碰撞结果

注意:2.x版本is_enbale默认等于false,需要手动开启

import {LQCollideSystem} from "../lq_collide_system/lq_collide_system";

protected start(): void {
     LQCollideSystem.is_enable = true;
}

插件发布以来,收到了很多好评,也收到了很多建议,很感谢大家的支持。综合大家的反馈我把一些有用的整理一下放出来,避免后来的同学走弯路。

1.打印日志可做调试用,大量的打印日志很消耗性能

2.绘图功能同理只做调试用,因为给碰撞体单独添加的Graphics,大量的绘图会增加dc影响性能

3.四叉树的优化效果虽然很强,但是由于四叉树需要划分区域的,如果有两个碰撞体刚好在区域的线上,就有可能被检测两次, 从而会一帧两次回调,如果对次数有要求的逻辑,需要自行做去重逻辑,简单的办法就是设置标志位

4.从2.0版本起,碰撞需要添加两个Component(编辑器中操作会自动添加另外一个),所以不建议动态添加Component的方式,建议把需要的碰撞体做成预制体

商店地址

1赞

大佬。请问支持3D物体的绑定么。Y轴我不检测,只进行XZ的检测。

我用的xy,没用z

v2.1.0版本更新

  • 添加30/60帧率选择,方便快速选择游戏合适的帧率,提升运行效率
  • 修复若干bug,完善提示信息

战略mark

mark!!

大佬有在ios微信小游戏上测试过么? 因为其他平台如安卓等,内置物理系统的性能就足够,但是ios由于不支持jit,卡成狗,咱这个不知道在ios微信小游戏上怎么样。

看你游戏情况会有5-15帧的提升

大佬 牛皮!

make!!!

on_enter和on_exit没有触发是怎么回事

is_open_func置为true

mark!!!

mark!

大佬 四叉树怎么设置呢

:slightly_smiling_face:

节点修改scale后绘制的碰撞框变了,但是实际碰撞区域没有变是为什么呢

碰撞区域不随节点缩放改变,需要自己维护一下大小