在监听物理刚体之间的碰撞的时候,
onCollisionObstacleBase(collision: ICollisionEvent) {
let selfCollider = collision.selfCollider;
let otherCollider = collision.otherCollider;
let obstacleBaseCtrl: ObstacleBaseCtrl = otherCollider.getComponent(ObstacleBaseCtrl);
if (obstacleBaseCtrl == null)
return;
cc.log('egg 接触点' + JSON.stringify(collision.contacts));
obstacleBaseCtrl.onCollisionBirdBase(this, collision);
}
可以通过selfCollider和otherCollider来得到自己的刚体和对方的刚体,这个是没有问题的。但是问题出现在这个
contacts数组里的
contactA 和 contactB 上,我现在发现这个碰撞点A和碰撞点B到底属于哪个碰撞体是不明确的。
有的时候 碰撞A属于selfCollider。但是有的时候这个碰撞点A是属于otherCollider的。
我目前观察到的规律貌似就是 碰撞点A 会属于 先创建的刚体。 碰撞点B会属于后创建的刚体。
不知道,有没有明确的办法得知碰撞点到底是属于 selfCollider 还是 otherCollider哦
引擎版本1.0.3
物理引擎是 cannon.js