Плавное приближение камеры при старте 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;
}
}