이번 포스팅은 #11-1 유니티 시네머신(Cinemachine)으로 플레이어 추적하기의 다음 포스팅으로 카메라를 정해진 영역 안에 머물게 하는 방법에 대하여 포스팅하겠습니다.
#11-1 유니티 시네머신(Cinemachine)으로 플레이어 추적하기 링크는 아래에 있습니다.
포스팅은 유니티 2D 게임 개발(게임 개발 프로그래밍)에 나온 예제로 진행합니다.
시네머신 제한자(Cinemachine confiner)
Cinemachine confiner 컴포넌트를 사용하여 플레이가 화면의 가장자리 가까이 갔을 때 카메라가 움직이지 않게 하겠습니다.
게임을 진행해 보면 플레이어를 찍는 카메라가 플레이어를 따라 끝없이 이동하는 것을 볼 수 있습니다.
플레이어를 찍는 카메라의 제한 영역 과 플레이어가 갈 수 있는 제한 영역을 설정해 보겠습니다.
CM vcam1 가상 카메라 컴포넌트를 선택하고 Inspector창 > CinemachineVirtualCamera 컴포넌트 > Extensions > Add Extension > CinemachineConfiner를 선택합니다.
시네머신 제한자는 제한을 시작할 위치를 지정하는 복합 콜라이더 2D나 폴리콘 콜라이더 2D가 필요합니다.
Layer_Ground 오브젝트를 선택하고 Polygon Cillider 2D 컴포넌트를 추가합니다.
1. Polygon Collider 2D > Edit Collider를 선택하여 콜라이더의 범위를 지정해줍니다.
Scene뷰에 보이는 초록색 테두리가 방금 설정한 콜라이더의 범위 입니다.
만약 꼭지점의 개수를 설정하고 싶다면 SIze의 개수를 설정하시면 되겠습니다.
2. Is Trigger을 체크해줍니다.
트리거를 사용하지 않으면 플레이의 콜라이더와 타일맵의 콜라이더가 충돌하게 됩니다.
1. CM vcam1 가상 카메라 오브젝트의 Inspector창에서 Cinemachine Confiner > Bounding Shape 2D에 Layer_Ground 오브젝트를 드래그 앤 드롭합니다.
2. Confine Screen Edges를 체크해줍니다.
카메라의 제한 영역은 설정하였습니다.
재생버튼을 눌러 게임을 진행해보면 카메라가 플레이어를 따라가다가 방금 지정한 콜라이더 범위 밖으로 플레이거가 벗어나면 더이상 따라가지 않는 것을 확인 할 수 있습니다.
타일맵 콜라이더 & 복합 콜라이더
타일맵 콜라이더와 복합 콜라이더를 사용하여 플레이어가 제한영역 밖으로 못나가게 만들겠습니다.
제가 설정한 제한영역은 물 안에 있는 Ground입니다. 플레이어를 Ground 밖으로 나가지 못하게 만들겠습니다.
먼저 Layer_Ground안에 그려져있는 물 부분을 모두 지워줍니다.
다음으로 Grid 오브젝트에 Layer_Water라는 이름을 가진 Tilemap 오브젝트를 생성하였습니다.
Layer_Water 오브젝트에 Tilemap Collider 2D, Composite Collider 2D(복합 콜라이더 2D) 컴포넌트를 추가합니다.
Conposite Collider 2D를 추가하면 자동으로 Rigidbody2D 컴포넌트가 추가가 됩니다.
Rigidbody 2D 컴포넌트의 Body Type을 Static으로 바꾸어 고정시켜줍니다.
다음은 Tile Palette에서 Active Tilemap을 Layer_Water로 바꾸신 후에 처음처럼 물부분을 채워주시면 되겠습니다.
마지막으로 PlayerObject의 Rigidbody 2D 컴포넌트의 Constaraints > Freeze Rotation z를 체크해줍니다.
플레이어가 콜라이더와 충돌했을때 오브젝트가 회전하는 것을 막겠습니다.
마지막으로 Ctrl + S를 눌러 Scene을 저장합니다!
※다음 포스팅에서는 시네머신 제한자 안정화 작업과 테어링 작업, 남은 오브젝트에 콜라이더 추가와 물리모형 수정하는 작업에 대하여 포스팅하겠습니다.
감사합니다! :)
'유니티2D' 카테고리의 다른 글
#12 유니티 기초 종합, 클래스 구현 (0) | 2020.12.08 |
---|---|
#11-3 유니티 시네머신 안정화, 마무리 작업 (0) | 2020.12.06 |
#11-1 유니티 시네머신(Cinemachine)으로 플레이어 추적하기 (0) | 2020.12.04 |
#10 유니티 그래픽, 카메라 (0) | 2020.12.03 |
#9-2 유니티 타일 팔레트(도구 소개, 배경 그리기, 정렬 레이어) (0) | 2020.12.03 |