
Unity에서 이동하는 차량을 따라다니는 팔로우 카메라를 설정하는 방법을 자세히 알아보겠습니다. 이 기능은 플레이어의 움직임을 따라 카메라가 자연스럽게 이동하도록 만들어 게임의 몰입감을 높여줍니다.
목표: 차량이 게임 내에서 이동할 때, 카메라가 해당 차량을 지속적으로 따라가며 화면 중앙에 위치시키는 것입니다.

먼저 Unity 프로젝트를 열고, 차량(GameObject)과 메인 카메라가 씬(Scene)에 배치되어 있는지 확인합니다.


씬 뷰(Scene View)에서 이동 툴(Move Tool)을 사용하여 카메라의 위치를 조정해보세요.

카메라의 위치를 변경하면 게임 뷰(Game View)에서 보이는 화면이 어떻게 달라지는지 확인합니다.
이 과정에서 카메라의 위치가 게임에 어떤 영향을 미치는지 이해할 수 있습니다.

카메라가 차량을 따라다니게 하기 위해서는 스크립트를 작성해야 합니다.
이제 카메라가 차량을 따라가도록 스크립트를 작성해보겠습니다.
먼저, 카메라가 따라갈 대상을 지정하기 위한 변수를 선언합니다.
using UnityEngine;
public class FollowCamera : MonoBehaviour
{
[SerializeField] GameObject thingToFollow;
}
카메라의 위치를 차량의 위치에 맞춰 업데이트하기 위해 LateUpdate() 메서드를 사용합니다.
void LateUpdate()
{
transform.position = thingToFollow.transform.position + new Vector3(0, 0, -10);
}
최종적으로 작성된 스크립트는 다음과 같습니다.
using UnityEngine;
public class FollowCamera : MonoBehaviour
{
[SerializeField] GameObject thingToFollow;
void LateUpdate()
{
transform.position = thingToFollow.transform.position + new Vector3(0, 0, -10);
}
}

작성한 스크립트를 Unity 에디터로 돌아가서 적용해보겠습니다.
이제 모든 설정이 완료되었습니다. 게임을 실행하여 카메라가 차량을 잘 따라다니는지 확인해보세요.
예를 들어:
[SerializeField] float cameraOffsetZ = -10f;
void LateUpdate()
{
transform.position = thingToFollow.transform.position + new Vector3(0, 0, cameraOffsetZ);
}
이렇게 하면 Inspector에서 Camera Offset Z 값을 쉽게 변경할 수 있습니다.
Unity에서 스크립트의 실행 순서를 이해하면 더 효율적인 코드를 작성할 수 있습니다.
이러한 실행 순서를 이해하면, 언제 어떤 메서드에서 로직을 처리해야 하는지 결정하는 데 도움이 됩니다.
마지막으로, 모든 내용을 반영한 완성된 FollowCamera 스크립트는 다음과 같습니다.
using UnityEngine;
public class FollowCamera : MonoBehaviour
{
[SerializeField] GameObject thingToFollow;
[SerializeField] float cameraOffsetZ = -10f;
void LateUpdate()
{
transform.position = thingToFollow.transform.position + new Vector3(0, 0, cameraOffsetZ);
}
}
이 스크립트는 카메라가 지정한 대상을 따라가며, Z축 오프셋을 통해 적절한 거리를 유지합니다.
이렇게 해서 Unity에서 차량을 따라다니는 팔로우 카메라를 설정하는 방법을 알아보았습니다. 이번 예제에서는 기본적인 따라가기 기능을 구현했지만, 필요에 따라 카메라의 움직임을 부드럽게 만들거나 회전을 추가하는 등 다양한 확장이 가능합니다.
Tip: Unity의 Cinemachine 플러그인을 사용하면 더욱 강력하고 다양한 카메라 기능을 손쉽게 구현할 수 있습니다. 나중에 여유가 생기면 Cinemachine을 활용해 보는 것도 좋습니다.
여러분의 게임 개발에 도움이 되길 바라며, 즐거운 개발 되세요!