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;
        }
    }
}
  • Вопрос задан
  • 58 просмотров
Пригласить эксперта
Ответы на вопрос 2
GavriKos
@GavriKos Куратор тега Unity
Учи понятия "игровой цикл", "апдейт" и вот это все.
Ответ написан
@pashara
да потому что неправильно написано.
Чтобы что-то двигалось плавно, нужно выполнять код так, чтобы он кждый кадр двигал дверцу нужным образом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы