Задать вопрос
adressmoeistranici
@adressmoeistranici
Делатель

Как повернуть объект зная градус другого объекта?

мне нужно синхронизировать повороты объектов, но не знаю как это сделать)
я уже узнал аулерэнжлс

using UnityEngine;
using System.Collections;

public class RotationFollower : MonoBehaviour 
{
	public GameObject target;
	public GameObject follower;
	public float rot;
	void Update()
	{
		rot = target.transform.rotation.eulerAngles.y;

	}
}
  • Вопрос задан
  • 2197 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Самый простой вариант - применять вращение один к одному.
follower.transform.rotation = target.transform.rotation;

Ещё можно брать только вращение вокруг оси Y, но результат может быть непредсказуемым, если target будет вращаться вокруг двух других осей.
follower.transform.rotation = Quaternion.Euler(0, target.transform.eulerAngles.y, 0);

Достаточно безопасно вычислить вращение вокруг оси Y можно, если взять Transform.forward, и спроецировать его на плоскость XZ.
Vector3 flatForward = target.transform.forward;
flatForward.y = 0;
if (flatForward != Vector3.zero)
{
    flatForward.Normalize();
    follower.transform.rotation = Quaternion.LookRotation(flatForward);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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