【发布时间】:2017-05-20 02:54:38
【问题描述】:
出于学习目的,我正在使用 Unity 2D 开发一个项目。这是一场乒乓球比赛。我有它的材料,所以它每次弹跳时都会跑得更快。它的材料唯一的问题是它的速度失控并出现故障。我想找到阻止它的方法。
例如,我想知道如何在球达到峰值速度时保持恒定速度,例如 15f。这是一个Rigidbody2d 对撞球。
【问题讨论】:
标签: c# unity3d constants collider
出于学习目的,我正在使用 Unity 2D 开发一个项目。这是一场乒乓球比赛。我有它的材料,所以它每次弹跳时都会跑得更快。它的材料唯一的问题是它的速度失控并出现故障。我想找到阻止它的方法。
例如,我想知道如何在球达到峰值速度时保持恒定速度,例如 15f。这是一个Rigidbody2d 对撞球。
【问题讨论】:
标签: c# unity3d constants collider
正如post 中所建议的,您可以控制
你的刚体使用Vector2.ClampMagnitude 方法,同时在你的OnFixedUpdate() 中跟踪它。 为了您的方便,我在我引用的帖子中提供了代码。我编辑了引用帖子中提供的代码以匹配 API 的最新更改:
float maxVelocity = 10;
void FixedUpdate()
{
rigidbody2D.velocity = Vector2.ClampMagnitude(rigidbody2D.velocity,
maxVelocity);
}
【讨论】:
UnityEngine.Component' does not contain a definition for velocity' 并且找不到扩展方法 velocity' of type UnityEngine.Component'。您是否缺少程序集参考?你有什么想法吗?很抱歉一直打扰您。