로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

유니티 5로 만드는 3D/2D 스마트폰 게임 개발

   
지은이 요시야 미키토   |   출판사 주식회사 제이펍  |   발행일 2016년 04월 20일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 28,000원25,200원 10%
마일리지 5% 1,400원
발행일 2016-04-20
ISBN 1185890505 |  9791185890500
기타정보 번역서 | 404쪽 | 일반
예상출고일 1~2일 이내 (근무일기준)
배송비 무료배송
   
게임
종합지수 0p
   
 

게임 프로그래머로 향하는 첫걸음!
스마트폰에 특화한 3D/2D 예제 게임!
9인의 베타리더 모두가 극찬한 게임 입문서!

⦁ 개발 힌트와 각종 팁이 많아 현장에서 곧바로 이용할 수 있다
⦁ 스마트폰용 3D/2D 예제 게임으로 배우고, 놀며, 확장할 수 있다
⦁ 유니티 사용 방법과 프로그래밍을 기초부터 확실히 익힐 수 있다

유니티는 게임 프로그래머들에게 폭발적인 인기를 얻고 있는 게임 엔진으로, 멀티플랫폼 3D/2D 게임을 손쉽게 제작할 수 있어 최근 들어 수많은 게임이 유니티로 만들어지고 있다.

이 책은 유니티의 사용 방법이나 프로그래밍을 기초부터 확실하게 배우도록 3D/2D 게임을 직접 만들면서 단계별로 마스터할 수 있도록 구성하였다. 또한, 개발 힌트나 팁들도 많이 실려 있어 개발 현장에서 곧바로 이용할 수 있도록 하였다.

이 책의 특징
■ 인기 앱인 ‘유루 로봇 제작소ʼ의 캐릭터를 사용하여 본격적인 3D 게임 제작
■ 완성도 높은 2D 게임을 작성하기 위한 절차와 테크닉을 친절하게 해설
■ 게임 제작의 핵심인 ‘물리 엔진ʼ, ‘충돌ʼ, ‘프리팹ʼ 등에 대한 완벽한 기초 제공
■ 게임을 출시하여 공개하기 위한 절차와 완성된 게임에 광고를 게재하는 방법 제공
■ 개발 효율을 높이는 주요 에셋과 플러그인 소개

이 책의 주요 내용
0장에서는 유니티의 특징과 개요를 정리해두었다.
1장에서는 유니티를 구하는 방법과 설치에 관해 설명한다.
2장에서는 유니티 에디터로 3D 오브젝트를 다루기 위한 기본 작업을 습득한다.
3장에서는 유니티 게임 제작에서 핵심 부분인 물리 엔진과 충돌에 의한 이벤트 제어를 ‘공 굴리기’ 예제 게임을 사용하여 설명한다.
4장에서는 ‘캔디 떨어뜨리기’ 예제 게임을 이용하여 개발 효율을 향상하기 위한 핵심인 프리팹(Prefab), 게임의 효과를 연출하는 파티클(Particle)과 사운드(Sound)를 설명한다.
5장에서는 지금까지 소개한 기능을 사용하여 본격적인 3D 게임을 만든다. 여기에서는 저자가 실제로 업무에서 제작한 ‘유루 로봇 제작소’의 캐릭터를 활용한다.
6장에서는 ‘하늘을 나는 물범’ 예제 게임을 사용하여 2D 스프라이트와 물리 엔진을 제어하는 방법을 배운다.
7장에서는 완성된 게임을 애플의 앱스토어와 구글의 플레이 스토어에 공개하는 방법을 소개한다.
부록에서는 본문에서 소개하지 못한 앱 안의 광고 게재 방법과 개발 효율성을 높이는 전통적인 에셋, 플러그인을 소개한다.

책속으로
이 책은 유니티를 배우고 싶은 사람들뿐만 아니라 ‘스마트폰 게임을 만들어보고 싶다’, ‘게임에 대한 아이디어는 갖고 있으나 어떻게 해야 할지 모르겠다’는 사람들, 즉 처음으로 게임 개발을 하려는 사람들도 대상으로 하고 있다. 따라서 유니티의 조작 방법이나 기능뿐만이 아니라 게임을 만드는 데 필요한 지식과 기본 상식에 관해서도 설명하고 있다. _15p

