이번 포스팅은 시네머신을 사용하여 플레이어를 자동으로 추적하는 포스팅을 진행하겠습니다.
포스팅은 유니티 2D 게임 개발(게임 개발 프로그래밍)에 나온 예제로 진행합니다.
#1 유니티2D 개발 시작하기
안녕하세요 첫 포스팅입니다. 유니티2D 관련 포스팅을 진행하겠습니다. 게임개발에 필요한 지식을 전달하고 함께 학습하겠습니다. 먼저 유니티2D 개발 블로그 포스팅에 앞서 참고한 책을 소개합
my-develop-note.tistory.com
시네머신(Cinemachine)
시네머신은 유니티 게임 안의 카메라, 시네마틱, 컷 신을 자동화할 수 있는 도구 모음입니다.
시네머신을 사용하면 모든 형태의 카메라 움직임, 다른 카메라로의 전환 등 자동화 할 수 있습니다.
시네머신을 사용하여 플레이를 자동으로 추적하도록 하겠습니다.
먼저 시네머신을 설치하도록 하겠습니다.
Window > Package Manager > Cinemachine > Install를 클릭하여 시네머신을 설치하도록 하겠습니다.
1. Component 탭에서 새롭게 Cinemachine이 추가가 된 것을 확인할 수 있습니다.
2. Project창 > Packages 폴더에 Chinemachine 폴더가 생성이 된 것을 확인할 수 있습니다.
Hierarchy창 > 마우스 오른쪽 클릭 > Cinemachine > 2D Camera를 선택합니다.
1. Hierarchy창에 "Cm vcam1"이라는 시네머신 가상 카메라 오브젝트가 만들어집니다.
2. Main Camera 오브젝트에 CinemachineBrain 컴포넌트가 생깁니다.
HIerarchy창에 생성된 시네머신 가상 카메라는 메인 카메라의 방향을 바꾸거나 이동 방식을 지정할 수 있는 조종기라고 생각하면 됩니다.
가상 카메라가 따라다닐 대상을 설정하거나, 지정한 경로를 따라서 움직이게 하거나, 지정한 경로로 가다가 경로를 바꾸거나, 필요한 변수를 조절합니다.
CinemachineBrain 컴포넌트는 메인카메라와 가상카메라를 이어주는 연결고리 입니다.
CinemachineBrain 컴포넌트는 활성화해야 할 가상 카메라가 있는지 지켜보다가 활성화할 카메라의 상태를 메인 카메라에 적용합니다.
"CM vcam1"(시네머신 가상 카메라) 오브젝트 > CinemachineVirtualCamera > Follow에 PlayerObject를 드래그 앤 드롭합니다.
게임을 실행하면 카메라가 플레이어를 따라다니며 비추는 것을 알 수 있습니다.
다음은 가상카메라의 몇가지 속성에 대하여 알아보겠습니다.
Cm vcam1 오브젝트의 Inspector창에서 CinemachineVirtualCamera컴포넌트를 확인하겠습니다.
Game Window Guides는 게임창에 안내선을 보여주는 속성입니다.
게임을 실행하였을때 안내선이 잘 보이지 않을 것입니다.
안내선을 잘 볼수 있도록 타일맵과 배경색을 변경하겠습니다.
Grid 오브젝트 > Layer_Ground 오브젝트를 선택하여 Inspector창에서 이름 옆에 있는 체크 박스를 해제하겠습니다.
다음은 MainCamera의 배경색을 바꾸도록 하겠습니다.
MainCamera오브젝트 > Camera 컴포넌트 > Background 속성을 하얀색으로 변경하였습니다.
Hierarchy창에서 CM vcam1 오브젝트를 선택하고 Game뷰를 보니 사진과 같이 안내선이 보입니다.
다음은 Inspector에서 Dead Zone Width, Dead Zone Height의 값을 0.1로 변경하였습니다.
Game뷰를 보니 플레이어 주변에 하얀상자가 생긴것을 확인 할 수 있습니다.
Dead Zone의 범위가 설정이 된 것입니다.
가운데 노란색점은 "트래킹 포인트"입니다.
트래킹 포인트는 플레이어와 함께 움직이게 되는데 이 트래킹포인트가 Dead Zone을 벗어나 파란색 영역에 도달하게 되면 카메라가 움직입니다.
Dead Zone을 좀 더 확장시키고 플레이어를 움직여보면 어떤차이가 있는지 확인 할 수 있습니다.
다음으로 Damping은 DeadZone이 트래킹 포인트를 따라잡을때까지 걸리는 시간을 말합니다.
Damping의 값과 DeadZone의 값을 변경하면서 확인해보시기 바랍니다.
다 확인한 후에 자신에 맞게 값을 설정하고 마지막으로 위에서 감춰놓았던 Layer_Ground를 체크하여 화면에 보이도록 하겠습니다.
마지막으로 Ctrl + S를 눌러 Scene을 저장합니다!
감사합니다! :)
'유니티2D' 카테고리의 다른 글
#11-3 유니티 시네머신 안정화, 마무리 작업 (0) | 2020.12.06 |
---|---|
#11-2 유니티 시네머신(Cinemachine) 제한자 (2) | 2020.12.05 |
#10 유니티 그래픽, 카메라 (0) | 2020.12.03 |
#9-2 유니티 타일 팔레트(도구 소개, 배경 그리기, 정렬 레이어) (0) | 2020.12.03 |
#9-1 유니티 타일맵, 타일팔레트 (0) | 2020.12.01 |