• Как реализовать преследование в UNITY, но только по осям X и Z?

    CHIDWI
    @CHIDWI
    Unity3D Developer
    Делай псевдо2д - самый простой вариант, изначально Unity 3d движок и даже когда ты создаёшь 2д проект, там идёт почти такая же обработка как и 3д. Так вот:
    Создаёшь 3д проект, переключаешь камеру в 2д, поворачиваешь "ground" лицом к камере, потом ставишь на неё препятствия из кубов "условно". Создаешь персонажа, делаешь ему управление с передвижением только по 2 нужным осям, кидаешь на него 2д спрайт. А ботов настраиваешь через стандартный NavMesh и вуаля, у тебя 2д игра с 3д возможностями.
    Ответ написан
    9 комментариев
  • Как зафиксировать камеру на вращающемся объекте?

    @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);
      }
    }
    Ответ написан
    Комментировать