[Unity]07.좀비 서바이버 따라하기 #1 - 레벨 아트와 플레이어 준비

안녕하세요 유랑입니다.



실력향상을 위해서 오늘도 책을 따라하면서 공부하겠습니다.

궁금하신점 있으시면 댓글로 남겨주세요^^




1. 좀비 서바이버



이번 강의는 레트로님께서 만든 예제이며,

교재를 구입하시면 자세한 내용을 배우실 수 있습니다.

저는 책을 구입하였고, 스킬업을 위해서 복습겸 글을 올리겠습니다.



깃허브 사이트 => 깃허브

유튜브 사이트 => 유튜브







1-1) 프로젝트 준비 및 세팅 - ㉠생성



프로젝트를 생성해 주겠습니다.






저는 책에서 제공한 에셋만 사용하였기에 조금 다를 수 있습니다.

에셋의 폴더는 다음과 같습니다.


* Animations : 캐릭터 애니메이션

* Audios : 효과음과 음악 오디오 클립

* Fonts : 폰트

* Gizmos : 시네머신이 사용하는 기즈모 아이콘(시네머신 패키지 추가 시 자동 생성됨)

* Materials : 3D 모델에 사용할 머티리얼

* Modles : 3D 모델

* Post-Process Profile : 후처리에 사용할 프로파일(프리셋)

* Prefabs : 프리팹

* Scripts : 스크립트

* Sprites : 2D 텍스처(스프라이트)

* Textures : 3D 모델의 텍스처






1-2) 프로젝트 준비 및 세팅 - ㉡패키지 매니저



상단에 있는 메뉴 Window => Package Manager를 클릭해 주세요.

패키지는 아트 에셋, 플러그인, 스크립트 등을 압축한 파일입니다.

그 중에서 시네머신과 포스트 프로세싱을 추가해 주겠습니다.


* Cinemachine : 스마트 추적 카메라와 복잡한 카메라 연출을 손쉽게 구현합니다.

* Post-Process : 전체 이름은 포스트 프로세싱 스택입니다. 후처리 효과를 구현합니다.







1-3) 프로젝트 준비 및 세팅 - ㉢레벨 아트 추가



Main이라는 씬을 만든 후 Level Art를 추가하겠습니다.

우리가 사용할 맵을 만들어 놓은 것입니다.






장애물에는 콜라이더가 추가되어 있습니다.

메시 콜라이더는 복잡한 형태로 처리량이 크게 증가시키므로,

이렇게 기본 콜라이더를 이용해 구성할 수 있습니다.






1-4) 라이트맵 - ㉠정적 게임 오브젝트



레벨 아트는 정적 오브젝트로 설정되어 있습니다.

정적 게임 오브젝트는 게임 도중에 위치가 변경될 수 없고,

성능 최적화를 위해 적용합니다.







1-5) 라이트맵 - ㉡환경광 설정



정적으로 된 오브젝트들을 라이트맵 세팅을 해주겠습니다.

라이트맵은 '오브젝트가 빛을 받았을 때 어떻게 보일지" 미리 그려둔 텍스처라고 할 수 있습니다.

상단 메뉴바에 있는 Window => Rendering => Lighting Settings를 클릭해 주세요.

환경광은 씬에 기본적으로 깔리는 빛이며, 색깔은 다음과 같이 변경하겠습니다^^







1-6) 라이트맵 - ㉢글로벌 일루미네이션과 굽기



글로벌 일루미네이션을 설정 후 라이트맵을 굽겠습니다.

글로벌 일루미네이션은 물체의 표면에 직접 들어오는 빛과 반사되어 들어온 간접광까지 표현합니다.

텍스처 해상도를 0.5로 설정해 주시고, Auto Generate를 해제 후 라이트맵을 구워주겠습니다.


* Realtime Global Illumination :  빛의 세기와 방향 등이 달라졌을 때 그 변화를 간접광에 실시간으로 반영.

