절대강좌! 유니티 5: unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

72

Post on 22-Jul-2016

397 views

Category:

Documents


90 download

DESCRIPTION

이재현 지음 | 게임 개발 시리즈 _ 016 | ISBN: 9791158390037 | 48,000원 | 2015년 07월 15일 발행 | 760쪽

TRANSCRIPT

Page 1: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법
Page 2: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

절대강좌! 유니티5Unity 전문 개발자가 알려주는효과적인 게임 제작기법

책2.indb 1 2015-07-01 오후 3:48:04

Page 3: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

필자가 처음 게임을 만들기 시작한 것은 중학교 시절이었다. GW-BASIC 언어를 배워가며 게임을

만들기 시작했다. 팩맨(Pac-Man)과 비슷한 게임으로 괴도 루팡이 보석을 줍는 시나리오였는데,

물론 기술적인 한계 때문에 완성하진 못했다. 그 이후로 게임과 전혀 관련 없는 SI 분야에서 개발 경

력을 쌓아오다 2008년 과감히 아이폰 앱 개발에 뛰어들었다.

2D 게임을 개발하면 할수록 3D 게임 개발에 대한 열망으로 이런저런 개발 툴을 기웃거리다 유니티

3D를 접하고 나서 많은 희망을 봤고 동시에 절망감도 느꼈다. 그 당시 국내에는 유니티 관련 책은

단 한 권도 없었기 때문에 영문 매뉴얼과 외국 유니티 포럼이 유일한 길라잡이였다.

요즘은 국내외 좋은 책이 많이 나와 있어 유니티를 배우려는 분들에게 축복받은 시절이라 할 수 있

다. 하지만 필자가 이 책을 쓰게 된 이유 중 하나는 오프라인 강의를 진행하면서 대부분의 수강생이

유니티 책을 한두 권 가지고 있지만 실제로 게임을 어떻게 개발해야 하는지, 어디서부터 시작해야

하는지 몰라서 답답해하는 모습을 많이 봤기 때문이다. 유니티가 비주얼 툴(Visual Tool)이기 때문에

지면을 통해 그 내용을 전달하기 어렵다는 것은 반대로 독자들이 배우기가 쉽지 않다는 말과 같다.

또한 유니티의 기능을 충분히 소개했다고 해도 막상 “이러이러한 게임을 개발합시다”라고 하면 그

기능을 어떻게 적용해야 하는지 모른다. 이것은 영어 단어와 문법을 열심히 공부해도 막상 외국인

을 만나면 간단한 회화조차 하기 어려운 것과 같다.

따라서 이 책에서는 유니티를 기능별로 심도 있게 파고들지 않는다. 또한 기능별로 분리해서 설명

하는 방식이 아니라 개발하는 데 필요한 기능을 설명하고 적용하는 방식으로 진행한다.

이 책의 마지막 페이지를 덮고 나면 독자 여러분의 PC에 꽤 괜찮은 게임 프로토타입이 남아있기

를 기대한다.

서문

4

책2.indb 4 2015-07-01 오후 3:48:14

Page 4: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

대상 독자

이 책은 우선 유니티 초급자를 대상으로 한다. 유니티 소개, 설치 및 인터페이스 소개부터 시작하므

로 이미 개발 경험이 있는 독자는 1장은 건너뛰어도 된다.

또한 이 책은 중급자를 위한 책이기도 하다. 이미 다른 유니티 관련 책으로 공부한 독자에게 실제로

게임을 어떻게 개발해 나가는지를 소개한다. 본문 코드에서도 고급 문법을 사용해 기존에 알던 문

법이지만 다양하게 활용할 수 있는 방안을 제시한다.

리소스 내려받기

이 책에서 사용하는 대부분의 리소스는 유니티 개발사가 운영하는 애셋스토어(Asset Store)에서 내

려받아 사용한다. 그 밖의 다른 리소스는 유니티패키지로 만들었으며 이 책의 부록 DVD에 포함돼

있다.

이 책을 보던 중 궁금한 사항에 대해서는 다음 웹사이트에서 문의할 수 있다.

•저자 홈페이지 - http://www.Unity3dStudy.com/

또한 이 책의 오탈자 및 FAQ도 제공하고 있으니 참고한다.

개정판을 내면서

『절대강좌 유니티 4』 초판본과 『절대강좌 유니티 3D』 개정판을 출간한 후 많은 독자 여러분의 성원

에 감사드립니다. 또한 좀 더 다듬어지지 않은 부분에 대한 질타 또한 겸허히 받아들이겠습니다. 본

개정판은 최근 출시된 유니티 5를 기준으로 합니다. 유니티 5에 대한 종합적인 평가는 아직 이른감

이 있으나 화려한 시각적인 효과와 전반적인 성능 향상이 있었습니다. 또한 유니티 5는 엔진의 모든

기능을 사용할 수 있는 퍼스널 버전이 출시되어 기존의 프로 버전에서만 사용할 수 있었던 고급 기

능을 제약없이 게임에 활용할 수 있습니다.

서문

5

책2.indb 5 2015-07-01 오후 3:48:15

Page 5: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

감사의 글

이 책이 나올 수 있게 해준 위키북스 출판사에 감사한다. 특히 오랜 집필 기간 동안 묵묵히 지켜봐

주셨던 박찬규 대표님, 지속적인 아이디어와 기술 동향에 대해 조언을 해주셨던 김윤래 팀장님, 그

리고 초보 집필자의 어설픈 문장력을 기술적인 이해도를 바탕으로 꼼꼼하게 교정해주신 윤가희 씨

와 이대엽 씨에게 감사한다. 또한 멋진 표지 그림을 그려주신 잠산 작가님께 감사한다.

서문

6

책2.indb 6 2015-07-01 오후 3:48:15

Page 6: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

언제나 아들의 길을 성원해주신

어머니, 아버지, 감사드리고 사랑합니다.

남편의 무모한 시도를 항상 응원하고

격려해준 나의 아내 현상, 사랑합니다.

그리고 무럭무럭 밝게 커주고 있는

사랑스러운 다은, 다율아 아빠가 많이 사랑해.

책2.indb 7 2015-07-01 오후 3:48:15

Page 7: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

유니티 게임 엔진의 탄생 .................................................................................................. 21

유니티 5의 장점 .................................................................................................................. 21

멀티 플랫폼 지원 ........................................................................................................... 22

통합 개발 환경(IDE) ...................................................................................................... 23

모든 기능의 무료화 정책 ............................................................................................ 23

빌트인 미들웨어 ..............................................................................................................24

정보 공유를 위한 커뮤니티 활성화 ......................................................................... 25

애셋스토어 ....................................................................................................................... 26

유니티로 만들어진 게임 ................................................................................................... 27

유니티 다운로드 .................................................................................................................. 28

유니티 설치 ...................................................................................................................... 30

유니티 라이선스 옵션 선택 ........................................................................................ 32

유니티 계정 생성 및 로그인 ...................................................................................... 33

유니티 인터페이스 .............................................................................................................. 34

뷰 ......................................................................................................................................... 37

툴 바 ................................................................................................................................... 49

단축키 설정 ...................................................................................................................... 55

정리 .......................................................................................................................................... 56

개발할 게임 소개 및 개발 순서 ...................................................................................... 58

새 프로젝트 생성................................................................................................................. 59

통합 개발 환경 조정 .......................................................................................................... 60

Project 뷰의 체계적인 관리 ............................................................................................ 61

캐릭터모델 임포트하기 ..................................................................................................... 63

애셋스토어 계정 생성 ........................................................................................................ 65

Project 뷰에서 애셋스토어 접속 ................................................................................... 67

애셋스토어에서 리소스 내려받기 .................................................................................. 69

정리 .......................................................................................................................................... 72

01유니티 5

소개

02게임개발

준비

목차

책2.indb 8 2015-07-01 오후 3:48:16

Page 8: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

3D 모델 .................................................................................................................................. 74

텍스처 ..................................................................................................................................... 75

머티리얼 ................................................................................................................................. 77

텍스처 적용 ........................................................................................................................... 78

셰이더 및 물리 기반 셰이딩 ............................................................................................ 84

렌더링 모드...................................................................................................................... 84

알베도 ................................................................................................................................ 84

메탈릭 속성 ..................................................................................................................... 85

노멀 맵 .............................................................................................................................. 85

하이트 맵 .......................................................................................................................... 86

오클루전 ............................................................................................................................ 86

이미션 ................................................................................................................................ 86

디테일 마스크 ................................................................................................................. 87

바닥의 음영 표현 - 노멀 맵 적용 ................................................................................. 87

프리팹 ..................................................................................................................................... 89

프리팹을 이용한 벽 만들기 ............................................................................................. 90

조명 .......................................................................................................................................... 96

Directional Light ............................................................................................................. 96

Point Light ........................................................................................................................ 97

Spot Light......................................................................................................................... 97

Area Light ........................................................................................................................ 98

하늘 표현 방식 ..................................................................................................................... 99

6방면 스카이박스 ........................................................................................................101

프로시저럴 스카이박스 .............................................................................................103

큐브맵 스카이박스 .......................................................................................................106

정리 ........................................................................................................................................106

03게임 스테이지

제작

목차

9

책2.indb 9 2015-07-01 오후 3:48:17

Page 9: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

빈 게임오브젝트 ................................................................................................................108

3D 모델 임포트 및 옵션 설정 .......................................................................................109

컴포넌트 ...............................................................................................................................111

스크립트 생성.....................................................................................................................112

키보드 입력값 받아들이기 .............................................................................................116

