motkot
@motkot
Программирование C#.

Почему плавный поворот не работает?

Хочу плавно открывать дверь, но код почему-то не работает

using UnityEngine;

public class Door : MonoBehaviour
{
    [SerializeField] private int _angle;
    [SerializeField] private Transform _root;

    [SerializeField] private State _state;

    enum State
    {
        Standart,
        Open,
    }

    private void OnMouseDown()
    {
        if(_state == State.Standart)
        {
            _root.eulerAngles = Vector3.Lerp(transform.eulerAngles, transform.eulerAngles + Vector3.up * _angle, 1000);

            _state = State.Open;
        }
        else
        {
            _root.eulerAngles = Vector3.Lerp(transform.eulerAngles, transform.eulerAngles - Vector3.up * _angle, 1000);

            _state = State.Standart;
        }
    }
}
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Учи понятия "игровой цикл", "апдейт" и вот это все.
Ответ написан
@pashara
да потому что неправильно написано.
Чтобы что-то двигалось плавно, нужно выполнять код так, чтобы он кждый кадр двигал дверцу нужным образом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы