当物体以最高速度行进时如何保持速度恒定

时间:2017-05-20 02:54:38

标签: c# unity3d constants collider

我正在使用Unity 2D中的项目进行学习。这是乒乓球比赛。我有它的材料,所以它每次弹跳都会更快。它的材料唯一的问题是它的速度失控并且出现故障。我想找到一种方法来阻止它。

例如,我想知道如何在达到峰值速度时将球保持在恒定速度,例如15f。这是一个Rigidbody2d对撞球。

1 个答案:

答案 0 :(得分:2)

正如本post所述,你可以控制速度 您的刚体使用Vector2.ClampMagnitude方法,同时在OnFixedUpdate()中跟踪它。 我在帖子中提供的代码我引用为了您的方便。我编辑了我在引用帖子中提供的代码,以匹配API中最近的更改:

float maxVelocity = 10;
 void FixedUpdate()
 {
 rigidbody2D.velocity = Vector2.ClampMagnitude(rigidbody2D.velocity, 
  maxVelocity);
 }