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;

	}
}
  • Вопрос задан
  • 2149 просмотров
Решения вопроса 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);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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