我想从代码中更改对撞机的物理材料,我使用下面的代码。我在检查器中看到了物料的摩擦力发生了变化,但是对撞机的行为好像摩擦力不会改变。
void checkOnGround() {
Transform t;
foreach(Collider2D c in collidingTiles) {
t = c.transform;
if(t.position.y - transform.position.y < -Misc.TILE_SIZE * 0.75f) {
onGround = true;
myCollider.sharedMaterial.friction = 0.8f;
return;
}
}
onGround = false;
myCollider.sharedMaterial.friction = 0f;
return;
}
有已知的Unity错误。您可以禁用/启用对撞机以应用更改的材质,有时还需要一些轻弹的纹理。