[LayaAir 1.0]SphereCollider和MeshCollider碰撞检测的bug

SphereCollider去碰撞MeshCollider时,代码实现如下:
var meshCollider=other;
if (Collision.sphereContainsBox(this.boundSphere,meshCollider._boundBox)!==/*laya.d3.math.ContainmentType.Disjoint*/0){
var positions=meshCollider.mesh._positions;
for (var i=0,n=positions.length;i < n;i++){
if (Collision.sphereContainsPoint(this.boundSphere,positions[i])===/*laya.d3.math.ContainmentType.Contains*/1)
return true
}
return false;
}else {
return false;
}
break ;
 
上面代码中的
var positions=meshCollider.mesh._positions;
这个poistions是几何体初始化时的定点坐标,而不是根据几何体位置计算出来的当前坐标。所以SphereCollider和MeshCollider碰撞时,会不生效。
已邀请:

Aar0n

赞同来自:

这个位置就是初始化的位置,等号右边的值变了他会跟着变,您修改了底层的东西吗?这个bug是否有可复现的demo?

NothingSerious

赞同来自:

请贴出完整代码行不?
var meshCollider=other;
 
鬼知道这个other代表啥,我们不想去猜!

要回复问题请先

商务合作
商务合作