C# 如何使变换每秒旋转n次?

C# 如何使变换每秒旋转n次?,c#,unity3d,C#,Unity3d,我希望它以从0到非常快的速度旋转。 但是如果我把自旋的值改为10,它几乎不移动,200使它缓慢移动。2000让它运行得更快,但速度有多快?如果我想让它每秒旋转10次,我该如何使用旋转来实现 public float rotationSpeed; private void Update() { scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime); } 按照您使用它的方式,旋转速

我希望它以从0到非常快的速度旋转。 但是如果我把自旋的值改为10,它几乎不移动,200使它缓慢移动。2000让它运行得更快,但速度有多快?如果我想让它每秒旋转10次,我该如何使用旋转来实现

public float rotationSpeed;

private void Update()
{
  scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
}
按照您使用它的方式,旋转速度是每秒旋转角度的度量 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);

因此,您可以微调我假设的速度。因为这是函数的行为我编辑了这个问题,使其更适合堆栈溢出。以前,它太模糊了,没有用处。