Unity 개발일지

[Unity] 플레이어를 따라오는 카메라 만들기(2D) 본문

Unity 개발

[Unity] 플레이어를 따라오는 카메라 만들기(2D)

아머르 2024. 5. 10. 21:00

카메라를 플레이어의 자식으로 종속시키면 추후 문제발생 시 수정사항이 많기 때문에

카메라에 스크립트를 하나 붙여서 플레이어를 따라다니도록 만들었다.

 

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

 

반응형