我的刚体具有速度,我定义了一个变量 float drag = 0.995f
这样一来。
void FixedUpdate(){
rb.velocity *= drag;
}
它的工作正常,但我想我必须要用。Time.deltaTime
以使拖动时间一致,所以我的问题是如何写一个时间一致的拖动公式?我是否应该直接设置 drag
作为一个真正的大值,并写上 rb.velocity *= drag * Time.deltaTime
并调 drag
直到我满意为止?
我只是想用 rb.velocity *= (1 - drag * Time.deltaTime)
而且看起来工作得很好。
两者都可以工作.
由于你使用的是 FixedUpdate
你也会想使用 固定时间 而不是 deltaTime
.
rb.velocity *= drag * Time.fixedDeltaTime;
rb.velocity *= (1 - drag * Time.fixedDeltaTime);
你用哪个公式,其实是看个人喜好的。要知道第一个公式会随着阻力值的增加而减少实际阻力。