본문 바로가기
게임 프로그래밍/유니티 활용

[유니티] 아주 쉬운 카메라 이동 제한

by 레오란다 2024. 4. 16.
반응형

2D 게임은 보통 플레이 캐릭터를 중심으로 이동하기 때문에 맵의 특정 부분에서는 맵의 바깥 영역을 보여주지 않기 위해 카메라가 캐릭터를 따라 다니지 않고 고정될 필요가 있습니다. 아래와 같이 파란색 부분이 나오면 게임의 몰입도가 떨어질 수 밖에 없습니다.

카메라 이동 오류

 

유니티에서는 Cinemachin 이라는 패키지를 제공하는데 이를 이용해 아주 손쉽게 위의 기능을 구현할 수 있습니다. Cinamachine 이 없다면 [Windows > Package Manager] 를 열고 Unity Registry 에서 Cinemachine 을 검색해 설치하시면 됩니다.

 

Package Manager 에서 Cinemachine 설치

 

이제부터 예제로 성이 있는 배경과 용을 사용해 카메라가 배경 이미지 안에서만 용을 따라다니도록 하는 방법에 대해 알아보도록 하겠습니다.

 

우선 아래와 같이 Hierarchy 에서 [+ > Cinemachine > Virtual Camera] 를 선택해 Cinemachine Virtual Camera 를 생성합니다. 메뉴의 [GameObject > Cinemachine > Virtual Camera] 를 선택하셔도 됩니다.

Cinemachine Virtual Camera 생성

 

방금 생성한 Virtual Camera 를 선택하고 Dragon 오브젝트를 드래그 해 Follow 필드에 연결해 줍니다.

드래곤 따라다니기

 

이렇게 하면 카메라가 용을 따라다니게 됩니다.

이제 아래와 같이 Add Extention 을 클릭하고 CinemachineConfiner2D 를 선택합니다.

CinemachineConfiner2D 추가

 

이제 추가된 컴포넌트의 Bounding Shape 2D 에 경계로 사용할 Collider 2D 를 만들어 연결해 주면 끝입니다.

CinemachineConfiner2D

 

빈 GameObject 를 만들고 선택한 다음 Inspector 창에서 [Add Component] 를 클릭하고 poly 로 검색해 Polygon Collider 2D 를 선택합니다.

Polygon Collider 2D

 

Polygon Collider 2D 를 추가 했으면 아래 그림과 같이 에디터 버튼을 클릭하면 Scene 에 5각형의 초록색 선이 생기는데 마우스를 가져다 대면 잡고 움직일 수 있습니다. 이를 이용해 배경 이미지의 외각에 맞도록 경계를 만들어 줍니다.

경계 설정

 

이제 모든 작업이 끝났습니다. Play 버튼으로 실행을 하고 용을 움직여 보면 카메라가 용을 따라다니지만 Polygon Collider 2D 로 설정한 영역 밖으로 나가지 않을 것입니다.

반응형

댓글