참고로, 유니티는 Personal Edition과 Professional Edition 사이에 애플리케이션 자체의 차이는
없다. 유니티 다운로드 후 초기 기동 시 또는 전용 메뉴에서 라이선스 키를 입력하면 언제든지 Professional Edition으로 사용할 수 있다. 따라서 일단은 Personal Edition을 선택하고 나중에 라이선스 키를 입력하는 식으로 진행해도 전혀 문제가 없다. _67p

다음은 게임의 토대가 되는 스테이지를 만들어보자. 그렇다고는 해도 특별한 일은 없다. 단순히 Cube 오브젝트를 결합하여 네모 상자를 만들 뿐이다. 오브젝트의 크기와 위치 등을 조정할 필요가 있으므로 Scene 뷰의 이동 도구보다도 주로 Inspector 뷰에서 Transform을 조작하는 편이 효율이 높을 것으로 생각한다. _96p

이제 사전 준비는 끝났다. 일단, 게임을 미리보기해서 살펴보자. 그러면 Audio Mixer 창 내의 각 그룹의 레벨 모니터가 사운드의 입력에 따라 반응한다. BGM은 BGM 그룹에 할당되어 있는지, Candy 오브젝트를 투입할 때의 소리와 효과의 소리는 Sounds 그룹에 할당되어 있는지를 각각 확인하기 바란다. 또한, 두 그룹이 Master 그룹에 혼합되어 최종적인 출력음으로 되어 있는 것도 확인해야 한다. _207p

PlayerPrefs는 간단한 값을 보관하는 데에는 유용하지만, 방대한 플레이어 데이터를 저장하는 데에는 사용하기 어려워 적합하지 않다. 본격적으로 게임을 만들려면 플러그인을 이용하거나, 자체적으로 파일에 보관하는 처리를 구현하거나, 또는 서버에 저장하는 것을 고려하는 것이 좋다. 그러나 그러한 경우에도 BGM의 볼륨 설정과 같은 시스템적인 면의 설정 항목을 PlayerPrefs로 저장하는 것은 유효하다. _297p

먼저, 캐릭터의 조작 상태를 제어하는 구조를 만든다. 씬이 로드된 직후에는 중력이 작동하지 않게 하고 플레이어 조작 또한 불가능하게 하는 것이 바람직한 상태다. 중력에 관해서는 캐릭터에 추가되어 있는, Rigidbody 2D 컴포넌트의 isKinematic 플래그를 true로 하면 작동하지 않는다. 플레이어 조작에 관해서도 이 isKinematic 플래그를 보고 조작할 수 있는지를 판정할 수 있다. _339p

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

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
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
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
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
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
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

요시야 미키토(𠮷谷 幹人)
1986년에 태어났다. NTT 도코모 503i 시리즈에 탑재된 초창기 i어플리 개발에 참여하면서 모바일 게임 개발을 시작하였다. 대학원 재학 중에는 iOS에서 구현한 음악 추천 서비스에 관한 연구 성과로 정보 처리 학회의 야마시타 기념 연구상을 수상하였으며, 졸업 후에는 모바일 소셜 게임 개발에 종사하였다. 2011년부터 유니티를 사용하기 시작하였고, 스마트폰 게임인 ‘유루 로봇 제작소ʼ를 기획 및 개발하였다. 이후 서버 사이드, 클라이언트 사이드를 포함하여 ‘스트라이크 킹덤ʼ, ‘미래의 가계도ʼ라는 게임의 리딩 엔지니어를 담당하였다. 요즘은 개발 프로세스와 기술적인 측면에 더 접근하여 새로운 제품을 개발하는 데 힘쓰고 있다.
등록된 서평이 없습니다.
4차 산업혁명, 비즈니스 트렌드 : 가상현실, 증강현실, 융합현실편...
김 민 구
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
요시야 미키토 의 최근 저서
 
유니티 게임 프로그래밍 바이블
40,500원
(10%↓+5%)
 
주식회사 제이펍 출판사의 신간
그림으로 공부하는 IT 인프라 구조
야마자키 야스시/김완섭 저
23,400원
(10%↓+5%)
 
파이썬으로 배우는 게임 개발: 실전편
히로세 츠요시/김연수 저
27,000원
(10%↓+5%)
 
실무에 바로 쓰는 일잘러의 보고서 작성법
김마라 저
16,200원
(10%↓+5%)
 
심층 강화학습 인 액션
류광/류광 저
27,000원
(10%↓+5%)
 
프로그래머를 위한 파이썬
황반석/황반석 저
22,500원
(10%↓+5%)
 
이메일주소수집거부