统一改变代码不工作的摩擦(2D)
Unity changing friction from code not working (2D)
我想从代码中更改对撞机的物理 material,我使用下面的代码。我在检查器中看到 material 的摩擦力发生变化,但是对撞机的行为就像摩擦力不会改变一样。
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 错误。
您可以 disable/enable 您的对撞机应用 material 更改,有时还可以轻弹一下纹理。
我想从代码中更改对撞机的物理 material,我使用下面的代码。我在检查器中看到 material 的摩擦力发生变化,但是对撞机的行为就像摩擦力不会改变一样。
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 错误。 您可以 disable/enable 您的对撞机应用 material 更改,有时还可以轻弹一下纹理。