在我的简单 3D Unity 游戏中,一些门在玩家的路上产生,其中一些提供更多点并使游戏更快,因此更难避免关闭门但在某些时候当游戏变得非常快时,统一无法检测到碰撞和玩家通过关闭的门但没有任何反应或玩家通过 plus3 门但分数没有改变。
public void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("plus3"))
{
score += 3;
Destroy(collision.gameObject);
speed += 4f;
}
}
假设您使用的是 Rigodbody API 而不是简单地沿路径传送对象,您可以在
Edit
> Project Settings
> Time
> Fixed Timestep
下减少物理时间步长,因此更频繁地检查碰撞。它是以性能为代价的,所以在选择一个值时要小心。