먼저, 1번 방법은 메인 카메라는 많은 곳에서 사용하기 때문에 프로젝트를 진행할 수록 많은 버그를 유발할 수 있기 때문에 사용하지 않았다.
그래서 2번 방법으로 진행하였다.
public class CameraController : MonoBehaviour
{
private Camera _camera;
[SerializeField] private GameObject _player; // 플레이어 받기
private Vector3 _cameraPositionZ = new Vector3(0, 0, -10); // 카메라 z값 설정
private void Awake()
{
// 메인 카메라 받기
_camera = Camera.main;
}
private void FixedUpdate()
{
// 메인 카메라에 컴포넌트를 추가하고, 메인 카메라의 포지션을 플레이어와 동일하게 해준다.
// 단, 카메라는 멀리서 봐야하므로 z값을 추가해준다.
transform.position = _player.transform.position + _cameraPositionZ;
}
}