* Baked Global Illumination : 고정된 빛에 의한 간접광을 라이트맵으로 구워 게임 오브젝트에 미리 입힘.






구워진 맵은 밑에 보이시는 폴더에 저장된 걸 확인할 수 있습니다.






1-7) 플레이어 캐릭터 - ㉠캐릭터 추가와 태그



캐릭터를 추가해 줄 시간입니다ㅎㅎ

Woman 모델을 드래그앤 드롭을 이용해 하이라키뷰에 추가해 주신 후

이름을 PlayerCharacter로 변경 그리고 태그를 Player로 설정해 주세요.







1-8) 플레이어 캐릭터 - ㉡리지드바디



Rigidbody 컴포넌트를 추가해 주세요.

물리 상호작용이 가능해 집니다.

Angular Drag(각항력)을 늘려 회전에 대한 마찰력을 증가시키고,

X와 Z축 회전을 못하도록 고정해 주겠습니다.







1-9) 플레이어 캐릭터 - ㉢캡슐 콜라이더



충돌 처리를 위해서는 콜라이더도 필요하겠죠?!

Capsule Colider 추가와 함께 크기를 캐릭터에 맞게 변경해 주세요~~







1-10) 플레이어 캐릭터 - ㉣오디오 소스



오디오 소스도 추가해 주세요.

Play On Awake 해제를 통해서 사운드가 바로 실행되지 않도록 만들어 주세요.







1-11) 애니메이션 설정 - ㉠Root Motion



애니메이터에 ShooterAnimator 애니메이터 컨트롤러를 할당해 주세요.

그리고 Apply Root Motion을 언체크해주겠습니다.

Apply Root Motion 체크되어 있다면 실제로 애니메이션에 의해 위치가 변하게 됩니다.







1-12) 애니메이션 설정 - ㉡애니메이터 레이어



ShootAnimator 애니메이터 컨트롤러를 파악해 보겠습니다.

이미 다 세팅이 되어있네요ㅎㅎ

두 개의 레이어가 존재하며 여러 애니메이션 상태가 중첩되게 할 수 있습니다.







1-13) 애니메이션 설정 - ㉢파라미터



파라미터는 애니메이터에 구성된 상태들이 바뀔 조건으로 상용됩니다.


* Move : 앞뒤 움직임에 관한 입력값

* Reload : 재장전을 알리는 트리거

* Die : 사망을 알리는 트리거







1-14) 애니메이션 설정 - ㉣블렌드 트리



Movement  상태로 들어가시면 다음과 같이 구성되어 있습니다.

블렌드트리라고 하며 여러 애니메이션 클립을 파라미터 값에 따라 적절히 혼합하는 모션입니다.

움직임에 많이 사용됩니다.







1-15) 애니메이션 설정 - ㉤레이어 나누기



Upper Body 레이어는 이름 그대로 플레이어 상체에서 총을 들고 조준하거나 

재장전 하는 애니메이션을 재생합니다.

이렇게 나눠 놓으면 움직이면서도 재장전이 가능하겠죠? 애니메이션이 중첩되면서 말이죠.






애니메이터의 레이어 별로 부위를 다르게 적용하려면 아바타 마스트를 설정해야 합니다.

마스크 정보를 보시면 초록색 부분만 움직일 수 있는 걸 확인할 수 있습니다.





꼭 톱니바퀴 버튼을 클릭해 마스크를 적용해 주세요.

IK가 설정되어 있는데 나중에 언급하도록 하겠습니다.






2. 마무리



오늘 강의는 여기까지입니다.

좀비 서바이버를 따라하면서 레벨 아트 세팅과 플레이어 애니메이션 기능까지 만들어 보았습니다.

책이랑 순서나 내용이 다를 수 있습니다.

감사합니다.




수업자료: 좀비 서바이버 따라하기 #1 - 레벨 아트와 플레이어 준비




댓글

Designed by JB FACTORY