Как сделать преобразование Поворот n раз в секунду? - PullRequest
0 голосов
/ 22 мая 2019

Я хочу, чтобы он вращался со скоростью от 0 до очень быстро.Но если я изменяю значение вращения на 10, оно почти не движется, а 200 заставляют его двигаться медленно.2000 заставляет его двигаться быстро, но как быстро это?Если я хочу, чтобы он вращался 10 раз в секунду, как я могу использовать Rotate для этого?

public float rotationSpeed;

private void Update()
{
  scaling.objectToScale.transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
}

1 Ответ

2 голосов
/ 22 мая 2019

Как вы используете, 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...