캐릭터 이동 .........................................................................................................................119

컴포넌트 캐시 처리 ..................................................................................................... 121

게임오브젝트의 이동 ..................................................................................................122

Translate 함수...............................................................................................................123

정규화 벡터 .........................................................................................................................124

캐릭터 회전 - Rotate .....................................................................................................128

카메라 추적 – Follow Cam ........................................................................................130

레거시 애니메이션 ............................................................................................................133

애니메이션 클립 ................................................................................................................134

애니메이션 컨트롤 ............................................................................................................140

애니메이션 블렌딩 ............................................................................................................144

실시간 그림자.....................................................................................................................146

Projector를 이용한 그림자 ............................................................................................150

Plane Mesh를 이용한 그림자......................................................................................155

정리 ........................................................................................................................................157

04주인공 캐릭터

제작

목차

10

책2.indb 10 2015-07-01 오후 3:48:17

Page 10: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

총알 모델 준비 ...................................................................................................................159

Rigidbody 컴포넌트 ........................................................................................................161

물리 엔진 속성 설정 - Physics Manager ............................................................164

Collider 컴포넌트 .............................................................................................................166

Box Collider ...................................................................................................................166

Sphere Collider ............................................................................................................167

Capsule Collider..........................................................................................................167

Mesh Collider ...............................................................................................................168

Wheel Collider ..............................................................................................................169

Terrain Collider .............................................................................................................169

충돌 감지 조건 ...................................................................................................................170

충돌 이벤트 .........................................................................................................................173

Tag 활용 ..............................................................................................................................174

총알 발사 로직 ...................................................................................................................178

총알 발사궤적 효과 만들기 – Trail Renderer .....................................................186

파티클 활용하기 ................................................................................................................191

폭발 효과 및 폭발력 생성 ..............................................................................................197

무작위로 텍스처 적용하기 .............................................................................................203

사운드 – AudioSource, AudioListener ................................................................207

총구 화염 효과 – Muzzle Flash................................................................................215

정리 ........................................................................................................................................222

05발사체 제작

이펙트

목차

11

책2.indb 11 2015-07-01 오후 3:48:18

Page 11: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

메카님 ...................................................................................................................................224

몬스터 3D 모델 임포트 ...................................................................................................225

메카님 애니메이션으로 전환.........................................................................................226

애니메이터 컨트롤러 .......................................................................................................230

애니메이션 스테이트 전이 ........................................................................................234

내비게이션 - 몬스터 추적 루틴 ..................................................................................238

내비게이션 설정 및 베이크 ......................................................................................239

Nav Mesh Agent ........................................................................................................ 241

인공지능 구현.....................................................................................................................245

몬스터 공격 루틴...............................................................................................................257

몬스터 피격 리액션 ..........................................................................................................260

혈흔 효과 .............................................................................................................................265

데칼 – 바닥에 흩뿌려지는 혈흔 효과 ......................................................................269

몬스터 공격 능력 부여 ....................................................................................................274

특정 레이어 간의 충돌 감지 ..........................................................................................280

메카님 캐릭터의 본 구조 최적화 .................................................................................282

몬스터 공격 중지 - Tag ................................................................................................285

몬스터 공격 중지 – Delegate, Event .....................................................................290

몬스터 사망 처리...............................................................................................................296

정리 ........................................................................................................................................305

06적 캐릭터

제작

목차

12

책2.indb 12 2015-07-01 오후 3:48:19

Page 12: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

Canvas 객체 ......................................................................................................................307

EventSystem 객체 ..................................................................................................... 308

Canvas 컴포넌트 ........................................................................................................310

Rect Transform 컴포넌트 .............................................................................................314

앵커프리셋 ..................................................................................................................... 318

anchoredPosition 속성 .................................................................................................323

앵커 속성 ........................................................................................................................324

Image 컴포넌트 ................................................................................................................326

Simple ..............................................................................................................................328

Sliced ...............................................................................................................................329

Tiled..................................................................................................................................330

Filed..................................................................................................................................331

RawImage 컴포넌트 .......................................................................................................332

Button 컴포넌트 ................................................................................................................333

Transition 속성 .............................................................................................................335

Text 컴포넌트 ....................................................................................................................346

Text Effects ....................................................................................................................347

Scroll Rect 컴포넌트 .......................................................................................................347

Content 속성 .................................................................................................................351

Mask 컴포넌트 .............................................................................................................352

스코어 UI 구현 ...................................................................................................................353

PlayerPrefs를 활용한 스코어 저장 .......................................................................362

생명 게이지 구현...............................................................................................................364

정리 ........................................................................................................................................369

07유니티 UI

목차

13

책2.indb 13 2015-07-01 오후 3:48:19

Page 13: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

몬스터 출현 로직...............................................................................................................371

게임 매니저에 접근하는 방법 .......................................................................................377

싱글턴 ...................................................................................................................................379

오브젝트 풀 .........................................................................................................................382

공용 함수 – 사운드 처리 ..............................................................................................393

정리 ........................................................................................................................................397

레이캐스트 ...........................................................................................................................399

드럼통 폭발 .........................................................................................................................406

레이저 빔 구현 ...................................................................................................................410

동적 장애물 .........................................................................................................................419

Off Mesh Link Generation ..........................................................................................423

사용자 정의 Off Mesh Link ..........................................................................................426

08게임 매니저

09레이캐스트

활용

10내비게이션 고급

기법

목차

14

책2.indb 14 2015-07-01 오후 3:48:20

Page 14: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

라이트매핑 ...........................................................................................................................430

Generate Lightmap UVs 옵션 ...............................................................................430

Lightmap Static 플래그 .............................................................................................431

Lighting 뷰 .....................................................................................................................431

라이트맵 베이킹 준비 과정 ......................................................................................434

Continuous Baking 옵션 .........................................................................................435

라이트맵 빌드 ...............................................................................................................435

Area Light ......................................................................................................................438

라이트 프로브.....................................................................................................................440

Light Probe Group .....................................................................................................441

Anchor Override .........................................................................................................445

정리 ........................................................................................................................................446

Scene 분리 .........................................................................................................................448

Scene 병합 .........................................................................................................................452

11라이트매핑,

라이트 프로브

12Scene 분리

병합

목차

15

책2.indb 15 2015-07-01 오후 3:48:20

Page 15: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

네트워크 게임의 정의 ......................................................................................................457

네트워크 게임의 물리적 구조 .......................................................................................457

네트워크 통신 프로토콜 .................................................................................................458

유니티 빌트인 네트워크 .................................................................................................459

네트워크 뷰....................................................................................................................459

상태 동기화 ....................................................................................................................460

원격 프로시저 호출 ....................................................................................................461

유니티 네트워크 게임의 절차 .......................................................................................463

게임 서버 초기화 .........................................................................................................463

피어의 게임 접속 .........................................................................................................464

피어 간의 통신 .............................................................................................................465

네트워크 버전 개발 ..........................................................................................................466

프로젝트 생성 및 초기화 ..........................................................................................466

스테이지 제작 ...............................................................................................................467

플레이어 제작 ...............................................................................................................469

Character Controller 이동 로직 .............................................................................470

네트워크 매니저 생성 ................................................................................................473

실행 파일 빌드 .............................................................................................................475

접속 네트워크 사용자 수 확인 ...............................................................................479

네트워크 플레이어 제작 ............................................................................................481

카메라 추적 로직 .........................................................................................................486

부드러운 동기화 처리(OnSerializeNetworkView).............................................491

발사 루틴(RPC 호출) ..................................................................................................498

애니메이션 동기화 .......................................................................................................508

총알의 충돌 체크 ......................................................................................................... 515

사망 및 리스폰 처리 ................................................................................................... 516

접속종료 처리 ...............................................................................................................527

정리 ........................................................................................................................................528

13유니티

빌트인 네트워크

목차

16

책2.indb 16 2015-07-01 오후 3:48:21

Page 16: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

유니티 차세대 네트워크 게임 엔진 - UNET ..........................................................530

서드파티 네트워크 게임 엔진 .......................................................................................530

포톤네트워크 게임 엔진 .................................................................................................531

포톤 서버 vs. 포톤 클라우드 ...................................................................................531

회원가입 ..........................................................................................................................532

탱크 대전게임 제작 ..........................................................................................................534

탱크 이동 로직 .............................................................................................................536

무한궤도 애니메이션 ..................................................................................................538

카메라 추적 로직 및 카메라 피봇 위치 설정 .....................................................542

터렛 회전 ........................................................................................................................543

포신 각도 조절 .............................................................................................................547

포탄 프리팹 생성 및 발사 로직 ..............................................................................548

포탄 발사 효과음 .........................................................................................................555

Photon Unity Networking 플러그인 설치 ..............................................................557

탱크게임을 포톤 클라우드 버전으로 변경하기 ......................................................560

포톤 클라우드 접속.....................................................................................................560

랜덤 매치 메이킹 .........................................................................................................563

룸 만들기 ........................................................................................................................565

Photon View .................................................................................................................568

탱크 동적 생성 .............................................................................................................569

빌드 및 접속 테스트................................................................................................... 574

자신의 탱크 컨트롤 .....................................................................................................575

부드러운 이동 및 회전 처리 ....................................................................................577

터렛과 포신의 동기화 .................................................................................................582

포탄 발사 ........................................................................................................................588

탱크 피격 및 리스폰 ...................................................................................................592

14포톤 클라우드를

활용한

네트워크 게임

목차

17

책2.indb 17 2015-07-01 오후 3:48:22

Page 17: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

로비 제작 .............................................................................................................................596

로비 씬 제작 ..................................................................................................................597

