【bug反馈】:3.3物理系统设置分组无效!!

  • Creator 版本: 3.3

  • 目标平台: chrome

  • 重现方式:

  • 首个报错:

  • 之前哪个版本是正常的:

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统:

  • 重现概率: 100%

物理系统 PhysX

# 测试1

地面分组为 default,球分组为 default,一秒后球分组改变为 test1,此时分组改变有效

# 测试2

地面分组为 default, 中间模型为 test1, 球为test1, 中间模型监听触发后改变球分组为default,此时分组改变无效!

物理矩阵如下
{{V8XH6N@8NN(XYRK`)5D

@215194780 @jjyinkailejj

项目demo:NewProject_1.zip (9.5 KB)

1赞

我仔细研究了一下这个demo。有一个大胆的猜测。
“如果在游戏运行时,用代码改变一个刚体的group的话。那么这个刚体就无法与任何刚体发生碰撞。即使是满足刚体分组条件也不行。”

有可能,刚转版本就遇到这种问题,就要上线了

把物理引擎切换到别的,别用physx呢?

结果一样。

你的猜测是对的 :upside_down_face:

已解决,3.x的碰撞矩阵和2.x不同,分开了分组和掩码,所以想要让分组设置生效 必须同时设置分组和掩码
例:

rigbody.group = cc.PhysicsSystem.PhysicsGroup.DEFAULT;
rigbody.setMask(
	cc.PhysicsSystem.instance.collisionMatrix[cc.PhysicsSystem.PhysicsGroup.DEFAULT]
);
1赞