@PsyDuckbest

Как зафиксировать камеру на вращающемся объекте?

Здравствуйте! У меня персонаж поворачивается по четырем направлениям моментально с помощью Quaternion.Euler, но вместе с ним поворачивается и камера, которая должна быть статичной. Вот я и думаю, есть ли возможность как-то это исправить без костылей по типу четырех камер которые будут включаться в зависимости от направления персонажа?
  • Вопрос задан
  • 474 просмотра
Решения вопроса 1
@NoNameDeveloper
Unity Developer
Ответил уже в комментариях к другому вопросу, но оставлю чтобы другим было понятно если столкнулись с этим.

Камера не должна быть дочерным объекта который вращается.
Настраивать вращение камеры в ручную, а дистанцию в инспекторе (offset)

using UnityEngine;

// Кинуть на камеру
// Не забывать менять вращение самой камеры в ручную на сколько нужно.
public class CameraFollow : MonoBehavior
{
  // Соединить тут объект которого камера должна преследовать.
  [SerializedField] private Transform _target;

  // Дистанция между объекта и самой камеры.
  [SerializedField] private Vector3 _offset = new Vector3(0, -10, 0);

  // Насколько плавно камера будет следовать за объектом.
  [SerializedField] private float _smooth = .1f

  // Methods

  private void Update()
  {
    transform.position = Vector2.Lerp(transform.position, _target.transform.position + _offset, _smooth);
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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