[Unity] 플레이어를 따라오는 카메라 만들기(2D)
카메라를 플레이어의 자식으로 종속시키면 추후 문제발생 시 수정사항이 많기 때문에
카메라에 스크립트를 하나 붙여서 플레이어를 따라다니도록 만들었다.
player의 Transform을 가져왔고,
추후 사용할 Lerp함수에서 카메라가 쫒아오는 속도를 조절할 변수 smooth를 정의했다.(낮을수록 천천히 따라옴)
player의 Transform은
gameManager가 생성 될 때 초기화 할 예정 (mainCamera.player = player.transform;)
플레이어 위치가 변경된 후 카메라 위치를 변경되게 하기 위해 Update가 아닌 FixedUpdate로 호출하였다.
Vector3 targetPos에 player의 position을 넣어주었고
선형보간(Linear Interpolation)을 수행하는 Lerp함수를 이용하여 카메라가 따라오도록 만들었다.
Mathf.Lerp(float a, float b, float t)
Lerp는 a, b 사이의 t(0~1) 만큼 위치한 c를 선형보간 공식을 통해 구해준다.
여기서 t는 percent(%)이기 때문에 0은 a, 1은 b와 같다.
스크립트를 카메라에 붙여주면 끝!
맵구성을 아직 하지 않아서 Scene뷰에서 카메라가 쫒아오는 것을 확인했다.
[참고]
[Unity] 선형보간 Lerp 함수와 유니티에서의 선형보간 활용 사례(Alpha Blending, iTween)
선형보간 (Lerp) 선형 보간(Linear Interpolation)이란 두 점 a, b 사이의 값(c)를 구하기 위해 a-b 두 점을 연결한 직선을 만들어 사이 값을 계산하는 방법이다. 유니티에서 Lerp는 선형 보간을 사용하여 부
thepathfinder.co.kr