로그인 UI 제작 ..............................................................................................................599

게임 룸으로 입장 ........................................................................................................ 608

탱크 HUD 제작 ............................................................................................................615

룸 만들어 입장하기 ....................................................................................................625

룸 목록 UI 구현 ............................................................................................................633

룸 목록 받아오기 .........................................................................................................642

버튼 이벤트 동적 연결...............................................................................................657

베틀 필드 세부 기능 ........................................................................................................662

접속 플레이어 표시하기 ............................................................................................662

룸 나가기 ....................................................................................................................... 666

접속 로그 표시 .............................................................................................................670

이벤트 훅 ........................................................................................................................676

스코어 판별 및 표시 기능 ..............................................................................................682

유니티에서 데이터베이스 연동하기 ...........................................................................699

JSON ...............................................................................................................................700

SimpleJSON ..................................................................................................................701

스코어 정보 데이터베이스 저장 .............................................................................704

랭킹 정보를 데이터베이스에서 수신 .....................................................................708

정리 ........................................................................................................................................713

목차

18

책2.indb 18 2015-07-01 오후 3:48:22

Page 18: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

래그돌 ...................................................................................................................................715

프로젝트 생성 및 리소스 내려받기 ....................................................................... 715

스테이지 제작 ............................................................................................................... 716

3D 모델의 래그돌 생성 ............................................................................................. 718

스크린 터치 .........................................................................................................................730

ScreenPointToRay 함수 ...........................................................................................730

Touch 클래스 ................................................................................................................734

유니티 리모트 4 ...........................................................................................................738

터치로 이동하기 ................................................................................................................740

정리 ........................................................................................................................................744

데이터베이스 ......................................................................................................................746

데이터베이스와 데이터베이스 관리 시스템(DBMS) ......................................... 746

데이터베이스 서버 ....................................................................................................... 746

SQL .................................................................................................................................. 747

DBMS의 데이터 관리 ................................................................................................. 747

테이블 .............................................................................................................................. 748

칼럼과 로우 ................................................................................................................... 748

SQL .................................................................................................................................. 749

15실감 나는 게임

구현을 위한

유용한 기능

부록

데이터베이스

목차

19

책2.indb 19 2015-07-01 오후 3:48:23

Page 19: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

유니티 5 소개01

PART

•유니티 게임 엔진의 탄생

•유니티 5의 장점

•유니티로 만들어진 게임

•유니티 다운로드

•유니티 인터페이스

•정리

책2.indb 20 2015-07-01 오후 3:48:23

Page 20: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 21

유니티 게임 엔진의 탄생

유니티(Unity )는 2D, 3D 게임 엔진이다. 게임 엔진은 게임 개발에 필요한 여러 기능을 제공함으로써 쉽

게 게임을 만들 수 있게 돕는다. 이러한 게임 엔진을 이용하면 게임 개발 시 생산성과 작업 능률을 높일 수

있다.

기존의 게임 엔진은 상용 게임 엔진부터 무료 게임 엔진까지 무척 다양하다. 대표적인 상용 게임 엔진으

로는 언리얼(UnReal ), 크라이(CryENGINE ), 하복(Havok Physic Engine ), 게임브리오(Game

Bryo ), 소스엔진(Source Engine ) 등이 있다. 얼마전까지만 해도 이러한 고성능 게임 엔진은 높은 가격

탓에 게임을 개발하려는 개인이나 학생이 접하기에는 어려웠다.

유니티 개발사에서 말하는 “게임 개발의 민주화(Democratizing Development )”라는 표어는 “이러한 현

실에서 벗어나 누구나 쉽게 게임을 만들 수 있는 훌륭한 게임 엔진을 제공하자”라는 것이다.

2015년 3월 샌프란시스코에서 진행된 게임개발자컨퍼런스 2015 (GDC 2015 )에서 유니티 5가 정식으로

공개됐으며, 이전에는 유니티 프로 라이선스를 구매해야 사용할 수 있었던 고급 기능을 무료로 사용할 수

있는 퍼스널 에디션(Personal Edition )과 프로페셔널 에디션(Professional Edition )으로 분리되어 출

시됐다.

유니티 5의 장점

유니티는 2001년에 덴마크에서 처음 개발이 시작되어 2005년에 애플(Apple )의 WWDC에서 유니티1을

처음 선보였다. 그 이후로 지속적인 업그레이드를 하면서 꾸준히 성장했고, 높은 인기를 얻고 있다. 2012

년도 애플의 앱스토어(AppStore )에 출시된 모바일 게임 중 53.1%가 유니티로 개발됐다고 한다(출처:

www.gamasutra.com ). 또한 2014년을 기준으로 유니티 등록 개발자 수가 4백만 명을 넘었다(출처:

www.unity3d.com ). 이처럼 유니티가 폭발적인 인기를 얻게 된 몇 가지 요인을 꼽자면 다음과 같다.

• 멀티 플랫폼(Multi Platform) 빌드

• 직관적인 통합 개발 환경(IDE; Integrated Development Environment)

• 다양한 빌트인 미들웨어(Built in Middleware) 포함

• 정보 공유를 위한 커뮤니티 활성화

• 다양한 리소스를 구할 수 있는 애셋스토어(Asset Store) 운영

• 방대한 양의 문서 및 동영상 튜토리얼 제공

• 누구나 무료로 사용 가능

책2.indb 21 2015-07-01 오후 3:48:25

Page 21: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

22 절대강좌! 유니티 5

멀티 플랫폼 지원

유니티의 가장 큰 장점은 멀티 플랫폼을 지원하는 것이다. 2008년에 서비스를 시작한 애플의 앱스토어

(AppStore )는 전 세계 1인 게임 개발자에게 큰 꿈을 가질 수 있는 장을 열었다. 이에 발맞춰 유니티 개발

사는 그 해 아이폰으로 빌드할 수 있는 유니티 아이폰 버전을 출시했다. 그 후 지금까지 유니티는 지속적으

로 빌드 플랫폼을 확장했으며, 현재 유니티 5는 총 21개의 플랫폼으로 빌드할 수 있다.

• 모바일 플랫폼(iOS, 안드로이드, 윈도우폰, 블랙베리,타이젠)

• 데스트톱 플랫폼(윈도우, 윈도우스토어, 맥, 리눅스)

• 콘솔 플랫폼(PS3, XBOX, Wii)

• 웹 플랫폼(웹브라우저, WebGL)

• 가상현실(오큘러스 리프트, Gear VR)

[그림 1-1] 유니티가 지원하는 21개의 다양한 플랫폼(출처: 유니티 홈페이지)

유니티는 [그림 1- 2]와 같이 간단하게 플랫폼을 바로 변경할 수 있다. 다만 Xbox, PS3, Wii와 같은 콘솔

플랫폼의 경우 해당 라이선스를 보유해야 한다.

[그림 1-2] 간단한 플랫폼 변경 기능

책2.indb 22 2015-07-01 오후 3:48:27

Page 22: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 23

통합 개발 환경(IDE)

스테이지 디자인, 스크립트 코딩, 디버깅, 빌드 및 테스트 등의 일련의 개발 프로세스가 모두 유니티에서 이

뤄지므로 매우 높은 생산성을 자랑한다. 또한 직관적이고 합리적인 통합 개발 환경을 통해 편리한 개발 환

경을 제공한다.

[그림 1-3] 유니티 통합 개발 환경

모든 기능의 무료화 정책

유니티 5는 퍼스널 에디션과 프로페셔널 에디션으로 두 가지 버전이 있다. 퍼스널 에디션은 스플래시 화면에

유니티 로고가 표시되는 것을 제외하고는 엔진 자체의 제약사항은 없다. 즉, 모든 기능을 사용할 수 있다. 다

만 매출 또는 퍼블리싱 투자 유치 금액이 100,000달러를 초과하면 프로페셔널 에디션을 구매해야 한다. 또

한 iOS와 안드로이드 애드온에 대해서는 유니티 4.x 버전과 동일하게 프로 라이선스는 계속 존재한다.

책2.indb 23 2015-07-01 오후 3:48:28

Page 23: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

24 절대강좌! 유니티 5

제품 가격

Unity Pro 5.x 1,500달러

iOS Pro 5.x 1,500달러

Android Pro 5.x 1,500달러

[표 1-1] 유니티 프로페셔널 에디션의 가격 정책

[그림 1-4] 유니티 퍼스널 에디션과 프로페셔널 에디션 간의 차이점(출처: 유니티 홈페이지)

빌트인 미들웨어

유니티에는 다음과 같이 개발에 필요한 여러 미들웨어가 탑재돼 있어 게임 개발에 필요한 작업 프로세스를

빠르게 진행할 수 있다.

책2.indb 24 2015-07-01 오후 3:48:30

Page 24: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 25

• 전역조명(GI, Global Illumination - Enlighten)

• 오클루전 컬링(Occlusions Culling – Umbra)

• 지형 엔진(Terrain Engine)

• 스피드 트리(Speed Tree)

정보 공유를 위한 커뮤니티 활성화

유니티 커뮤니티에서는 방대한 분량의 매뉴얼과 체계적인 예제 소스를 제공하며, 유니티 홈페이지에서는

많은 동영상 튜토리얼을 제공하고 있어 유니티 학습에 편리한 환경이 구축돼 있다. 또한 개발 중 어려움에

봉착했을 때 도움을 얻을 수 있는 유니티 포럼도 활발히 운영되고 있다.

[그림 1-5] 방대한 온, 오프라인 매뉴얼과 동영상 튜토리얼 제공(출처: 유니티 홈페이지)

책2.indb 25 2015-07-01 오후 3:48:33

Page 25: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

26 절대강좌! 유니티 5

애셋스토어

애셋(Asset)의 사전적 의미는 자산이다. 유니티에서 말하는 애셋은 게임 제작에 필요한 모든 요소를 말

한다. 즉, 3D 모델, 텍스처 이미지, 모션 캡쳐 애니메이션, 사운드, 파티클 효과, 유틸리티 등을 애셋이

라 지칭한다. 애셋스토어는 이러한 애셋을 사고팔 수 있는 오픈마켓으로 1인 개발자 또는 소규모 개발사

에서는 고품질의 다양한 애셋을 비교적 저렴한 비용으로 구입할 수 있어 개발 시간을 획기적으로 줄일

수 있다는 장점이 있다.

[그림 1-6] 유니티에서 오픈한 애셋스토어 윈도우

책2.indb 26 2015-07-01 오후 3:48:34

Page 26: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 27

유니티로 만들어진 게임

유니티로 제작된 게임은 다양한 플랫폼으로 출시되어 많은 히트작을 내고 있다. 2014년 말을 기준으로 6억

개의 게임이 유니티로 제작됐다(출처 : 유니티 홈페이지).

좀비빌 USA(Zombieville USA) 템플런2(Temple Run2 )

데드 트리거2(Dead Trigger2 ) 서브웨이 서퍼(Subway Surfers )

오리 앤 블라인드 포레스트(Ori and the Blind Forest ) 리퍼블리크 리마스터드(République Remastered )

책2.indb 27 2015-07-01 오후 3:48:35

Page 27: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

28 절대강좌! 유니티 5

비시지(Besiege ) 룸3(Room Three )

콜 오브 듀티 스트라이크 팀(COD S t r i ke Team) 배드 피기즈(Bad P igg ies )

히트맨 고 (H i tman Go ) 모뉴먼트 밸리(Monumen t Va l l e y )

[그림 1-7] 유니티로 제작된 인기 게임(출처: 유니티 홈페이지)

유니티 다운로드

유니티 설치 파일은 유니티 홈페이지에서 내려받을 수 있으며, 유니티 한국 사이트에서도 내려받을 수

있다.

• 영문 사이트: http://unity3d.com/get-unity

• 한국어 사이트: http://unity3d.com/kr/get-unity

책2.indb 28 2015-07-01 오후 3:48:36

Page 28: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 29

[그림 1-8] 유니티 한국 사이트의 유니티 다운로드 페이지

이전 버전의 유니티가 필요할 경우 “Unity 이전 버전” 링크를 통해 버전별, OS별로 내려받을 수 있으며 윈

도우 사용자의 경우 추가 다운로드를 클릭해 32비트 또는 64비트를 선택해 받을 수 있다. 만약 유니티 4.x

버전에서 개발한 프로젝트를 유니티 5로 업그레이드할 예정이라면 “Unity 5 upgrade guide”를 반드시

확인한다.

[그림 1-9] 이전 버전의 유니티를 다운로드할 수 있는 페이지

책2.indb 29 2015-07-01 오후 3:48:38

Page 29: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

30 절대강좌! 유니티 5

유니티 설치

유니티 홈페이지에서 내려받은 설치 파일을 실행해 “Unity Download Assistant”를 클릭하면 다음과 같

이 설치 과정이 진행된다. 특별한 부분은 없으므로 계속 “Next”를 선택하면 순조롭게 설치될 것이다. 다만

설치 옵션 가운데 Standard Assets과 Example Project는 체크해서 함께 설치한다.

[그림 1-10] 설치 프로그램 초기 화면

[그림 1-11] 라이선스 동의

책2.indb 30 2015-07-01 오후 3:48:40

Page 30: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 31

[그림 1-12] 설치 옵션 선택

Example Project를 선택하고 설치하면 유니티 5의 최신 사용 기법에 대한 예제 프로젝트가 설치된다. 유

니티 4.x 버전에 자동 설치되던 AngryBot 프로젝트는 애셋스토어에서 내려받을 수 있다. “Continue”를

눌러 다음 화면에서 설치할 드라이브를 선택하고 진행하면 다운로드 및 설치를 시작한다.

[그림 1-13] 다운로드 및 설치 진행

책2.indb 31 2015-07-01 오후 3:48:41

Page 31: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

[그림 1-14] 정상적으로 설치 완료된 화면

유니티 라이선스 옵션 선택

설치를 완료하고 유니티를 처음 실행하는 과정에서 라이선스 선택과 개발자 인증 창이 나타난다. 라이선스

선택 옵션은 두 가지가 있다.

첫 번째 옵션은 프로페셔널 에디션 라이선스가 있을 때 라이선스 키를 입력하고 인증을 받는다. 두 번째 옵

션은 퍼스널 에디션을 선택하는 옵션으로, 무료로 사용하는 옵션이다. 단기간 라이선스가 필요한 개발자를

위해 월 75달러를 지불하면 프로페셔널 에디션을 사용할 수 있다.

[그림 1-15] 라이선스 선택 창

책2.indb 32 2015-07-01 오후 3:48:43

Page 32: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 33

유니티 계정 생성 및 로그인

라이선스 옵션을 선택한 후 다음으로 진행하면 로그인 화면으로 연결된다. 유니티 계정이 있다면 해당 아이

디와 비밀번호로 로그인하고 계정이 없는 독자는 하단의 “Create Account”를 클릭해 유니티 계정을 생성

한다.

[그림 1-16] 로그인 창

유니티 계정을 새로 만들 경우 입력한 이메일 주소로 계정을 활성화하는 이메일이 전송된다. 계정 등록 후

이메일을 확인해 계정을 활성화한다. 계정 생성 시 몇 가지 항목에 대해 설문조사를 진행하지만 건너뛰어도

무방하다.

[그림 1-17] 계정 등록 완료

책2.indb 33 2015-07-01 오후 3:48:45

Page 33: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

34 절대강좌! 유니티 5

유니티 인터페이스

유니티를 처음 실행하면 다음과 같이 프로젝트 생성 대화상자가 나타난다. “New project”를 클릭하고 프

로젝트명과 프로젝트가 저장될 경로를 지정한 후 “Create project”를 클릭하면 새로운 프로젝트가 생성되

면서 유니티 에디터가 실행된다. 새 프로젝트를 만드는 자세한 방법은 2장에서 다시 소개한다.

[그림 1-18] 프로젝트 생성 대화상자 초기 화면

[그림 1-19] 프로젝트명과 프로젝트 경로를 설정

책2.indb 34 2015-07-01 오후 3:48:47

Page 34: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 35

[그림 1-20] 유니티를 실행한 초기 화면

유니티는 비주얼 툴이므로 프로그래밍 능력 못지 않게 툴을 능숙하게 다룰 줄 알아야 한다. 따라서 다양한

단축키 또는 단축키와 마우스의 조합을 숙지해야 빠르게 개발할 수 있다. 물론 단기간 내에 습득하기는 어

렵지만 꾸준히 유니티를 접한다면 차츰 손에 익으면서 능숙하게 다룰 수 있게 될 것이다. 단축키에 대해서

는 앞으로 진행하면서 틈틈이 언급하겠다.

유니티는 퍼스널 에디션과 프로페셔널 에디션에 따라 인터페이스 스킨을 Personal과 Professional 스킨

으로 변경할 수 있다. 프로페셔널 에디션으로 설치했다면 [그림 1-21]과 같이 스킨을 변경할 수 있는 옵션

이 제공된다.

이 책에서는 가독성을 위해 Personal 스킨을 사용한다. 스킨을 변경하려면 맥 사용자는 메뉴의 “Unity

→ Preferences…”를 선택하고 윈도우 사용자는 메뉴의 “Edit → Preferences…”를 선택하면 Unity

Preferences 창이 나타난다. 6개의 탭으로 구분돼 있는데, 첫 번째 General 탭의 Editor Skin 항목에서

스킨을 설정할 수 있다.

책2.indb 35 2015-07-01 오후 3:48:48

Page 35: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

36 절대강좌! 유니티 5

[그림 1-21] Unity Preferences 창의 스킨 설정 옵션

유니티의 기본적인 인터페이스는 다음과 같이 구성돼 있다.

[그림 1-22] 유니티 인터페이스 구조

툴 바(Tool bar)

뷰 영역

상태바(Status bar)

책2.indb 36 2015-07-01 오후 3:48:50

Page 36: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 37

각 탭으로 분리된 윈도우(Window )를 뷰(View )라고 한다. 뷰의 명칭은 탭에 표기돼 있으며 이 탭을 드

래그 앤드 드롭해 자유롭게 배치할 수 있다. 뷰별로 세부적으로 살펴보자.

1. Project 뷰

Project Browser라고도 한다. 이 Project 뷰는 게임 제작에 필요한 모든 애셋을 모아두는 곳이다.

[그림 1-23] Project 뷰

Project 뷰는 다른 뷰와는 달리 두 개의 칼럼(Column )으로 분리돼 있으며, 하나의 칼럼으로 변경하는 옵

션을 제공한다. Project 뷰의 탭에서 마우스 오른쪽 버튼을 클릭해 컨텍스트 메뉴에서 칼럼의 종류를 선택

할 수 있다.

[그림 1-24] Project 뷰의 칼럼 레이아웃 변경 컨텍스트 메뉴

뷰 탭에서 마우스 오른쪽 버튼 클릭(컨텍스트 메뉴)

마우스 왼쪽 버튼 클릭

Two column Layout One column Layout

책2.indb 37 2015-07-01 오후 3:48:51

Page 37: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

38 절대강좌! 유니티 5

Project 뷰는 3D 모델, 텍스처, 사운드 파일, 애니메이션, 스크립트와 같은 모든 애셋을 저장하고 Project

뷰에 나열된 폴더 구조와 파일은 “{프로젝트의 저장경로}/Assets/” 폴더 아래에 물리적으로 저장되며 파일

탐색기에서 확인할 수 있다.

[그림 1-25] Project 뷰의 실제 저장 경로

Project 뷰의 애셋 가운데 실제 저장 경로를 찾아가는 가장 빠른 방법은 해당 애셋을 선택하고 마우스 오

른쪽 버튼을 클릭한 후 컨텍스트 메뉴에서 “Show in Explore” 메뉴를 선택하는 것이다(맥 사용자는

“Reveal in Finder”).

2. Scene 뷰

Scene 뷰는 무한 3차원 공간을 표현하고 스테이지를 디자인하고 플레이어를 배치해 게임을 설계하는 뷰

로, Project 뷰에 나열된 애셋을 Scene 뷰로 드래그 앤드 드롭해 배치한다.

Project 뷰의 실제 저장 위치

책2.indb 38 2015-07-01 오후 3:48:52

Page 38: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

[그림 1-26] 게임을 디자인하는 Scene 뷰

Scene 뷰의 헤더에 있는 바를 컨트롤 바(Control Bar )라고 한다. 컨트롤 바의 맨 왼쪽에 있는 드롭다

운 메뉴는 Scene 뷰를 다양한 모드로 바꿀 수 있는 드로우 모드(Draw Mode ) 옵션이다. 이 옵션은 개

발 시 적절히 변경할 수 있으며, 실행 시에는 영향을 미치지 않는다. 드로우 모드는 Shading Mode,

Miscellaneous, Deferred, Global Illumination의 네 개의 섹터로 구분돼 있다.

[그림 1-27] Scene 뷰의 드로우 모드 옵션

컨트롤 바

책2.indb 39 2015-07-01 오후 3:48:54

Page 39: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

40 절대강좌! 유니티 5

Shading Mode의 옵션에 따라 Scene 뷰의 화면은 다음과 같이 바뀐다.

• �Shaded: 기본 옵션으로, 3D 모델의 표면에 텍스처를 입혀서 보여준다. 실제 게임을 실행했을 때 보이는 화면과

같다.

[그림 1-28] Shaded 옵션일 때의 Scene 뷰

• Wireframe: 텍스처는 제외하고 3D 모델의 메쉬(Mesh)만 보여준다.

[그림 1-29] Wireframe 옵션일 때의 Scene 뷰

책2.indb 40 2015-07-01 오후 3:48:55

Page 40: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 41

• Shaded Wireframe: 텍스처와 메쉬를 동시에 표현하는 옵션이다.

[그림 1-30] Shaded Wireframe 옵션일 때의 Scene 뷰

유니티 4.x 버전의 RGB 모드가 Miscellaneous Mode로 바뀌었다.

• Shadow Cascades: 실시간 그림자를 적용했을 때 생성된 섀도우 맵(Shadow Map)의 해상도를 표시하는 옵션이

다. 카메라로부터 멀리 떨어질수록 그림자의 해상도가 떨어지는 경계선을 표시해준다.

[그림 1-31] Quality 설정에서 Four Cascades로 설정했을 때 표시되는 Scene 뷰

책2.indb 41 2015-07-01 오후 3:48:57

Page 41: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

42 절대강좌! 유니티 5

• Render Paths: 각 객체에 사용된 렌더링 방식에 따라 다른 색상으로 표현한다.

[그림 1-32] 렌더링 방식에 따라 다른 색상으로 표현하는 Render Paths 옵션

Render Paths 색상 렌더링 방식

청색 Deferred shading

녹색 Deferred lighting

노란색 Forward rendering

빨간색 Vertex Lit

[표 1-2] 렌더링 방식에 따른 색상

• Alpha Channel: 투명 셰이더를 사용하는 3D 모델을 표현하기 위해 흑백으로 보여준다.

[그림 1-33] Alpha Channel 옵션

책2.indb 42 2015-07-01 오후 3:48:58

Page 42: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 43

• Overdraw: 오버드로우가 발생하는 지점에 색상을 중첩해 진하게 보여준다. 오버드로우란 카메라의 시야에 보이

지 않는 곳에서 중첩해 드로우(Draw)가 발생하는 것을 말하며, 성능 저하의 원인이 된다.

[그림 1-34] Overdraw 옵션

• Mipmaps: 카메라로부터 거리가 멀어질수록 텍스처의 품질을 낮춰 렌더링 부하를 줄이는 것을 밉맵(Mipmap) 처

리된 텍스처라 한다. 이 모드는 밉맵 처리된 텍스처의 크기가 적절한지를 판단할 수 있다. 빨간색은 텍스처가 필요

이상으로 크다는 의미이고, 파란색은 작다는 의미다.

[그림 1-35] Mipmaps 옵션

유니티 5.x에 추가된 Deferred 섹터는 Main Camera의 Rendering Path가 Deferred 옵션으로 설정하

면 활성화되며 Albedo, Specular, Smoothness, Normal 텍스처가 사용된 것만을 필터링해 볼 수 있다.

책2.indb 43 2015-07-01 오후 3:48:59

Page 43: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

Global Illumination 섹터는 실시간 또는 베이크된 전역 조명의 적용 여부를 시각화해볼 수 있는 옵션이다.

컨트롤 바에 있는 다른 옵션의 기능은 다음과 같다.

• 2D / 3D 화면 전환: Scene 뷰 화면을 2D와 3D로 전환한다.

• 조명 효과: 조명 효과의 적용 여부를 선택할 수 있다.

• 음향 효과: 음향 효과의 적용 여부를 선택할 수 있다.

• 이펙트 효과: Skybox, Fog, Flares, Animated Materials 효과의 적용 여부를 선택할 수 있다.

[그림 1-36] 컨트롤 바의 나머지 기능

컨트롤 바의 마지막 옵션인 기즈모(Gizmos )는 Scene 뷰에 있는 특정 오브젝트에 아이콘을 표시해 쉽게

식별할 수 있게 해주는 기능으로, 아이콘의 크기와 표시 여부를 설정할 수 있다.

[그림 1-37] 기즈모(Gizmos ) 옵션

이펙트 적용 여부

음향 효과 끔/켬조명 효과 끔/켬

2D/3D 전환

기즈모

클릭하면 드롭다운 메뉴가 펼쳐진다.

책2.indb 44 2015-07-01 오후 3:49:01

Page 44: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 45

Scene 뷰에서 유용한 단축키 F

Scene 뷰에 배치된 게임오브젝트를 빠르게 찾아가는 방법은 Hierarchy 뷰에서 해당 게임오브젝트를 더블 클릭하면 된다.

다른 방법으로는 Hierarchy 뷰에서 해당 게임오브젝트를 선택한 다음 마우스 커서를 Scene 뷰로 옮기고 F 키를 누르면 해

당 객체를 찾아간다.

단축키 F를 두 번 빠르게 (FF)

실행 중 이동하는 게임오브젝트를 자동으로 따라가도록 F 키를 빠르게 두 번 키인하면 씬 뷰에서 해당 게임오브젝트를 따라

서 이동할 수 있다.

TIP

3. Hierarchy 뷰

Hierarchy 뷰는 Scene 뷰에 배치한 모든 객체를 계층 구조로 나열해서 보여준다. Scene 뷰에서 마우스로

클릭해 선택하기 어렵거나 찾기 어려울 때도 Hierarchy 뷰에서 쉽게 선택할 수 있다. 또는 컨트롤 바의 검

색 기능을 이용할 수도 있다.

[그림 1-38] Scene 뷰에 있는 모든 게임오브젝트를 계층 구조로 나열

Hierarchy 뷰에 나열된 요소는 모두 게임오브젝트다. 게임오브젝트는 Scene 뷰에 가져다 놓을 수 있는 모

든 것을 의미하며, 가장 기본이 되는 단위를 말한다. Hierarchy 뷰는 하나의 게임오브젝트를 선택해 다른

게임오브젝트로 드래그 앤드 드롭해 그룹화할 수 있는 기능이 있다. 이 기능을 페어런팅(Parenting )이라

한다.

책2.indb 45 2015-07-01 오후 3:49:02

Page 45: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

46 절대강좌! 유니티 5

[그림 1-39] 페어런팅(Parenting )을 통해 게임오브젝트를 그룹화

이처럼 그룹화된 게임오브젝트는 페어런트(Parent ) 게임오브젝트가 이동하면 함께 움직이는 특성이 있

다.

Hierarchy 뷰의 정렬은 두 가지를 제공한다.

• Transform Sort: 생성된 순서로 정렬

• Alphabetical Sort: 알파벳 순서로 정렬

Hierarchy 뷰의 정렬 방식은 유니티 4.6 버전에서 바뀌었다. 기본 정렬 방식은 Transform Sort이며, 게

임오브젝트가 생성된 순서대로 정렬된다. 또한 원하는 위치로 이동시켜 배치할 수 있다. 특히 UI 항목 간

의 Z-Order의 우선순위가 된다. 알파벳 정렬로 바꾸려면 Preference 창에서 “Enable Alpha Numeric

Sorting” 옵션을 활성화한다.

[그림 1-40] 알파벳 정렬 기능의 활성화 옵션

알파벳 정렬 옵션을 활성화하면 Hierarchy 뷰의 컨트롤 바에 정렬 옵션 툴 버튼이 표시되어 쉽게 정렬 방

식을 바꿀 수 있다.

[그림 1-41] Hierarchy 뷰에 표시된 정렬 옵션 툴 버튼

책2.indb 46 2015-07-01 오후 3:49:03

Page 46: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

4. Inspector 뷰

Inspector 뷰는 Scene 뷰 또는 Hierarchy 뷰에 선택된 게임오브젝트의 속성을 보여주는 뷰로서, 해

당 속성을 조회하거나 수정할 때 사용한다. 같은 속성에 한해 동시에 여러 개의 게임오브젝트를 선택하고

Inspector 뷰에서 수정할 수 있다.

[그림 1-42] Inspector 뷰 – 선택된 게임오브젝트의 속성을 확인

5. Game 뷰

Game 뷰는 개발 진행 중에 게임을 실행해 미리 볼 수 있는 뷰로서, Scene 뷰에 있는 메인 카메라의 시야

로 렌더링해서 보여준다. 해당 프로젝트를 빌드해서 실행하거나 모바일에서 구동할 때 보이는 화면과 동일

하다. 또한 Game 뷰에 있는 컨트롤 바의 해상도를 선택하면 다양한 해상도로 볼 수 있다.

[그림 1-43] 플랫폼별로 미리보기의 해상도를 지정 가능

안드로이드 플랫폼iOS 플랫폼

책2.indb 47 2015-07-01 오후 3:49:05

Page 47: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

[그림 1-43]과 같은 iOS, 안드로이드 플랫폼별 해상도 설정은 프로젝트를 해당 플랫폼으로 변경한 후에

적용된다. 메뉴의 “File → Build Settings…”를 선택하면 Build Settings 창이 열린다(맥: command +

shift + B, 윈도우: Ctrl + Shift + B ).

[그림 1-44] Build Settings 창에서 플랫폼 변경

변경하려는 플랫폼을 선택한 후 왼쪽 하단의 Switch Platform을 클릭하면 변경된다. 그러고 나면 해당 프

로젝트의 리소스 변경이 시작되며 잠시 후 완료된다. 플랫폼을 전환하는 데 걸리는 시간은 프로젝트의 리소

스 크기에 따라 결정된다. 따라서 가급적 프로젝트를 생성하고 나서 맨 먼저 플랫폼을 전환한 후 작업을 하

는 편이 향후 많은 리소스가 추가된 후 변경하는 것보다 시간을 절약할 수 있는 방법이다.

6. Console 뷰

Console 뷰는 디버깅 시 로그를 출력하는 뷰로서, 출력하는 메시지는 정보(Information ), 경고

(Warning ), 오류(Error )로 분류해 메시지 타입별로 필터링해 출력할 수 있다.

[그림 1-45] Console 뷰

출력되는 메시지를 종류별로 필터링할 수 있다.

책2.indb 48 2015-07-01 오후 3:49:06

Page 48: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

Console 뷰는 개발 시 자주 보는 뷰이므로 꼭 단축키를 기억해두자(맥: command + shift + C, 윈도우:

Ctrl + Shift + C ). 또한 에러 메시지가 여러 개 표시될 경우 맨 위에 있는 에러 메시지부터 해결해야 한다.

특별한 경우가 아니고서는 오류 필터링은 해제하지 않는다. 오류 필터링이 해제된 상태에서는 Console 뷰에 오류 메시지가

출력되지 않기 때문에 에러 메시지를 놓치는 경우가 빈번히 발생하기 때문이다.

TIP

툴 바

[그림 1-46] 툴 바의 명칭

툴 바(Tool bar )는 위 그림과 같이 다섯 개의 기능으로 나뉜다.

1. Transform 툴

Transform 툴 버튼은 디자인 작업 시 가장 자주 사용하는 기능이므로 단축키를 기억해두는 편이 좋다. 단

축키는 왼쪽부터 Q, W, E, R, T다.

• 이동 툴 버튼: 마우스 커서가 로 바뀌며, Scene 뷰의 화면을 이동시킬 수 있다.

[그림 1-47] 이동 툴 버튼(단축키 - Q)

Transform 툴 Transform 기즈모 토글 실행/일시정지/스탭 레이어 드롭다운 레이아웃 드롭다운

이동 툴 버튼단축키 Q

책2.indb 49 2015-07-01 오후 3:49:08

Page 49: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

• Transform 툴 버튼: 선택한 게임오브젝트의 3차원 좌표축(Transform)이 표시되며 해당 축을 클릭하고 드래그하면

해당 축 방향으로 이동시킬 수 있다.

[그림 1-48] Transform 툴 버튼(단축키 - W)

• Rotate 툴 버튼: 선택한 객체를 회전시킨다.

[그림 1-49] Rotate 툴 버튼(단축키 - E )

• Scale 툴 버튼: 선택한 객체의 스케일을 변경한다.

[그림 1-50] Scale 툴 버튼(단축키 - R )

Transform 툴 버튼단축키 W

좌표축을 마우스 클릭 후 드래그하면 이동한다.

Rotate 툴 버튼단축키 E

원을 마우스 클릭 후드래그하면 회전한다.

Scale 툴 버튼단축키 R

책2.indb 50 2015-07-01 오후 3:49:11

Page 50: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 51

• Rect 툴 버튼: 선택한 UI 객체의 이동, 회전, 스케일을 변경한다.

[그림 1-51] Rect 툴 버튼(단축키 - T )

마우스와 키보드 조합의 Scene 뷰 조작 기능

• 마우스 휠 스크롤

Scene 뷰를 확대/축소한다.

• 맥: option + 마우스 왼쪽 버튼, 윈도우: alt + 마우스 왼쪽 버튼

Scene 뷰의 화면 중심을 기준으로 회전하는 기능

• 맥: option + command + 마우스 왼쪽 버튼, 윈도우: Ctrl + Alt + 마우스 왼쪽 버튼

Scene 뷰의 화면 중심을 이동하는 기능(이동 툴 버튼과 동일한 기능)

• 마우스 오른쪽 버튼 + (W/A/S/D, Q/E)

마우스 오른쪽 버튼을 클릭하고 드래그하면 시야각이 변하며 키보드 W, A, S, D 키로 이동할 수 있다. FPS 게임

의 주인공 조작법과 같다. Q키는 아래로 내려가고, E키는 위로 올라간다. 또한 Shift 키를 같이 누르면 속도가 빨

라진다.

• 맥: option + 마우스 오른쪽 버튼, 윈도: Alt + 마우스 오른쪽 버튼

option/alt 키를 누르고 마우스 오른쪽 버튼을 클릭한 상태로 드래그하면 Scene 뷰의 화면이 확대/축소된다(마우

스 휠 스크롤과 동일한 기능).

• Alt + 마우스 오른쪽 버튼 + 마우스 이동

Scene 뷰를 확대/축소한다.

TIP

Rect 툴 버튼단축키 T

책2.indb 51 2015-07-01 오후 3:49:12

Page 51: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

52 절대강좌! 유니티 5

2. 피봇 / 센터

피봇/센터(Pivot/Center ) 툴 버튼은 선택한 3D 모델의 중심 좌표를 어떻게 표시할 것인가에 대한 옵션이

다. 토글 방식으로 전환되며, 피봇 옵션은 3D 모델링 툴에서 모델링할 때 설정한 원점 좌표에 좌표축이 표

시되며, 센터 옵션으로 설정하면 3D 모델의 중앙에 좌표축을 표시한다. 단축키는 키보드 Z이며 실행 시 영

향을 미치지는 않는다.

[그림 1-52] 피봇과 센터 옵션 선택에 따른 좌표축 표시

유니티에서 제공하는 기본 모델(Primitive Model : Cube, Sphere, Capsule, Cylinder, Plane,

Quad )의 경우 피봇과 센터 옵션을 선택해도 항상 가운데에 좌표축이 표시된다.

3. 로컬/글로벌

로컬/글로벌(Local/Global ) 툴 버튼은 선택한 게임오브젝트의 좌표축을 로컬 좌표(Local Coordinate )

또는 글로벌 좌표(Global Coordinate )로 표시하는 옵션으로 토글 방식으로 전환된다. Scene 뷰는 무한

피봇(Pivot) 옵션 선택 센터(Center) 옵션 선택

책2.indb 52 2015-07-01 오후 3:49:13

Page 52: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 53

대로 확장할 수 있는 3차원 공간으로 기준이 되는 좌표를 글로벌 좌표라 한다. Scene 뷰의 오른쪽 상단에

있는 십자 모양의 기즈모가 글로벌 좌표축을 표시한다.

[그림 1-53] 글로벌 좌표축 기즈모

[그림 1-54]는 3D 모델을 Y축을 기준으로 -45° 회전시킨 후 좌표계를 변경시킨 화면이다. 로컬 좌표를

-45° 회전시켰지만 글로벌 옵션으로 선택하면 표시되는 좌표축은 Scene 뷰에 있는 글로벌 좌표축과 동일

하게 표시된다. 단축키는 키보드 X이며, 실행 시 영향을 미치지는 않는다.

[그림 1-54] 로컬 좌표계와 글로벌 좌표계의 축 방향이 달라짐

[정보]

글로벌 좌표(Global Coordinate)는 3차원 공간의 절대 좌표를 의미하며, 변하지 않는 기준 좌표다. 반면 Scene 뷰에 있

는 게임오브젝트는 자신만의 좌표를 갖고 있다. 이것을 로컬 좌표라 한다.

4. 레이어

Scene 뷰에 배치된 모든 게임오브젝트는 레이어(Layer )를 지정할 수 있다. 툴 바의 레이어 옵션은 특정

레이어만 선택적으로 Scene 뷰에 표시할 수 있다.

책2.indb 53 2015-07-01 오후 3:49:14

Page 53: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

54 절대강좌! 유니티 5

[그림 1-55] 특정 레이어만 Scene 뷰에 표시 가능

5. 레이아웃

유니티는 뷰의 배치를 자유롭게 할 수 있는 기능을 제공한다. 툴 바의 오른쪽 상단에 있는 레이아웃

(Layout ) 옵션을 클릭하면 여러 형태의 레이아웃을 드롭다운 메뉴에서 선택할 수 있다.

레이아웃을 저장하면 레이아웃 드롭다운 메뉴에 표시되며, 특정 레이아웃을 선택하면 유니티 IDE의 뷰 배

치가 해당 레이아웃에 따라 바뀐다.

[그림 1-56] 레이아웃 드롭다운 메뉴

책2.indb 54 2015-07-01 오후 3:49:16

Page 54: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

01 _ 유니티 5 소개 55

2 by 3 레이아웃 4 Split 레이아웃

Default 레이아웃 Wide 레이아웃

[그림 1-57] 다양한 레이아웃 옵션

단축키 설정

마우스 커서를 특정 뷰에 두고 시프트 키와 스페이스바를 누를 때마다 해당 뷰가 최대화/최소화된다. 참고

로 이 단축키는 유니티 4.3에서 스페이스바에서 시프트 키 조합으로 바뀌었다.

유니티의 단축키는 Unity Preferences 창에서 설정한다(맥: “Unity → Preferences…”, 윈도우: “Edit

→ Preferences…”). Unity Preferences 창의 Keys 탭에서는 기본적인 단축키를 설정할 수 있다. 뷰를

최대화/최소화하는 단축키를 스페이스바로 사용했던 독자라면 Keys 탭에서 자신에게 익숙한 단축키로 바

꿀 수 있다.

책2.indb 55 2015-07-01 오후 3:49:25

Page 55: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

56 절대강좌! 유니티 5

[그림 1-58] 단축키의 설정 옵션

정리

1장에서는 유니티 게임 엔진의 전반적인 내용과 유니티 인터페이스에 대해 알아봤다. 유니티 인터페이스에

익숙해지는 가장 빠른 방법은 단축키를 숙지하는 것이다. 1장에서 언급한 단축키 외에도 많은 단축키가 있

으므로 조금씩 익혀나가기를 권장한다.

책2.indb 56 2015-07-01 오후 3:49:26

Page 56: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

게임 개발 준비02PART

•개발할 게임 소개 및 개발 순서

•새 프로젝트 생성

•통합 개발 환경 조정

•Project 뷰의 체계적인 관리

•캐릭터모델 임포트하기

•애셋스토어 계정 생성

•Project 뷰에서 애셋스토어 접속

•애셋스토어에서 리소스 내려받기

•정리

책2.indb 57 2015-07-01 오후 3:49:26

Page 57: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

58 절대강좌! 유니티 5

개발할 게임 소개 및 개발 순서

[그림 2-1] 이 책에서 개발할 3인칭 슈팅게임

이 책에서 개발할 게임은 3인칭 시점 슈팅(TPS, Third Person Shooting ) 게임이다. 1인칭 시점 슈팅

(FPS, First Person Shooting ) 게임과 더불어 인기가 많은 장르의 게임으로, 주인공과 몬스터가 전투를

벌이는 단순한 시나리오의 게임이다. 단순한 게임이지만 개발을 진행하면서 유니티 엔진의 기능 및 다양한

게임 제작 기법을 습득할 수 있는 장르이기도 하다.

몇몇 독자분께서 이 책을 보면 FPS 게임을 만들 수 있는지 문의한 적이 있다. 그만큼 FPS 게임의 인기를 반

증하는 질문이다. 물론 TPS와 FPS는 비슷하기는 하나 카메라 시점의 차이가 있다. 또한 주인공을 컨트롤

하는 것과 관련해서 수정해야 할 부분이 분명히 있으나 이 책에서 진행하는 TPS 게임의 제작 기법을 충실

히 소화한다면 FPS 게임을 만드는 데 크게 도움될 것이라 생각한다.

이 책에서는 게임 개발을 크게 다음과 같은 순서로 진행한다.

1. 게임 개발 환경 설정

2. 게임에서 사용할 리소스 내려받기 및 설치

3. 게임의 배경이 되는 스테이지 제작

4. 주인공의 이동 및 공격 기능 구현

5. 몬스터 생성 및 추적 기능 구현

책2.indb 58 2015-07-01 오후 3:49:27

Page 58: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 59

6. 주인공과 몬스터 간의 공격 및 피격 기능 구현

7. 게임매니저 구현

8. 화면 분리 및 병합

새 프로젝트 생성

유니티를 실행하면 새 프로젝트를 만들거나 이전 프로젝트를 열 수 있는 대화상자가 나타난다. 유니티를 실

행했을 때 바로 유니티 에디터가 열리는 경우에는 “File → New Project…” 메뉴를 선택한다.

New Project 버튼을 클릭한 후 Location에서 프로젝트를 저장할 경로를 지정하고 Project name에 프로

젝트명을 “SpaceShooter”라고 입력한다. 3D, 2D옵션은 나중에 변경할 수 있는 옵션으로, 기본값인 3D

를 선택한다. Asset packages… 버튼을 클릭하면 새로운 프로젝트를 만들 때 필요한 유니티패키지의 내용

을 포함한 프로젝트가 만들어진다. 마지막으로 Create Project 버튼을 클릭한다. 프로젝트 생성 대화상자

에서는 이전 프로젝트를 열거나 새 프로젝트를 만들 수 있다. 또한 특정 유니티 패키지를 선택하면 처음부

터 해당 패키지 내용을 포함한 프로젝트가 만들어진다.

[그림 2-2] 프로젝트 생성 대화상자

프로젝트명

프로젝트 경로3D/2D 모드

패키지 선택

프로젝트 생성

책2.indb 59 2015-07-01 오후 3:49:29

Page 59: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

60 절대강좌! 유니티 5

경로와 프로젝트명에 한글 사용 금지

유니티의 프로젝트의 저장 경로(Path )와 명칭에 한글이 포함돼 있다면 유니티 패키지를 임포트(Import )할 때 오류가 발생

한다. 따라서 유니티 프로젝트의 저장 경로와 명칭은 반드시 영문으로만 써야 하며, 특히 윈도우 사용자는 “내 문서”, “바탕화

면”과 같은 폴더 경로 역시 한글이므로 주의해야 한다. 간혹 윈도우 로그인 계정명이 한글일 경우에도 예기치 못한 오류가 발

생한다. 이러한 경우에는 영문으로 구성된 계정을 새로 만들어 사용해야 한다.

CAUTION

통합 개발 환경 조정

유니티 통합 개발 환경(IDE )은 개발자가 사용하는 모니터의 크기나 취향에 맞게 화면 레이아웃을 배치하

는 기능을 제공한다. 유니티의 기본 레이아웃은 [그림 2-3]과 같다.

[그림 2-3] 새 프로젝트 생성 후 초기 레이아웃

책2.indb 60 2015-07-01 오후 3:49:31

Page 60: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 61

이 책에서는 화면 배치를 “2 by 3” 레이아웃으로 바꿔서 진행한다. 반드시 따라야 하는 강제사항은 아니므

로 더 적합한 레이아웃이 있다면 원하는 레이아웃을 사용해도 무방하다. 레이아웃은 오른쪽 상단에 있는

Layout 드롭다운 메뉴에서 변경할 수 있다.

[그림 2-4] “2 by 3” 레이아웃으로 변경

또한 레이아웃을 “2 by 3”으로 변경한 후 Project 뷰의 칼럼을 “One Column Layout”으로 변경한다. 이

는 Project 뷰의 오른쪽 상단에 있는 버튼을 눌러 변경할 수 있다.

[그림 2-5] Project 뷰의 칼럼 변경

Project 뷰의 체계적인 관리

Project 뷰는 게임 개발에 사용하는 모든 리소스가 저장되는 곳으로, 개발을 진행할수록 많은 리소스가 나

열된다. 처음부터 체계적으로 관리하지 않으면 나중에 리소스를 검색하거나 프로젝트를 효율적으로 관리하

기가 어려워진다. 따라서 Project 뷰에 임포트하는 모든 리소스는 종류에 따라 폴더로 분류해서 관리하는

방법을 권장한다.

책2.indb 61 2015-07-01 오후 3:49:32

Page 61: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

62 절대강좌! 유니티 5

물론 독자 여러분의 방식대로 진행하거나 소속 프로젝트의 관리규약이 있다면 규약에 따라 진행해도 무방

하다. 다음은 필자가 실제 프로젝트에서 사용하는 방식으로 폴더명이 숫자로 시작하므로 Project 뷰에 다

음과 같은 순서대로 정렬된다. Project 뷰에 [표 2-1]과 같이 폴더를 미리 생성하고 시작하자.

폴더 명칭 분류 기준

01. Scenes Scene을 저장한다.

02. Scripts Script를 저장한다.

03. Prefabs Prefab을 저장한다.

04. Images 텍스처 이미지 및 Material을 저장한다.

05. Models 3D 모델을 저장한다.

06. Sounds 오디오 파일을 저장한다.

[표 2-1] Project 뷰의 폴더 생성 예시 및 분류 기준

[그림 2-6] Project 뷰에 폴더 생성

책2.indb 62 2015-07-01 오후 3:49:33

Page 62: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 63

캐릭터모델 임포트하기

게임에서 사용할 주인공 캐릭터는 유니티 4.x에서 함께 제공됐던 AngryBot 프로젝트의 주인공 모델을 사

용하며, 적 캐릭터(이하 몬스터라 지칭)는 애셋스토어(AssetStore )에 있는 무료 3D 모델 중 “Monster”

라는 모델과 동일하지만 현재 애셋스토어에 있는 무료 버전의 모델은 이 책에서 사용하는 모델과 다르기 때

문에 반드시 부록 DVD에 포함된 모델을 사용한다.

[정보]

DVD가 없는 노트북을 사용하는 독자를 위해 이 책에서 사용하는 리소스는 저자의 홈페이지에서 내려받을 수 있다.

ㆍ저자 홈페이지: http://www.Unity3dStudy.com

[그림 2-7] 게임 개발에 사용할 주인공과 몬스터 캐릭터

캐릭터 유니티패키지

주인공 캐릭터: AngryBotPlayer.unitypackage

몬스터 캐릭터: Monster.unitypackage

책2.indb 63 2015-07-01 오후 3:49:34

Page 63: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

64 절대강좌! 유니티 5

먼저 AngryBotPlayer.unitypackage를 더블클릭하면 압축이 풀리고 [그림 2-8]과 같이 Importing

package 창이 나타난다. 여기서 Import 버튼을 클릭하면 유니티로 설치되며 Project 뷰에서 확인할 수

있다.

[그림 2-8] 패키지 임포트 창

같은 방법으로 몬스터 패키지인 Monster.unitypackage도 임포트한다. 두 개의 패키지를 임포트한 후

Project 뷰에 설치된 “AngryBotPlayer” 폴더와 “Monster” 폴더를 앞서 미리 생성한 “05. Models” 폴더

로 드래그해서 옮긴다. 앞으로 게임에 사용할 모든 3D 모델은 “05. Models” 폴더로 옮겨서 관리한다.

[그림 2-9] 패키지 임포트 후 05.Models 폴더로 이동

책2.indb 64 2015-07-01 오후 3:49:35

Page 64: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 65

유니티패키지가 설치되지 않는다면 유니티가 실행(Run ) 모드이거나 유니티패키지 파일이 저장된 경로에 한글이 포함돼 있

을 것이다.

CAUTION

유니티패키지(unitypackage)

압축 파일의 한 종류로, 확장자는 unitypackage다. 유니티에서 선택한 여러 개의 리소스를 하나의 압축 파일 형태로 익스포

트(Export )할 수 있다. 나중에 해당 유니티패키지를 임포트해 재사용할 수 있는 편리한 기능을 제공한다.

TIP

애셋스토어 계정 생성

유니티에서는 자체적으로 품질 좋은 다양한 리소스를 사고팔 수 있는 오픈마켓을 운영하고 있다. 애셋스토

어에서는 게임 개발에 필요한 3D 모델, 텍스처, 애니메이션, 플러그인, 사운드, 심지어 완성된 프로젝트 소

스 등을 구할 수 있다.

애셋스토어에 접속하려면 계정이 필요하다. 유니티를 설치할 때 등록했던 계정으로 로그인할 수 있다. 계정

이 없다면 먼저 애셋스토어에서 계정을 등록해야 한다. 유니티 메뉴의 “Window → Asset Store”를 선택

하거나 단축키(맥: command + 9, 윈도우: Ctrl + 9 )를 이용해 애셋스토어 창을 연 다음 오른쪽 상단에

있는 Create Account를 클릭해 계정을 생성한다.

계정을 등록할 때 입력한 이메일 주소로 수신된 메일 인증 절차를 거치면 애셋스토어를 이용할 수 있다.

책2.indb 65 2015-07-01 오후 3:49:36

Page 65: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

66 절대강좌! 유니티 5

[그림 2-10] 애셋스토어 계정 등록

가입 후 로그인하면 다음과 같은 애셋스토어 초기 화면이 나타난다.

[그림 2-11] 애셋스토어 초기 화면

책2.indb 66 2015-07-01 오후 3:49:37

Page 66: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 67

유니티 5 프로페셔널 에디션의 경우 Level 11 권한을 부여한다. Level 11은 매월 인기 있는 애셋을 선별해

무료 혹은 할인된 가격으로 구매할 수 있다. 퍼스널 에디션 사용자는 월 19달러를 지불하면 Level 11을 사

용할 수 있다.

[그림 2-12] 프로페셔널 에디션 사용자의 애셋스토어 Level 11 페이지

Project 뷰에서 애셋스토어 접속

유니티 4.x 이후 버전에서는 별도의 애셋스토어 창을 열지 않고 Project 뷰에서 바로 검색할 수 있는 기능

을 지원한다.

Project 뷰를 Two Columns으로 변경하고 왼쪽 칼럼의 상단에서 “Favorites → All Models”를 선택한

뒤 오른쪽 칼럼 상단에 있는 “Asset”을 “Asset Store:999+/999+”로 변경하면 “Free Asset” 목록과 “Paid

Asset” 목록을 볼 수 있다.

책2.indb 67 2015-07-01 오후 3:49:39

Page 67: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

68 절대강좌! 유니티 5

[그림 2-13] Project 뷰에서 바로 애셋스토어에 접속해 검색

[그림 2-14] 받고자 하는 모델을 선택하고 Inspector 뷰에서 바로 임포트

➊ 클릭

➌ 검색 키워드를 입력하면 검색할 수 있다.

➋ 클릭

Import package를 클릭하면 다운로드 및 임포트한다.

책2.indb 68 2015-07-01 오후 3:49:41

Page 68: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 69

애셋스토어에서 리소스 내려받기

게임 제작에 필요한 무료 리소스를 애셋스토어에서 내려받는다. 오른쪽 상단 검색란에서 다음 키워드로 검

색하면 본 게임에서 사용할 리소스를 쉽게 찾을 수 있다.

1. Yughues Free Metal Materials (‘Yughues’로 검색)

[그림 2-15] 게임에서 사용할 기본 텍스처

2. Skybox Volume 2 (‘Skybox Vol 2’로 검색)

[그림 2-16] 하늘을 표현할 텍스처

책2.indb 69 2015-07-01 오후 3:49:42

Page 69: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

70 절대강좌! 유니티 5

3. Barrel 3D 모델(‘Barrel’로 검색)

[그림 2-17] 폭발 소품으로 사용할 드럼통 3D 모델

위 세 가지 리소스를 모두 임포트한 후 다음과 같이 리소스 성격에 맞는 폴더로 옮긴다.

리소스명 이동할 폴더

Metal Textures Pack 04.Images/

Skybox Volume 2 04.Images/

Barrel 05.Models/

다운로드한 애셋의 저장 경로

애셋스토어에서 다운로드한 애셋의 저장 경로는 다음과 같다

맥: /Users/사용자계정명/Library/Unity/Asset Store-5.x

윈도우: C :\Users\사용자계정명\AppData\Roaming\Unity\Asset Store

TIP

무료 리소스를 상용 게임에서 사용할 때의 주의사항

애셋스토어에서 내려받은 무료 리소스를 상용게임에 사용할 때는 반드시 라이선스를 확인해야 한다. 상용 게임에 사용할 때

별도의 라이선스를 요구하는 경우가 있으므로 내려받을 때 라이선스와 관련한 주의사항이 있다면 반드시 검토해야 한다.

CAUTION

책2.indb 70 2015-07-01 오후 3:49:44

Page 70: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

02 _ 게임 개발 준비 71

본격적인 게임 개발에 앞서 해당 Scene을 저장하고 작업을 진행한다. 작업 중간에 자주 저장하는 습관을

들이기를 권장한다.

메뉴에서 “File → Save Scene”을 차례로 선택하면 Save Scene 창이 열린다. 저장 경로를 “01. Scenes”

폴더로 선택하고 Scene 이름은 “scPlay”라고 입력한 다음 저장한다. Scene 파일의 확장자인 .unity는 유

니티에서 자동으로 붙여준다. 앞으로 모든 Scene은 “01. Scenes” 폴더에 저장하기로 한다.

[그림 2-18] Scene 저장 대화상자

Scene을 저장한 후 Project 뷰의 “01.Scenes” 폴더를 확인해보면 [그림 2-19]와 같이 유니티 로고로 표

시된 파일을 볼 수 있다.

[그림 2-19] 저장된 Scene 파일

책2.indb 71 2015-07-01 오후 3:49:45

Page 71: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법

72 절대강좌! 유니티 5

항상 저장하는 습관

Scene을 저장하는 단축키(맥: command + S, 윈도우: Ctrl + S )를 이용해 프로젝트 중간에 자주 저장하는 습관을 들이자.

빠른 개발 능력을 갖췄다고 해도 저장 또는 백업을 소홀히 하면 순식간에 소중한 작업물을 날려버리는 경우가 비일비재하다

는 것을 다시 한번 강조한다.

TIP

정리

2장에서는 게임 개발에 필요한 여러 가지 애셋을 설치했다. 유니티의 장점 중 하나인 애셋스토어는 많은 무

료 애셋을 제공한다. 1인 개발자 또는 학생이라도 무료 애셋만 활용해도 좋은 게임을 만들 수 있음을 기억

하자. 다음 장부터는 본격적인 게임 개발을 진행한다.

책2.indb 72 2015-07-01 오후 3:49:46

Page 72: 절대강좌! 유니티 5: Unity 전문 개발자가 알려주는 효과적인 게임 제작 기법