Медленно вращайте объект по оси Z - PullRequest
0 голосов
/ 22 мая 2019

Как медленно вращать объект по оси z?У меня есть объект под углом z = 0, и я хочу, чтобы он переместился на z = 100.Как мне сделать так, чтобы он медленно вращался в течение 5 секунд?

    public Vector3 rotationDirection;

    public float durationTime;
    private float smooth;

      void Update()
    {
        smooth = Time.deltaTime * durationTime;
        transform.Rotate(rotationDirection * smooth);
    }

вращениеНаправление должно быть от (0,0,0) до (0,0,20), однако вращение не останавливается после достиженияугол.Как мне остановить его, когда оно достигает (0,0,20)?

1 Ответ

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

Использование Quaternion.RotateTowards сделало свою работу.

void Update()
{

Vector3 direction = new Vector3(0, 0, 20);
Quaternion targetRotation = Quaternion.Euler(direction);
transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRotation, Time.deltaTime * 20f);

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...