@electricalmuffin

Как можно изменить вращение объекта в Unity3D?

Добрый вечер. Хотелось бы узнать, как можно сделать вращение объекта по оси Y равным повороту по оси Z его родителя.

Родитель
└ Объект
  • Вопрос задан
  • 1017 просмотров
Пригласить эксперта
Ответы на вопрос 2
theinsaneone
@theinsaneone
Unity Developer
Вызвать данный код на дочернем объекте:

var ownLocalAngles = transform.localEulerAngles;
ownLocalAngles.y = transform.parent.eulerAngles.z;
transform.localEulerAngles = ownLocalAngles;


Обратите внимание, что это работает с углами Эйлера объекта, а не с кватернионами.
Ответ написан
Комментировать
@MishkaVNorky
Посмотрите в эту сторону, эту реализацию использовал на голове танка (главное условие было крутить голову локально, по координатам камеры глобальным), что бы она правильно крутилась. Дуло смотрит туда куда смотрит камера, учитывается поворот самого танка. (тут убрана интерполяция).

gun.localRotation = Quaternion.AngleAxis(_cacheCamera.eulerAngles.y - transform.eulerAngles.y, Vector3.up)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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