我希望它以从0到非常快的速度旋转。
但是,如果我将旋转的值更改为10,则几乎不会移动,而将200使其缓慢移动。 2000使它运行很快,但是速度有多快?如果我想使其每秒旋转10次,该如何使用Rotate
来做到这一点?
public float rotationSpeed;
private void Update()
{
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
}
答案 0 :(得分:2)
rotationSpeed
是每秒旋转度数的度量 Rotate
的第二个参数需要旋转多个角度。
Time.deltaTime
是自上一帧以来经过了几秒钟。
每秒10度表示它每36秒旋转一次(360/10 = 36)。
每秒2000度表示它每0.18秒旋转一次(360/2000 = 0.18),换句话说,它每秒旋转5.56次(2000/360 = 5.56)。
如果您想每秒旋转n
次,请执行以下操作:
rotationSpeed = n * 360f;
// ...
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
如果您想花n
秒旋转一次,请执行以下操作:
rotationSpeed = 360f / (float)n;
// ...
scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);