Четверг, 14 Ноября 2024, 21:11

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
столбик неваляшка
Kot-MatroskinДата: Среда, 07 Декабря 2016, 11:30 | Сообщение # 1
был не раз
Сейчас нет на сайте
Общем всё просто, есть столбик 3 по Y и соответственно по X и Z - 1 и 1 надо сделать чтобы при наклоне больше критического угла он возвращался к до критическому.
Вот что я смог придумать но работает не правильно.
Код
    Rigidbody rb;
    public Transform _sample; // Образец для подражания
    public Transform _baseOfColumn; // Пустышка в основании столбика с риджит бади
    public float _angle; // Угол между образцом и столбиком
    // Use this for initialization
    void Start()
    {
        rb = _baseOfColumn.GetComponent<Rigidbody>     ( );
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        Quaternion _base = _baseOfColumn.rotation;
        Quaternion _smpl = _sample.rotation;
        _angle = Quaternion.Angle(_base, _smpl);
        if (_angle > 40)
        {
            // Этот вариант ведёт себя очень странно
            transform.rotation = Quaternion.Slerp(_base, _smpl, 0.5f);

            // В этом прыгает всё время хотя и не падает
            _baseOfColumn.rotation = Quaternion.Slerp(_base, _smpl, 0.5f);

            // И в этом тоже прыгает всё время и тоже не падает
            rb.rotation = Quaternion.LerpUnclamped(_base, _smpl, 1f);

            // И в этом тоже прыгает всё время и тоже не падает
            rb.MoveRotation(Quaternion.LerpUnclamped(_base, _smpl, 1f));
            //

        }

    }

И как бы избавится от объекта образца?
Помогите пожалуйста сделать чтобы столбик не мог упасть и реалистично возвращался в угол указанный мной, ибо он может оказаться на наклонной поверхности поэтому он должен вернутся не строго вертикально а в исходное положение.


Сообщение отредактировал Kot-Matroskin - Среда, 07 Декабря 2016, 19:43
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг