유니티5로만드는3D2D게임개발_6차_160405.indb



Similar documents
SIGIL 완벽입문

Microsoft PowerPoint - chap01-C언어개요.pptx

wtu05_ÃÖÁ¾

View Licenses and Services (customer)

1

Windows Live Hotmail Custom Domains Korea

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

H3250_Wi-Fi_E.book

미디어 및 엔터테인먼트 업계를 위한 Adobe Experience Manager Mobile

Windows 8에서 BioStar 1 설치하기

Print

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

레이아웃 1

02-출판과-완성

LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필

**09콘텐츠산업백서_1 2

커버콘텐츠

0.筌≪럩??袁ⓓ?紐껋젾 筌

Art & Technology #5: 3D 프린팅 - Art World | 현대자동차

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

CSG_keynote_KO copy.key

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.


Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

SBR-100S User Manual

2

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

»êÇÐ-150È£

DocsPin_Korean.pages

언리얼엔진4_내지_ indd

유니 앞부속

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

<C3E6B3B2B1B3C0B C8A32DC5BEC0E7BFEB28C0DBB0D4292D332E706466>

디지털 공학

Microsoft Word - 문필주.doc

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

PDF_Compass_32호-v3.pdf

804NW±¹¹®

750 1,500 35

© Rohde & Schwarz; R&S®CDS Campus Dashboard Software

슬라이드 1

win8_1±³

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자


1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - chap04-연산자.pptx

스마트월드캠퍼스 교육교제

소규모 비즈니스를 위한 플레이북 여기서 다룰 내용은 다음과 같습니다. 1. YouTube 소개 2. YouTube에서 비즈니스를 위한 채널 만들기 3. 눈길을 끄는 동영상 만들기 4. 고객의 액션 유도하기 5. 비즈니스에 중요한 잠재고객에게 더 많이 도달하기

: AA ( ) TV : ios ( ).. 2

C++ Programming

01Àå

PowerPoint Presentation

152*220

NX1000_Ver1.1

ThinkVantage Fingerprint Software

Studuino소프트웨어 설치

내지-교회에관한교리

병원이왜내지최종본1

Visual Studio online Limited preview 간략하게살펴보기


연구노트


ez-shv manual

Keyboard Pro 88(manual)

01

[Brochure] KOR_TunA

2

º´¹«Ã»Ã¥-»ç³ªÀÌ·Î

52 l /08

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

C++ Programming

Microsoft Word - Korean_뷰어 메뉴얼_공용_ADVR&SWi_.doc

PowerPoint Presentation

Ä¡¿ì_44p °¡À» 89È£

Office 365, FastTrack 4 FastTrack. Tony Striefel FastTrack FastTrack

언리얼엔진4_내지_ indd


iOS ÇÁ·Î±×·¡¹Ö 1205.PDF

슬라이드 1

iOS5_1±³

Best of the Best Benchmark Adobe Digital Index | APAC | 2015

PowerPoint Template

사용설명서를 읽기 전에 안드로이드(Android)용 아이디스 모바일은 네트워크 연결을 통해 안드로이드 플랫폼 기반의 모바일 기기에서 장치 (DVR, NVR, 네트워크 비디오 서버, 네트워크 카메라) 에 접속하여 원격으로 영상을 감시할 수 있는 프로그램입니다. 장치의 사

마켓온_제품소개서_ key

서현수

지도상 유의점 m 학생들이 어려워하는 낱말이 있으므로 자세히 설명해주도록 한다. m 버튼을 무리하게 조작하면 고장이 날 위험이 있으므로 수업 시작 부분에서 주의를 준다. m 활동지를 보고 어려워하는 학생에게는 영상자료를 접속하도록 안내한다. 평가 평가 유형 자기 평가

01.내지완완

....pdf..

1. 제품 구성 구분 분류1 분류2 Engine NetDroneUnity SDK Tools Express.NET Template 비고 크로스 플렛폼 전체 소스 DataConverter CSV to Binary CSV 변환 도구 DummyClient RTCP, RUDP

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

PowerPoint 프레젠테이션

mobile_guide_SA

1,000 AP 20,000 ZoneDirector IT 5, WLAN. ZoneFlex AP ZoneDirector. WLAN. WLAN AP,,,,,,., Wi-Fi. AP. PSK PC. VLAN WLAN.. ZoneDirector 5000 WLAN L

4S 1차년도 평가 발표자료

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

No Slide Title

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Transcription:

UNITY 3D/2D GAME KAIHATSU JISSEN NYUMON: TSUKURINAGARA OBOERU SMARTPHONE GAME KAIHATSU Copyright c 2015 MIKITO YOSHIYA Korean translation copyright c 2016 by J-Pub. Original Japanese language edition published by Socym Co., Ltd.. Korean translation rights arranged with Socym Co., Ltd. through Danny Hong Agency. 이 책의 한국어판 저작권은 대니홍 에이전시를 통한 저작권사와의 독점 계약으로 제이펍 출판사에 있습니다. 저작권법에 의해 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다. 초판 1쇄 발행 2016년 4월 20일 지은이 요시야 미키토 펴낸이 정인식 펴낸곳 제이펍 출판신고 2009년 11월 10일 제406 2009 000087호 주소 경기도 파주시 문발로 141 뮤즈빌딩 403호 전화 070 8201 9010 / 팩스 02 6280 0405 홈페이지 www.jpub.kr / 원고투고 jeipub@gmail.com 독자문의 readers.jpub@gmail.com / 교재문의 jeipubmarketer@gmail.com 편집부 이민숙, 이 슬, 이주원 / 소통 기획팀 민지환, 현지환 표지디자인 미디어픽스 용지 신승지류유통 / 인쇄 한길프린테크 / 제본 광우제책사 ISBN 979 11 85890 50 0 (93000) 값 28,000원 이 책은 저작권법에 따라 보호를 받는 저작물이므로 무단 전재와 무단 복제를 금지하며, 이 책 내용의 전부 또는 일부를 이용하려면 반드시 저작권자와 제이펍의 서면동의를 받아야 합니다. 잘못된 책은 구입하신 서점에서 바꾸어 드립니다. 제이펍은 독자 여러분의 아이디어와 원고 투고를 기다리고 있습니다. 책으로 펴내고자 하는 아이디어나 원고가 있으신 분께서는 책의 간단한 개요와 차례, 구성과 저(역)자 약력 등을 메일로 보내주세요. jeipub@gmail.com

요시야 미키토 정인식

드리는 말씀 이 책에 게재된 프로그램은 다음의 환경에서 동작을 확인하였습니다. 참고로, 원서는 유니티 5.2 버전으로 설명하였으나 번역서는 유니티 5.3.4 버전 기준으로 수정하였음을 알려드립니다. - OS X El Capitan 10.11.1(MacBook Pro Retina 13-inch, Mid 2014) - Unity 5.3.4f1 - Xcode 7.3 - Android Studio 1.5(SDK API 21) 이 책에 기재된 내용을 기반으로 한 운용 결과에 대해 저/역자, 소프트웨어 개발자 및 제공자, 제이펍 출판사는 일체의 책임을 지지 않으므로 양해 바랍니다. 이 책에 기재한 회사명 및 제품명은 각 회사의 상표 및 등록명입니다. 이 책에서는 c, R, TM 등의 기호를 생략하고 있습니다. 이 책에서 사용하고 있는 실제 제품 버전은 독자의 학습 시점에 따라 책의 버전과 다를 수 있습니다. 이 책의 일부 내용은 역주 없이 우리나라의 실정에 맞게 수정하였음을 알려드립니다. 이 책에 기재되어 있는 정보는 2016년 3월 현재의 것이며, URL 등의 각종 정보나 내용은 이용 시에 변경될 가능성이 있습니다. 이 책의 예제 코드와 애셋은 다음에서 다운로드할 수 있습니다. - https://github.com/jpub/unity5smartphonegamedev 책의 내용과 관련된 문의사항은 옮긴이나 출판사로 연락주시기 바랍니다. - 옮긴이: jinsilto@gmail.com - 출판사: readers.jpub@gmail.com

차 례 옮긴이 머리말 13 머리말 15 이 책에 대하여 17 베타리더 후기 20 CHAPTER 0 유니티의 특징과 개요 22 0.1 게임 통합 개발 환경 유니티 22 정교한 에디터와 뛰어난 워크플로우 22 게임 개발의 민주화 23 캐릭터의 소재와 플러그인이 갖추어진 에셋 스토어 24 폭넓은 멀티 플랫폼 대응 24 0.2 유니티 5의 신기능 26 유니티 5.2의 신기능에 대해 29 유니티 5.3의 신기능에 대해 30 0.3 유니티를 이용할 때의 라이선스 32 Personal Edition과 Professional Edition의 차이 32 애드온 라이선스 33 CHAPTER 1 게임 개발을 위한 준비물 34 1.1 유니티 다운로드와 설치 35 1.2 라이선스의 활성화 39 1.3 예제 프로젝트로 놀아보기 42 1.4 실제 기기에 전송하는 환경 준비하기 45 모바일 앱 개발 환경 준비 45 Android SDK 경로 설정 46 1.5 예제 프로젝트의 빌드 48 Switch Platform에서 플랫폼 전환하기 48 빌드와 실제 기기로의 전송 49 정 리 유니티 게임 개발 준비 51 차 례 5

CHAPTER 2 유니티 첫걸음 - 유니티의 화면 구성과 기본 조작 습득하기 52 2.1 씬과 에셋 53 씬 53 에셋 53 2.2 유니티 에디터의 기본 54 화면 구성 54 사용자 정의의 레이아웃 56 Project 뷰의 레이아웃 56 Game 뷰의 화면 비율 변경 58 2.3 3D 씬 조립하기 59 새로운 프로젝트의 작성 59 기본 씬의 내부 60 3D 오브젝트 배치하기 61 카메라의 조정 66 씬의 저장 68 2.4 색상과 질감 부여하기 69 셰이더와 머티리얼 69 물리 기반 셰이더 70 머티리얼을 설정하여 색상 바꾸기 71 머티리얼의 질감 변화시키기 73 2.5 글로벌 일루미네이션(GI) 체감하기 75 고전적인 라이팅 기법 76 GI에 의한 라이팅 기법 76 GI 확인의 사전 준비: 벽과 천장의 작성 78 GI 확인의 연습: 간접 조명의 반영 79 정 리 유니티의 화면 구성과 기본 조작 습득하기 81 CHAPTER 3 게임 제작의 기본 - 물리 엔진과 충돌 마스터하기 82 3.1 공 만들기 84 씬의 초기화 84 Ball 오브젝트의 초기화 85 Rigidbody 추가 86 머티리얼의 설정 88 조명 설정 91 Point Light와 부모-자식 관계 설정 92 6 차 례

3.2 스테이지 만들기 96 스테이지 작성 준비 96 주위의 벽 만들기 97 보이지 않는 천장 만들기 98 장애물 설치 100 카메라 조정 101 3.3 중력 조작 102 물리 엔진의 설정과 조작 102 Script 작성 103 키보드에서의 조작 106 스크립트의 이용과 파라미터의 설정 108 가속도 센서 이용 109 실제 기기 테스트 111 3.4 물리적 특성 설정 114 무게 설정 114 Physic Material 적용 115 3.5 홀(구멍) 만들기 117 홀 설치 117 태그 설정 120 Hole 스크립트 작성 121 3.6 클리어 판정 124 접촉 감지 124 전체 홀의 상태 감시 125 3.7 글로벌 일루미네이션에 의한 그래픽 최종 조정 129 정 리 좀 더 재미있게 하려면 131 CHAPTER 4 게임 오브젝트의 제어 - 프리팹과 효과 높이기 132 4.1 에셋 임포트 134 4.2 스테이지 작성 137 스테이지 조립 137 텍스처 이용 139 3D 모델 이용 142 로고 배치 143 카메라와 라이트 조정 145 밀대 만들기 146 4.3 사탕 프리팹 152 프리팹이란? 152 둥근 사탕의 프리팹 만들기 152 네모난 사탕 프리팹 만들기 155 사탕의 초기 배치 158 차 례 7

4.4 오브젝트 동적 생성과 삭제 160 Shooter 구현 160 Shooter 개선 163 Candy 오브젝트 삭제 167 사탕의 투척 기회 수 소비하기 170 4.5 게임 컨트롤 170 사탕의 투척 기회 수 부여 174 사탕의 투척 기회 수 자동 회복 176 연속 투입 제한 179 4.6 효과 표시 183 파티클 시스템의 생성 183 파티클 시스템의 기본 설정 184 파티클 머티리얼의 설정 186 임의성 부여 188 Lifetime에 따른 변화 191 효과 자동 삭제 193 효과 작성 194 4.7 사운드 재생 197 효과 재생 197 임의의 타이밍에서의 재생 199 BGM 재생 202 Audio Mixer 이용 204 정 리 좀 더 재미있게 하려면 209 CHAPTER 5 3D 게임 만들기 - 캐릭터와 GUI 컨트롤하기 210 5.1 에셋의 임포트와 씬 초기화 212 5.2 캐릭터 애니메이션 도입 투어 213 본(bone)과 Skinned Mesh Renderer 213 애니메이션 클립과 키 프레임 214 Animator와 트랜지션 216 5.3 네지코 작성 219 CharacterController 설정 219 CharacterController 이용 220 프로젝터에 의한 그림자 224 Ignore 레이어 설정 226 카메라 워크 227 주행 자동화 229 8 차 례

5.4 스테이지 생성 234 자동 생성 방침 234 초기 스테이지 설치 234 스테이지 자동 생성 235 안개 이용 240 5.5 적의 설정과 패널티 구현 242 적 오브젝트의 설정과 구성 242 적의 임시 배치 243 데미지 처리 245 5.6 스테이지 디자인 250 적 생성의 문제점과 해결 방침 250 적 출현 장소의 지정 251 스테이지 편집 252 5.7 ugui를 사용하여 게임 정보 표시하기 257 Canvas의 작성과 초기 설정 257 Text 오브젝트 이용 259 여러 화면 비율과 해상도 지원 260 라이프 아이콘 표시 263 패널 이용 264 UI 갱신 268 5.8 버튼 이용 271 버튼 생성 271 클릭 이벤트 설정 274 버튼의 이미지화 276 5.9 스테이지 생성 279 씬의 생성과 초기 설정 279 GUI 설정 281 씬의 전환 284 하이 스코어의 기록 287 정 리 좀 더 재미있게 하려면 291 CHAPTER 6 2D 게임 만들기 - 스프라이트와 2D 물리 엔진 제대로 다루기 292 6.1 게임 작성 방침 294 6.2 2D 모드로의 변경과 초기 설정 295 2D 프로젝트 만들기 295 2D 모드와 3D 모드의 차이 295 2D 모드와 3D 모드의 변경 296 차 례 9

6.3 에셋의 임포트와 설정 298 에셋의 임포트 298 스프라이트의 임포트 설정 298 스프라이트의 패킹과 스프라이트 아틀라스 299 6.4 배경 오브젝트 작성 303 지면 작성 303 배경 작성과 표시 순서 설정 305 카메라 설정 308 배경 스크롤 309 6.5 캐릭터 작성 313 Animator 준비 313 스프라이트 애니메이션 작성 315 정지 애니메이션 추가 318 메카님 설정 318 6.6 캐릭터 제어 322 Rigidbody2D와 Circle Collider 2D 설정 322 캐릭터 컨트롤 324 캐릭터의 애니메이션 제어 326 사망 판정 329 6.7 블록 작성 332 Block 오브젝트 구성 332 Block 오브젝트의 작성과 설정 333 높이를 랜덤으로 생성 334 블록 설치 337 6.8 게임 전체의 컨트롤 339 캐릭터 조작 제어 339 GameController 만들기 341 클리어 판정과 스코어의 가산 345 GUI 표시 349 6.9 카메라 크래쉬 효과 355 정 리 좀 더 재미있게 하려면 359 CHAPTER 7 2D 게임 출시 준비와 스토어에 등록하기 360 7.1 Player Settings 편집 361 Product Name 설정 361 Resolution and Presentation 설정 362 Icon 설정 362 스플래시 설정 365 Other Settings 설정 366 10 차 례

7.2 Android의 Keystore 만들기 369 Keystore 작성 순서 369 Keystore 이용 371 7.3 출시 빌드의 작성 372 빌드 372 제출과 업로드 372 정 리 게임의 출시 준비와 스토어에 등록하기 375 APPENDIX A 유니티를 좀 더 잘 사용하기 위해 376 A.1 MonoDevelop의 대용 스크립트 에디터 376 사용할 에디터 변경 376 Xamarin Studio 도입 377 Visual Studio Code 도입 380 A.2 에셋 스토어 이용 384 에셋 스토어의 기동과 이용 방법 384 추천하는 에셋 386 A.3 앱으로 광고 수입 얻기 391 Unity Ads 등록 391 신규 게임 등록 392 Unity Ads의 내장 394 찾아보기 399 차 례 11

COLUMN TIPS 유루 로봇 에셋 라이선스에 대해 19 유니티 공식 페이지 25 유니티 5.1~5.3의 신기능에 대해 28 유니티 계정 작성 41 에셋 스토어의 데모 프로젝트 44 Unity Cloud Build 47 시뮬레이터에서의 테스트에 대해서 49 Scene 뷰의 조작 64 주위 배경의 투영과 Reflection Probe 75 주위의 경관을 광원으로 하는 Image Based Lighting 77 프레임 이해하기 105 스크립트 프로그래밍 언어 109 프로젝트 폴더의 내용 113 Rigidbody 파라미터 114 오래된 UI 시스템인 OnGUI 128 카메라와 멀티 종횡비 128 라이트맵에 의한 부하 경감 130 Import Settings에서의 에셋 설정 136 Transform의 position 멤버의 변경 149 머티리얼의 노멀 맵 151 Hierarchy 뷰에 있는 이름 부분의 색상 변화 155 Debug 클래스를 활용한 동작 체크 155 Mesh Collider의 Convex 옵션 156 프리팹의 변경과 씬의 오버라이드 158 스크립트 레퍼런스 169 파티클 시스템의 기본적인 파라미터 185 씬의 음향을 재현하는 3D 사운드 198 사운드의 임포트 설정 203 프레임 간의 경과 시간을 나타내는 Time.deltaTime 224 Canvas에서 취급하는 RectTransform 266 Image 컴포넌트의 Image Type 277 그 외의 UI 컴포넌트 283 씬 간의 데이터 전달 287 게임 데이터를 보관하는 PlayerPrefs 290 스프라이트의 Multiple 모드와 슬라이스 301 Find 함수의 기능과 주의점 345 2D Sprite와 UI 354 유니티의 커뮤니티 358 ios 64bit 버전 대응에 대해 367 그 외의 플랫폼 빌드 374 Sublime Text 3 383 AdMob 도입 397 여러 버전을 설치 38 라이선스의 설치 제한 40 Finders에서의 Library 디렉터리의 표시 46 Directional Light의 위치 60 미리보기 중의 변경 68 머티리얼 공유 73 Inspector 뷰의 Add Component 버튼 87 머티리얼 반영 90 에디터의 변경 104 플랫폼마다 처리 나누기 110 Scene In Build의 무효화와 삭제 112 마찰 계수 116 MonoBehaviour의 인스턴스화 160 Tool 핸들의 글로벌과 로컬의 전환 163 컴포넌트에 대한 Destroy 함수 사용 167 StartCoroutine 함수의 인수 179 코 루틴 내의 로컬 변수 182 오브젝트 무효화 243 UI 레이어 258 UI 구성 요소와 Canvas 260 UI에 이용하는 이미지 263 Canvas에 있는 오브젝트의 표시 순서 265 컴포넌트의 enabled 플래그 286 애니메이션 클립의 이름 315 애니메이션 설정의 간략화 317 Awake 함수의 주의점 325 Android용 아이콘 이미지 363 Keystore 패스워드 371 12 차 례

옮 긴 이 머 리 말 주변을 살펴보면 지하철 안이나 카페 등에서 스마트폰으로 게임을 즐기고 있는 사람들을 자 주 목격하게 된다. 그리고 그 게임 대부분이 상당히 화려한 그래픽과 3D 입체감으로 잘 표현 되고 있으며, 장르 또한 다양함에 꽤 놀라게 된다. 그렇다면 이러한 게임들은 어떻게 개발되고 있을까? 예전이라면 게임 개발 전문 업체들이 그들만의 기술과 노하우로 가능했었던 일이지 만, 이제는 아니다! 이 책의 저자가 언급하였듯이, 유니티라는 도구가 등장함에 따라 누구라도 쉽게 게임을 개발할 수 있게 되었다. 유니티는 게임 개발에 필요한 물리 엔진과 그래픽 및 사운드 효과를 통합 개발 환경 내에서 모두 제어할 수 있다. 또한, 메뉴 선택만으로 아이폰과 안드로이드 및 기타 여러 기기에 쉽게 적용할 수 있어 같은 앱을 각각의 기기별로 손쉽게 출시할 수 있다. 이 책은 이러한 유니티를 실제로 조작하여 게임을 만들어보는 입문서다. 누구나 따라 하기 쉽 게 게임 개발의 전체 과정을 그림을 통해 상세히 설명하고 있다. 유니티를 전혀 모르는 독자라 고 할지라도 이 책을 따라 하다 보면, 내 손으로 만든 게임이 실제로 동작하는 것을 체험할 수 있을 것이다. 부디 그 기쁨을 만끽하길 바란다. 감사의 글 먼저, 이 책을 번역하게 해주신 하나님께 감사드린다. 그리고 책의 출간에 관여한 모든 분에게 도 감사하다. 특히, 이 책의 교정과 편집으로 수고해주신 장성두 실장님, 현지환 대리님, 이민 숙 과장님께 이 자리를 빌려 감사의 말씀을 드린다. 번역이라는 작업은 늘 나 자신의 부족함을 느끼게 하는 것 같다. 저자가 전달하고자 하는 내 용을 빠짐없이 전달하고자 하면 우리말 표현에 어색함이 묻어 나오고, 쉬운 우리말 표현으로 고치면 왠지 저자의 의도를 내 마음대로 해석한 게 아닌가 하는 미안함이 남는다. 옮긴이 머리말 13

마지막으로, 사랑하는 나의 아내와 하은, 시온에게도 이 책의 출간에 앞서 감사함을 전한다. 겨우내 책상에서 등짝만 보인 아빠를 잘 참아줘서 고맙다! 약속했듯이 가까운 온천으로 여행 을 떠나자! 일본 도쿄에서 정인식 14 옮긴이 머리말

머 리 말 스마트폰 게임 개발은 정말로 흥미롭고 재미있는 작업이다. 게임을 앱으로 구현하게 되면 누구 나 그 앱을 전 세계의 스토어에서 판매할 수 있다. 그리고 때로는 개발자 자신이 직접 만든 게 임을 수만 명의 사람이 즐기며 리뷰를 해주기도 한다. 이렇듯 상상도 할 수 없을 만큼 많은 사 람이 내가 만든 게임을 즐기고 있다 라는 상황을 마주하면, 게임을 가지고 놀 때와는 전혀 다 른 재미와 설렘을 느낄 수 있다. 유니티는 여러분의 가슴 속 깊이 잠들어 있는 게임에 대한 아이디어를 실현해줄 수 있는 아주 뛰어난 도구다. 불과 몇 년 전까지만 해도 게임 개발은 기술과 자금, 그리고 라이선스 측면에 서 높은 장애물이 존재하고 있었다. 그러나 유니티는 이러한 장애물을 상당히 제거해주었고, 여러분이 구상하는 아이디어를 아주 짧은 기간에 실제로 동작하는 형태로 만들어준다. 게임 개발 전문가도 사용하는 이 유니티라는 도구는 고급스러운 처리와 표현도 가능하지만, 다른 한편으로는 누구나 쉽게 게임을 만들 수 있게도 해주는 특징을 갖고 있다. 이는 유니티 의 유일무이한 고급 에디터를 사용함으로써 복잡한 내부 로직을 거의 의식하지 않고 다양한 기능을 사용할 수 있기 때문이다. 또한, 유니티는 무료로 이용할 수도 있으며, 제작한 게임은 누구나 자유롭게 게시할 수 있다. 이것은 과히 혁명 이라고 해도 과언이 아닐 것이다. 이 책은 유니티를 배우고 싶은 사람들뿐만 아니라 스마트폰 게임을 만들어보고 싶다, 게임에 대한 아이디어는 갖고 있으나 어떻게 해야 할지 모르겠다 는 사람들, 즉 처음으로 게임 개발을 하려는 사람들도 대상으로 하고 있다. 따라서 유니티의 조작 방법이나 기능뿐만이 아니라 게 임을 만드는 데 필요한 지식과 기본 상식에 관해서도 설명하고 있다. 이 책에서 실제로 제작하는 게임 예제는 화면 크기와 조작 방법 등 기본적으로 스마트폰 스토 어에 공개하는 것을 전제로 하고 있다. 더불어서 중간에 소개하는 프로그램 코드는 최대한 간 머리말 15

단하게 만들었다. 그렇다고 해서 허접스러운 것은 아니다. 따라서 제대로 갖고 놀 수 있는 스 마트폰 게임을 만들자 라는 전제를 충실히 실천하여 유니티의 사용법을 배울 수 있을 것이다. 참고로, 이 책은 입문 수준의 해설서이지만 유니티 사용자 로서 홀로서기가 가능할 수 있는 수준을 목표로 하였다. 단계별로 튜토리얼을 진행하고, 유니티의 분위기를 파악할 뿐만 아니 라 왜 그 과정이 필요한지, 그리고 왜 그렇게 만드는지도 설명하고 있다. 또한, 나중에라도 응 용할 수 있는 기능과 사용법을 최대한 실었다. 유니티는 거대한 게임 엔진이며, 게임 개발 자체는 빨리 마스터할 수 있는 것이 아니다. 하지만 앞으로 유니티를 사용하여 자신이 갖고 있는 아이디어를 실현하고자 하는 사람들에게 이 책 이 조금이라도 도움이 되었으면 좋겠다. 그리고 정말 작은 계기가 될지도 모르겠지만, 이 책을 통해서 게임 개발의 재미와 아이디어를 실현하는 즐거움을 만끽할 수 있다면 정말 좋겠다. 요시야 미키토 16 머리말

이 책에 대하여 이 책은 다음과 같은 장으로 구성되어 있다. 이 책의 예제 프로그램은 C#으로 작성되어 있으 며, C#의 문법과 같은 프로그래밍 입문에 관해서는 설명하지 않으므로 별도의 서적을 참조하 기 바란다. 또한, 유니티의 최신 정보 및 라이선스 형태 등은 언제든지 변경될 수도 있으므로 이용 시에는 다음의 유니티 웹사이트를 통해서 최신 정보를 확인하기 바란다. 유니티의 공식 웹사이트 https://unity3d.com/kr 0 유니티는 전 세계적으로 사용되고 있는 게임 엔진으로서 이를 통해 다수의 게임이 개발, 공개 되고 있다. 여기서는 유니티의 특징과 개요를 정리해두었다. 1 유니티는 무료로 이용할 수 있다. 이 장에서는 유니티를 구하는 방법과 설치에 관해 설명한다. 2 유니티는 통합 개발 환경으로서 게임 제작을 위한 다양한 도구와 기능이 포함되어 있다. 여기 서는 유니티 에디터로 3D 오브젝트를 다루기 위한 기본 작업을 습득한다. 3 유니티 게임 제작에서 핵심 부분인 물리 엔진과 충돌에 의한 이벤트 제어를 공 굴리기 예제 게임을 사용하여 설명한다. 4 캔디 떨어뜨리기 예제 게임을 이용하여 개발 효율을 향상하기 위한 핵심인 프리팹(Prefab), 게 임의 효과를 연출하는 파티클(Particle)과 사운드(Sound)를 설명한다. 이 책에 대하여 17

5 3D GUI 지금까지 소개한 기능을 사용하여 본격적인 3D 게임을 만든다. 여기에서는 저자가 실제로 업 무에서 제작한 유루 로봇 제작소 의 캐릭터를 활용한다. 6 2D 2D 유니티는 2D 게임도 만들 수 있다. 여기에서는 하늘을 나는 물범 예제 게임을 사용하여 2D 스프라이트와 물리 엔진을 제어하는 방법을 배운다. 7 유니티는 멀티 플랫폼 개발을 할 수 있다. 완성된 게임을 애플의 앱스토어와 구글의 플레이 스 토어에 공개하는 방법을 소개한다. 본문에서 소개하지 못한 앱 안의 광고 게재 방법과 개발 효율성을 높이는 전통적인 에셋, 플 러그인을 소개한다. 예제 코드와 에셋 다운로드 이 책에 게재한 예제 프로그램의 코드와 각종 에셋은 다음의 웹 페이지에서 다운로드할 수 있 다. 에셋의 이용 방법 등은 각 장의 본문을 참조하기 바란다. 예제 코드와 애셋 다운로드 웹사이트 번역서: https://github.com/jpub/unity5smartphonegamedev 원 서: http://www.socym.co.jp/book/967 예제 프로그램 이용에 대해서 이 책에 게재된 예제 프로그램은 유니티의 학습을 위해 만든 것으로, 실용적인 목적을 보증하 지는 않는다. 학습 목적의 용도 이외로는 사용할 수 없으므로 주의하기 바란다. 또한, 일부 에 셋은 다음의 라이선스에 준거하여 사용할 수 있다. 또한, 이 책에 게재한 프로그램의 저작권 은 모두 저자에게 귀속되어 있다. 18 이 책에 대하여

다운로드 데이터의 에셋에는 유루 로봇 제작소의 캐릭터 모델이 포함되어 있다. 이 책의 설명에 따른 예 제 프로그램의 제작에는 이용이 가능하지만, 그것들을 게임으로서 일반에 공개할 수 없으므로 주의하기 바란다. 만일 이용 시에는 패키지에 포함되어 있는 LICENCE.txt의 내용에 따라 이용하기 바란다. 또한, 이용했을 경우에는 LICENCE.txt의 내용에 동의한 것으로 간주한다. 할 수 있는 것과 할 수 없는 것을 아래에 간단 하게 정리해두었다. 유니티 습득을 위한 예제 프로그램의 작성 예제 프로그램 작성 과정의 스크린 샷 촬영 및 공개 작성한 프로그램을 마켓에 출시하거나 일반 공개 에셋의 2차 배포 작성한 프로그램의 리포지터리 공개 이 책에 대하여 19

베타리더 후 기 제이펍은 책에 대한 애정과 기술에 대한 열정이 뜨거운 베타리더들로 하여금 출간되는 모든 서적에 사전 검증을 시행하고 있습니다. 김연학(콤마 스튜디오) Cocos2D-x로 게임 개발을 하고 있지만, 유니티로 개발 효율을 높이기 위해 여러 유니티 서적을 보며 도전했었습니다. 하지만 매번 적응하지 못하고 유니티를 이용한 게임 개발에 실패했었습니다. 이 책은 게임 예제를 통해 게임 개발에서 모바일 출시까지 상세히 설명되어 있습니다. 유니티 개발 입문자라면 꼭 추천해 드리고 싶습니다. 다만, C# 스크립트 작성에 기초 설명이 다소 부족한 것 같아 프로그래밍을 전혀 모르는 완전 입문용 책은 아닌 것 같습니다. 김제룡(NCSOFT) 유니티 엔진은 일정 품질의 게임을 빠르게 개발할 수 있는 툴로 유명합니다. 하지만 버전 업이 빨라 변화되는 내용이 많은데, 특히나 버전 5.x로 들어오면서 굉장히 많은 변화가 있었습니다. 그 와중에 이 책은 세세한 것까지 알려주어 굉장히 좋았습니다. 실제 유니티를 사용하여 몇 년째 게임 제작을 하고 있지만, 베타리딩을 하면서 모르거나 잊어먹은 내용을 많이 상기시켜 주었습니다. 최신 버전으로 기초적인 내용부터 설명하고 게임을 따라 만드는 방식으로 집필된 이 책을 읽다 보면, 간단한 게임 정도는 만들 수 있는 수준까지 실력이 향상될 것입니다. 또한, 인디 개발자가 관심 있을 만한 내용도 많이 포함하고 있어서 매력적인 책인 것 같습니다. 노승헌(아카마이 테크놀로지스 코리아) 늘 업무용 프로그램과 서비스만을 개발해오던 사람에게 게임 개발은 참 낯선 주제입니다. 어디서부터 시작해야 할지도 참 애매합니다. 하지만 이 책은 게임 개발에 문외한인 사람조차도 용어와 개념들을 차근차근 익히도록 도와주고, 실제 동작하는 게임을 만들어볼 수 있는 경험을 제공해주고 있습니다. 설명과 함께 제공되는 적절한 스크린 샷, 순서에 대한 표기가 책을 따라가는 데 정말 많은 도움이 되었습니다. 유니티를 이용한 게임 개발을 처음 해보는 사람들에게 적극 추천해주고 싶습니다. 20 베타리더 후기

송영준(줌인터넷) 실제 게임을 만드는 과정을 하나하나 따라가며 유니티의 기능을 단계별로 학습할 수 있도록 잘 구성되어 있습니다. 비록 얕고 넓게 다룬 느낌은 있지만, 덕분에 유니티나 게임 개발에 익숙하지 않은 사람이 개발 시작부터 출시까지의 전체 작업 과정을 경험하도록 해줍니다. 플래시 스크립트나 포토샵을 공부하던 느낌으로 조금씩 따라 하면 게임이 만들어져서 신기하네요. 송종근(위시컴퍼니) 가장 최신의 내용을 다루고 있어서 유니티를 처음 접하시는 분들이 부담 없이 선택할 것 같습니다. 또한, 게임을 여러 플랫폼으로 포팅하길 원하는 사람이라면 당연히 유니티를 선택하고 책은 바로 이 책을 선택하였으면 합니다. 매우 쉬운 난이도로 집필되어서 책을 보는 데 전혀 어렵지 않았습니다. 다만, 한 개 장 정도는 조금 더 어려운 내용도 있었으면 좋았겠다는 생각을 해봅니다. 원강민(원하다닷컴) 3D와 2D를 한 번에, 그리고 쉽게 배울 수 있는 책을 기다렸는데 드디어 만나게 되었네요. 이 책은 유니티의 기본적인 사용법뿐만 아니라 게임을 실제 출시할 수 있도록 돕는 아주 친절한 가이드북입니다. 특히, 유니티를 더 잘 사용하는 데 필요한 노하우까지 전달하는 올인원 책이기도 하고요. 여기저기서 정보를 얻느라 고생하지 마시고 이 책을 통해 한 번에 배워가세요~ 전민제(AfreecaTV) 유니티를 이용한 게임 개발에 관심은 많았지만 막상 시작하기는 어려웠습니다. 이 책은 그 허들을 넘게 해주는 안내서입니다. 유니티를 이용한 게임 개발은 물론, 설치부터 스토어 등록, 앱으로 광고 수익을 얻는 방법까지 전반적인 분야를 다루고 있기 때문입니다. 그리고 생각보다 책이 쉽게 읽혀 좋았습니다. 전체적으로 단문이었고 기술적인 서술 위주라 글의 호흡이 짧았던 게 주효했다고 생각됩니다. 책을 읽는 도중에 게임과 유니티에 관심을 갖고 있는 지인에게 권해도 괜찮겠다는 생각이 종종 들곤 했습니다. 최아연(숭실대학교) 이 책 정말 좋았어요! 예제 프로젝트 구성이 좋고 설명이 아주 잘 되어 있어서 입문자도 쉽게 따라갈 수 있을 것으로 보입니다. 기본적인 유니티의 사용법부터 모바일 게임 출시에 이르기까지 전반적인 게임 개발을 다루어줘서 좋았습니다. 현승철(유니토엔터테인먼트) 정말 친절한 책이다. 라고 생각됩니다. 단계별로 차근차근 게임을 제작할 수 있게 안내해주면서 유니티 5에 새로 추가된 기능들을 게임에 적용하는 부분이 좋았습니다. 또한, 유니티에서 제공하는 기능들의 속성에 대한 설명이 자세하게 기재되어 있어 유니티 엔진을 활용하는 데 많은 도움이 되었을뿐더러 처음 다루는 사용자들에게 많은 도움이 될 것 같습니다. 베타리더 후기 21

CHAPTER 0유니티의 특징과 개요 0.1 게임 통합 개발 환경 유니티 Unity(이하 유니티)는 게임 통합 개발 환경으로서, 간단히 말해 게임을 만들기 위한 도구다. 본 래 게임을 만들 때는 그래픽을 표현하는 기능과 캐릭터의 움직임을 제어하는 기능 등의 개발 에 엄청난 노력을 할애해야 한다. 유니티는 게임을 만드는 데 필요한 이러한 기능들을 게임 엔 진으로 제공한다. 따라서 유니티를 이용하면 게임을 만들자! 라는 생각과 동시에 게임 만들기 를 시작할 수 있다. 유니티는 전 세계의 많은 게임 회사와 게임 개발자의 지지를 얻고 있다. 2015년을 기준으로 유 니티의 게임 개발 등록자는 전 세계에서 400만 명을 돌파했다. 또한, 조사에 따르면 게임 개발 자 전체의 47%가 유니티를 어떠한 형태로든 이용하고 있다. 여러분이 최근에 어떤 플랫폼에서 든 게임을 했다면, 그 게임은 아마도 유니티로 만들었을 가능성이 충분히 있다고 본다. 이렇듯, 이제부터는 게임 개발자의 많은 지지를 얻고 있는 유니티의 주요한 특징을 소개하고자 한다. https://unity3d.com/kr/public-relations 정교한 에디터와 뛰어난 워크플로우 다른 게임 엔진이나 게임 프레임워크와 유니티의 커다란 차별점은, 사용하기 쉬우면서도 매우 정교한 에디터를 개발 환경 내에 구비하고 있는 점이다. 이 에디터는 지금까지와는 비교할 수 없을 정도의 개발 효율성을 제공한다. 유니티는 프로그래머만이 사용하는 도구가 아니다. 디자이너는 캐릭터의 움직임 설정과 이미 지 레이아웃 등의 작업에서 유니티를 사용한다. 또한, 어느 위치에 적이 출현할지, 얼마나 빠른 속도로 총을 쏠 것인지 등의 설정에서는 게임 기획자가 유니티를 사용한다. 22

따라서 지금까지는 별도의 도구에서 개별적으로 실시하거나 프로그래머가 외부의 부탁을 통 해 간접적으로 조정하고 있던 부분까지도 담당자가 직접 유니티상에서 본인이 만족할 때까지 작업할 수 있게 되었다. 또한, 이러한 작업의 결과를 누구에게 부탁하지 않고도 그 자리에서 바로 볼 수도 있다. 0 이런 뛰어난 워크플로우를 통해 개발자는 세밀한 개발 작업과 버그 수정 작업에 더 많은 시간 을 쏟을 수 있다. 재미있는 게임은 금방 만들어지지 않는다. 무수히 많은 시행착오와 조정을 거듭한 결과, 최고의 기능 및 최적의 설정을 발견함으로써 사용자가 정말로 재미있게 즐길 수 있는 게임이 만들어지는 것이다. 유니티의 에디터 및 워크플로우는 그 시행착오의 사이클을 줄여줌으로써 더욱더 재미있는 게임을 만들 수 있도록 강력히 지원해준다. 5 그림 0-1 - 1 유니티 개발 화면 게임 개발의 민주화 유니티를 얘기할 때 자주 듣게 되는 말이 게임 개발의 민주화다. 이 말인즉슨, 지금까지는 전문 적인 지식을 가진 사람만이 할 수 있었던 게임 개발을 이제는 누구라도 할 수 있게 되었다는 것이다. 유니티는 지금까지 수십 년에 걸쳐 축적되어 온 게임에 관한 기술이 탑재되어 있다. 예를 들어, 실사처럼 보이는 그래픽 표현, 물체의 복잡한 움직임을 제어하는 물리 연산 처리, 대량의 오브 젝트를 고속으로 처리하기 위한 최적화 알고리즘 등이 그 기술들이다. 이 기술들은 연구자와 기 업의 많은 노력으로 조금씩 밝혀낸 기술의 결정체인데, 이제는 유니티를 사용함으로써 코어의 복잡한 처리를 손쉽게 할 수 있게 되었다. 0.1 게임 통합 개발 환경 유니티 23

또한, 유니티에서는 기본 라이선스를 가지고도 모든 기능을 무료로 이용할 수 있다. 게다가 만 들어낸 게임은 자유롭게 스토어나 마켓에 공개해도 좋다. 즉, 유니티를 사용한다면 모든 사용 자가 게임 개발 전문가와 완전히 똑같은 위치에 서 있다고 말할 수 있다. 캐릭터의 소재와 플러그인이 갖추어진 에셋 스토어 유니티가 운영하는 에셋 스토어(Asset Store)에서는 개인이나 기업에서 만든 캐릭터와 그림 소재 등을 저렴한 가격에 구매하거나 무료로 사용할 수 있다. 예를 들어, 에셋 스토어를 이용함으 로써 디자이너가 팀에 없을 때에도 비주얼이 뛰어난 게임을 만들 수 있다. 에셋 스토어에는 소재뿐만 아니라 처리 및 기능을 제공하는 플러그인과 같은 것들이 아주 다 양하게 구비되어 있으며(부록 참조), 이것들을 이용하면 앱 내 결제 기능을 쉽게 도입할 수 있거 나 유니티의 조작을 좀 더 쉽게 할 수 있다. 이로 인해 다른 사람이 만든 프로그램 코드를 재 사용하여 생산성을 더욱더 높일 수 있다. 그림 0-1 - 2 유니티의 에셋 스토어 폭넓은 멀티 플랫폼 대응 유니티는 멀티 플랫폼 대응의 개발 환경이다. 즉, 같은 프로그램 코드와 콘텐츠에서 여러 게 임기나 스마트폰용의 애플리케이션을 만들 수 있다. 예를 들자면, ios와 안드로이드(이하 Android), 윈도우 폰(이하 Windows Phone), 맥 오에스(이하 Mac OS), 윈도우(이하 Windows), 리눅스 (이하 Linux), 웹브라우저 등이 있다. 이외에도 특수 라이선스가 필요한 상황이긴 하지만, 20여 개 이상의 플랫폼에 대응하고 있다. 이는 다른 엔진과는 비교할 수 없을 정도다. 24 CHAPTER 0 유니티의 특징과 개요

스피드가 요구되는 현재의 게임 개발 상황에서 이러한 멀티 플랫폼이라는 특징은 개발 비용과 관리 비용을 크게 줄일 수 있다. 또한, 개발 초기에는 계획하고 있지 않았던 마켓에 대한 비즈 니스 기회로도 연결될 수 있다. 0 COLUMN 유니티는 거대한 게임 엔진으로, 뛰어난 기능과 특징을 한마디로 이야기하기에는 너무나 방대 하다. 더 자세히 알고 싶은 사람은 유니티의 공식 페이지(http://unity3d.com/kr/unity/editor)를 참조하기 바란다. 유니티에 대한 소개 동영상과 최신 정보, 향후 로드맵 등도 게재되어 있다. 유니티 5의 신기능에 대한 데모를 볼 수 있다. 이후의 로드맵 등이 게재되어 있다. 5 유니티의 특징 이나 개요 등을 알 수 있다. 그림 유니티 공식 페이지 0.1 게임 통합 개발 환경 유니티 25

0.2 유니티 5의 신기능 유니티 3.5, 유니티 4도 마찬가지이지만, 유니티는 버전이 올라갈 때마다 크게 진화를 이루어 왔다. 유니티 5에서도 다양한 기능이 추가 및 개선되었다. 조금 전문적인 용어가 들어가긴 하 지만, 그 대표적인 예를 간략하게 소개하고자 한다. 또한, 주요 기능의 구체적인 사용법에 대 해서는 본문을 통해 실제 게임 개발 사례와 함께 설명하겠다. 실제 빛의 반사 방식을 기반으로 계산이 가능한 물리 기반 셰이더(shader)가 탑재되었다. 이에 따라 3D 공간에서 오브젝트의 질감을 보다 유연하고 사실적으로 표현할 수 있게 되었다. 공간 전체를 고려한 조명(lighting)을 실시하는 글로벌 일루미네이션(Global Illumination) 기능이 탑재되었다. 이에 따라 간접 조명으로 물체가 비춰지는 현상 등 현실 세계에 가까운 표현을 실 시간으로 계산할 수 있게 되었다. 강력한 오디오 믹서(Audio Mixer)가 탑재되어 게임 전체의 사운드와 BGM(배경 음악)을 보다 직 감적으로 조정할 수 있게 되었다. 또한, 게임 씬(scene)의 변화에 맞추어 미리 설정한 음향의 조 합으로 전환시키는 등 고급 구조도 제공한다. 추가 콘텐츠를 제공하는 구조인 에셋 번들(Asset Bundle)이 더욱 사용하기 쉬워졌다. 특히, 에셋 의 종속성을 보다 간단히 다룰 수 있게 되었다. 또한, 변경 내용의 차이를 고려함에 따라 빌드 시간도 단축되었다. IL2CPP 유니티는 C#이나 자바스크립트(JavaScript)로 코드를 작성할 수 있는데, 그것을 다시 C++로 변환 하는 IL2CPP라는 기술이 탑재되었다. 이에 따라 실행 시 처리 속도와 같은 성능이 향상되었다. WebGL 유니티 5에서는 WebGL로 출력이 가능하며, 브라우저에서 특별한 플러그인 없이도 동작시킬 수 있게 되었다. 26 CHAPTER 0 유니티의 특징과 개요

유니티 프로젝트의 빌드를 서버에서 수행해주는 Unity Cloud Build, 게임을 광고 수익으로 연 결해주는 Unity Ads, 게임의 이용 빈도 등을 분석하는 Unity Analytics 등의 서비스를 사용할 수 있게 되었다. 이것들은 게임 개발 시에 꼭 필요한 작업들이며, 유니티 클라우드 서비스는 이를 효율적으로 지원한다. 0 유니티 4까지는 전문가용의 고급 기능을 사용하려면 라이선스를 구입해야 했지만, 유니티 5에 서는 이러한 제한이 해제되어 어떠한 라이선스라도 모든 기능을 사용할 수 있게 되었다. 물리 기반 셰이더에 의한 리얼한 질감의 실현 글로벌 일루미네이션에 의해 공간 전체를 고려한 조명 5 오디오 믹서에 의한 직감적인 음향 조작 유니티 클라우드 서비스에 의한 진일보한 개발 지원 그림 0-2 - 1 유니티 5의 신기능 일부 0.2 유니티 5의 신기능 27

COLUMN 5 1 5 3 유니티 5.0에 이어 출시된 유니티 5.1에도 꽤 많은 변경 사항이나 개선 사항이 포함되어 있다. 아래에 그 일부를 소개하겠다. 로그인 플로우 통합 유니티 기동 시에 로그인 플로우(Login Flow)가 표시되게 되었다. 또한, 유니티 화면에는 항상 계 정 메뉴가 표시된다. 새로운 멀티 플레이어 시스템의 도입 멀티 플레이어 게임을 위한 새로운 컴포넌트와 매니저가 추가되었다. 유니티 클라우드 서비스와 의 통합도 정비되어서 멀티 플레이어 게임 구현이 더 쉬워지게 되었다. 새로운 HDR 색상 선택기의 도입 HDR(High Dynamic Range)에 대응한 새로운 색상 선택기를 사용할 수 있다. Oculus Rift와의 통합 VR(Virtual Reality, 가상 현실)에 특화된 헤드 마운트 디스플레이 OculusRift와의 연계가 플러그인 없이도 가능하게 되었다. Unity Analytics의 통합 Unity Analytics 서비스가 프로젝트의 ID를 입력하는 것만으로 간단하게 사용할 수 있게 되었다. 로그인 플로우의 통합 ID를 입력하는 것만으로 Unity Analytics를 이용할 수 있게 되었다 그림 유니티 공식 페이지 새로운 HDR 색상 선택기 28 CHAPTER 0 유니티의 특징과 개요

유니티 5.2~5.3의 신기능에 대한 소개는 옮긴이가 작성하였음을 알려드립니다. 유니티 5.2의 신기능에 대해 유니티 5.2의 경우도 많은 부분이 수정되었다. 그중에서 눈에 띄는 것을 소개하겠다. 0 2D 스프라이트를 회전시켜서 Sprite Packing으로 아틀라스 공간을 절약할 수 있게 되었다. 5 그림 0-2 - 2 Sprite Packer 화면 UI 드롭 다운제어. 드롭 다운은 사용자에게 옵션 리스트 중에서 하나의 옵션을 선택하게 하기 위해서 사용할 수 있다. 보다 자세한 내용에 대해서는 유니티 공식 웹 페이지를 참조하기 바 란다. 그림 0-2 - 3 드롭 다운 옵션의 예 0.2 유니티 5의 신기능 29

유니티 5.3의 신기능에 대해 유니티 5.3의 경우는 다음과 같이 상당히 많은 기능이 추가되었다. MonoDevelop(모노디벨롭)의 새로운 버전(V.5.9)이 채택되었다. 특히, 타깃에 쉽게 연결해서 디버 깅할 수 있게 된 점, 한국어 입력에 대한 개선도 눈에 띈다. 그림 0-2 - 4 MonoDevelop 스크립트 에디터 5.2까지의 씬의 편집은 단일 씬만 가능하였으나, 5.3부터는 멀티 씬의 편집이 가능하게 되었다. 이것은 매우 편리한 기능으로, 예를 들어 아주 커다란 스테이지의 게임을 만든다면 스테이지 를 복수의 씬으로 분할하여 동적으로 로딩할 수 있게 된다. 그림 0-2 - 5 복수의 씬을 로드했을 때의 화면 30 CHAPTER 0 유니티의 특징과 개요

2D 2D기능의 개선으로, 보다 새롭고 흥미로운 2D 물리 도구를 추가하였다. 예를 들면, 부력 이펙터(Buoyancy Effector)의 추가로 인해 오브젝트와 유체간의 힘의 작용을 인터렉티브하게 제공하게 되었다. 0 그림 0-2 - 6 부력 이펙터를 사용한 예 또한, 새롭게 도입된 2D Placeholder Assets Creation 도구를 이용하여 재빠르게 프리미티브 모 양을 만들 수 있다. 5 그림 0-2 - 7 2D Placeholder Assets Creation 더 자세한 내용을 알고 싶으면 유니티 공식 웹 페이지를 참조하기 바란다. 0.2 유니티 5의 신기능 31

0.3 유니티를 이용할 때의 라이선스 유니티 5의 라이선스는 무료 버전의 Personal Edition(퍼스널 에디션)과 유료 버전의 Professional Edition(프로페셔널 에디션)이 있다. 또한, 경우에 따라서는 추가로 애드온 라이선스(Add-On License)가 필요하다. 여기서는 그 차이와 이용해야 할 라이선스를 설명하겠다. 라이선스 가격 등에 관해서는 유니티의 공식 페이지를 참고하기 바란다. Personal Edition과 Professional Edition의 차이 Personal Edition과 Professional Edition의 두 에디션 사이에는 유니티의 기능적인 차이는 없 다. 또한, 둘 다 로열티 프리(free)다. 즉, 기본적으로는 어느 에디션에서라도 유니티의 고급 기 능을 최대한 활용하여 자유롭게 게임을 개발 및 판매할 수 있다. 단, 유료 버전인 Professional Edition에서는 몇 가지 제한이 해제된다. 주로 다음과 같은 것들이 제한이 해제된다. Personal Edition에서는 게임이 시작하기 전에 나타나는 시작 화면(Splash Screen)을 변경할 수 없으며, 유니티 로고가 반드시 표시된다. Professional Edition에서는 이 시작 화면을 자신만의 화면으로 변경할 수 있다. 연간 $100,000 이상의 매출이 있는 회사나 조직은 Personal Edition을 사용할 수 없다. 이 제 한을 초과하는 경우에는 Professional Edition을 이용해야 한다. Professional Edition에서는 유니티가 제공하는 일부 서비스를 무료로 이용할 수 있다. 또한, 베 타 기능과 서비스를 가장 먼저 이용할 수 있다. Professional Edition에서는 유니티 에디터의 외형을 고급스런 검은색 스킨으로 변경할 수 있 다. 기능적인 차이는 없다. 가장 주의해야 할 점은 수익 제한 부분이다. 유니티는 기본적으로 무료로 배포되고 있지만, 기 업이나 사업의 규모에 따라 라이선스가 필요하므로 주의해야 한다. 32 CHAPTER 0 유니티의 특징과 개요

애드온 라이선스 연간 $100,000의 수익 한도를 초과하는 개발자가 ios와 Android용으로 개발하고자 한다면, Professional Edition 라이선스 외에 추가로 ios Pro, Android Pro 라이선스를 구입해야 한다. 0 반대로, 수익의 제한을 초과하지 않는 개발자는 Personal Edition만으로 ios, Android용 의 개발이 가능하다. 그러나 이러한 경우에도 ios, Android의 시작 화면을 바꾸고 싶다면 Professional Edition과 애드온을 구입해야 한다. Professional Edition 5 0.3 유니티를 이용할 때의 라이선스 33