Плавное приближение камеры при старте Unity

Как можно реализовать заскриптованую камеру в Юнити? По такому сценарию: 1.Камера показывает всю сцену целиком 1 секунду. 2. Плавно подлетает к объекту.

В целом мне не ясна часть только с плавным подлетом к объекту, ибо все мои попытки трансформить камеру выполнялись моментально.


Ответы (1 шт):

Автор решения: Honey Cake

Решил примерно таким образом:

public class CameraController : MonoBehaviour
    {
        [SerializeField] private Vector3 offset;
        [SerializeField] private int delayTime = 1;
        private float time;
        private GameObject player;
        private bool zoomStatus;

        private void Start()
        {
            player = GameObject.FindGameObjectWithTag("Player");
            StartCoroutine(ScriptedCamera());
        }

        void Update()
        {
            CameraZoomStatus(zoomStatus);
        }

        private void CameraZoomStatus(bool status)
        {
            if (!status) return;
            time += 0.001f * Time.deltaTime;
            transform.position = Vector3.Lerp(transform.position, player.transform.position + offset, time);
        }


        private IEnumerator ScriptedCamera()
        {
            yield return new WaitForSeconds(delayTime);

            zoomStatus = true;
        }
    }
→ Ссылка