만들면서 배우는 언리얼 게임 프로그래밍-미리보기

Page 1


w w w. h a n b i t . c o . k r

이것이 프로그래밍이다! 저자 직강 동영상 제공!

이것이 안드로이드다

이것이 C언어다

이것이 자바다

진정한 안드로이드 개발자로 이끌어줍니다.

세상에 없던 새로운 C언어 입문서 탄생!

가장 중요한 프로그래밍 언어를 하나 배워야 한다면, 결론은 자바다!

SDK 5.0 롤리팝 호환!

삼성, LG에서 펼쳐졌던 전설의 명강의를 풀타임 동영상 강좌로!

중급 개발자로 나아가기 위한 람다식, JavaFX, NIO 수록

이보다 더 확실한 방법은 없다, 칠판강의

책만 보고, 동영상 강좌로도 만족하지 못했다면 Daum 카페 '슈퍼드로이드'에서 만나요

전체 동영상 강좌 유투브 전격 공개!

자바의 모든 것을 알려주는 인터넷 강의 궁금한 것은 카페에서!

cafe.daum.net/superdroid

http://goo.gl/tJK3Tu

cafe.naver.com/thisisjava

박성근 저 | 1,164쪽 | 45,000원

서현우 저 | 708쪽 | 25,000원

신용권 저 | 1,224쪽 | 30,000원


w w w. h a n b i t . c o . k r

지금은 모던 웹 시대! 모던 웹 디자인을 위한

모던 웹을 위한

HTML5 + CSS3 입문 HTML5 분야 부동의 1위 도서

JavaScript + jQuery 입문

HTML5 표준안 확정에 맞춘 완전 개정판의 귀환!

자바스크립트에서 제이쿼리, 제이쿼리 모바일까지 한 권으로 끝낸다!

HTML5 권고안과 최신 웹 브라우저 환경 대응

시대의 흐름에 맞춰 다시 쓴 자바스크립트 교과서

윤인성 저 | 624쪽 | 30,000원

윤인성 저 | 980쪽 | 32,000원

모던 웹을 위한

HTML5 + CSS3 정복

Node.js

프로그래밍 페이스북, 월마트, 링크드인은 왜 Node.js를 선택했는가?

필요한 것만 배워 바로 현장에서 쓰는 HTML5

이 물음에 대한 답은 Node.js가 보여주는 빠른 처리 능력 때문이다.

순서대로 읽으며 실습할 수 있는 HTML5 자습서

윤인성 저 | 484쪽 | 25,000원

김상형 저 | 700쪽 | 32,000원




지은이

오사와 료스케 大澤 涼介

치바현 출신. 중앙대 졸업 후 소프트웨어 개발 회사에 입사하여 임베디드 시스템 개발 등의 업무를 맡았다. 대학 시절부터 대표를 맡고 있는 게임 개발 서클에서 끝없이 게임 개발에 몸을 던지고 있다.

지은이

이즈카 켄스케 飯塚 健介

교토 세이카대학 졸업 후, 대학 시절에 알게 된 오사와 료스케와 함께 끝없는 게임 개발에 몸을 던지고 있다.

만들면서 배우는 언리얼 게임 프로그래밍 : 횡 스크롤 액션 게임 + 타워 디펜스 TPS 액션 게임 초판발행 2015년 5월 1일 지은이 오사와 료스케 大澤 涼介, 이즈카 켄스케 飯塚 健介 / 옮긴이 윤준 / 펴낸이 김태헌 펴낸곳 한빛미디어 (주) / 주소 서울시 마포구 양화로 7길 83 한빛미디어(주) IT출판부 전화 02 – 325 – 5544 / 팩스 02 – 336 – 7124 등록 1999년 6월 24일 제10 – 1779호 / ISBN 978 – 89 – 6848 – 195 – 6 93000 총괄 배용석 / 책임편집 최현우 / 기획 최현우 / 편집 김철수 디자인 표지 강은영, 내지 여동일 영업 김형진, 김진불, 조유미 / 마케팅 박상용, 서은옥 / 제작 박성우 이 책에 대한 의견이나 오탈자 및 잘못된 내용에 대한 수정 정보는 한빛미디어(주)의 홈페이지나 아래 이메일로 알려주십시오. 잘못된 책은 구입하신 서점에서 교환해드립니다. 책값은 뒤표지에 표시되어 있습니다. 한빛미디어 홈페이지 www.hanbit.co.kr / 이메일 ask@hanbit.co.kr

Unreal Engineスマ-トフォン3Dゲ-ム開發講座 Unreal Engine 4 對應 ( Unreal Engine SmartPhone 3D Game KaihatsuKouza : 3398-0) Copyright © 2014 by Ryosuke Osawa, Kensuke lizuka. Original Japanese edition published by SHOEISHA Co., Ltd. Korean translation rights arranged with SHOEISHA Co., Ltd. through Botong Agency. Korean translation copyright © 2015 by Hanbit Media, Inc,. 이 책의 한국어판 저작권은 보통에이전시를 통한 저작권자와의 독점 계약으로 한빛미디어가 소유합니다. 신 저작권법에 의하여 한국 내에서 보호를 받는 저작물이므로 무단전재와 무단복제를 금합니다.

지금 하지 않으면 할 수 없는 일이 있습니다. 책으로 펴내고 싶은 아이디어나 원고를 메일 ( writer@hanbit.co.kr ) 로 보내주세요. 한빛미디어(주)는 여러분의 소중한 경험과 지식을 기다리고 있습니다.



옮긴이의 말

순순디자인(https://www.facebook.com/soonsoon.design )으로 유명한 『만들면서 배우 는 유니티 게임 프로그래밍』의 송용성 저자로부터 번역 제안을 받았습니다. 언리얼 엔진에 대한 입문서였습니다. 유니티 엔진은 다뤄봤지만 언리얼 엔진을 다뤄본 적이 없었습니다. 언리얼 엔 진하면 그저 바라볼 수밖에 없는 엄청나게 비싸고 뭔가 엄청난 걸 만들 때만 쓰는 그런 엔진이라 는 선입견이 있어서 살짝 고민을 했습니다. ‘그래 이 참에 언리얼 엔진을 접해보자!’는 결론으로 과감하게 번역을 맡게 되었습니다. 언리얼 엔진을 설치 및 실행하고 에디터를 사용하면서 역시나 그 퀄리티에 놀랐습니다. 게다가 유저의 사용성을 충분히 고려한 인터페이스와 상당한 한글화도 예사롭지 않았습니다. 예를 들어

float를 ‘플로트’라고 한글화했는데, 처음에는 어색했지만 차츰 적응되었고 에픽게임즈의 노력 을 엿볼 수 있는 계기가 되기도 했습니다. 참고로 말씀드리자면 언리얼 공식 문서 대부분은 한글 화되어 있어서 이 책과 함께 좋은 학습 자료가 될 것입니다. 번역을 시작할 당시에는 4.6.1 버전이었고 월 $19를 결제해야 했는데 어느 순간 무료로 풀리더 니 지금은 4.7.4 버전이 배포되었습니다. 2014년부터 두 달에 한 번 정도 버전업하고 있어서 언 리얼 엔진의 무한한 발전 가능성이 기대됩니다. 게다가 언리얼 커뮤니티에 가입하는 것만으로도

GitHub를 통해서 에픽게임즈가 오랫동안 축적해온 게임 엔진 기술을 그대로 열람하고 커스텀 화하여 사용할 수 있습니다. 따라서 지금이 언리얼 엔진을 공부할 가장 최적의 시기가 아닌가 합 니다. 사실 새로운 플랫폼을 접하게 되면 무엇을 먼저 해야 할지 막막하기 마련인데 이 책은 기본적 인 UI부터 하나의 완성된 게임을 만들기까지 예제를 통해 찬찬히 따라해보도록 구성되어 있습 니다. 더 심화 단계로 넘어가려면 기획, 디자인, 프로그래머 등 담당 업무에 맞게 엔진을 활용하 는 방법에 대한 연구가 필요하겠지만, 언리얼 엔진으로 게임을 만들 때 어떤 기능을 어떻게 활 용해야 하는지에 대한 지침서로 부족함은 없을 겁니다. 따라서 이 책은 언리얼 엔진을 처음 접하 는 분들에게 좋은 안내자가 될 겁니다.

4


이 책을 번역하는 내내 고생하신 한빛미디어의 최현우 차장님과 이 책을 번역할 수 있도록 한 빛미디어와 연결해준 송용성 저자에게 이 자리를 빌려 감사의 말을 전합니다. 그리고 프로젝트 막바지에 함께 고생하고 있는 스타팀 성진 씨, 진욱 씨, 성만 씨, 이윤재 대리님, 성해 씨, 정숙 씨, 길 수석님, 최 과장님 항상 감사합니다. 바쁜 일정 가운데 번역 일을 할 수 있도록 허락해주 신 우동화 사장님께도 감사드립니다. 끝으로 항상 저의 마음에 안식을 주는 토기장이 식구들에 게도 고마움을 전하고 싶습니다. 여기에 다 쓰지는 못하지만 제 주변에서 항상 저를 도와주시는 모든 분께 감사를 드립니다. 윤준

옮긴이

윤준 junyun0516@gmail.com

숭실대 미디어 학부를 졸업하고 동 대학원 모바일 랩에서 미디어 공학을 전공했다. 2007년부터 .NET과 사용자를 생각하는 UI/UX에 관심을 가졌다. 현재는 스마트폰 게임 클라이언트 프로그 래머로서 코코스2d-x와 유니티 3D를 다루고 있다. 웹 컨퍼런스 CSS Nite in Seoul (http://

www.cssniteseoul.com )에서는 일본어 통역을 하며 웹을 공부하고 재능을 나누고 있다. 어 느 날 갑자기 하모니카에 심취해 주말엔 청계천에서 하모니카를 불며 여가생활을 즐기고 있다. 역서로는 『사전처럼 바로 찾아 쓰는 HTML5 핵심 API』(한빛미디어, 2011 )가 있다.

5


지은이의 말

에픽게임즈에서 제공하는 언리얼 엔진 4는 PC, 모바일, 상용제품 등 다양한 플랫폼에서 게임 개발을 지원하는 차세대 게임 통합 개발 환경입니다. 2014년 3월에 월 정액 지불로 제공되기 시작하여 높은 생산성과 기능성, 영상 표현력으로 지금은 개인부터 기업까지 많은 사람들에게 주목받고 있습니다. 언리얼 엔진 4는 블루프린트라는 비주얼 스크립팅 언어가 탑재되어 기존의 프로그래밍 지식이 필요했던 개발 방식에서 코드 한 줄 없이 구현할 수 있게 되었습니다. 블루프린트를 사용하여 애니메이션, 맵, 게임시스템 등을 직관적으로 만들 수 있기 때문에 게임을 더 쉽고 빠르게 개발 할 수 있습니다. 물론 물리 기반의 머티리얼이나 동적 라이팅 시스템을 탑재한 업계 최고의 그 래픽도 매력 중 하나입니다. 또한 월 사용료를 지불하면 게임 엔진 소스 코드도 받아 볼 수 있기 때문에 개인일지라도 게임 엔진을 직접 변경하여 사용할 수 있습니다.1 이 책에서는 에디터 사용법부터 시작하여 블루프린트를 사용하여 실제로 게임을 만드는 것까 지를 설명하고 있습니다. 1~6장에서는 엔진의 설치 방법이나 조작 방법, 기능을 중심으로 소 개하고 있습니다.

7~8장에서는 사용자 캐릭터 모델을 불러와서 애니메이션과 동작을 설정하여 게임 제작에 필 요한 콘텐츠를 만드는 방법을 설명합니다. 9~12장에서는 본격적인 게임을 만드는 방법과 게 임을 배포하기 위한 패키징 방법을 설명하고 있습니다. 마지막으로 이 책에서 사용되는 모델을 만들어주신 노기오 씨와 EIZI 씨, 집필 중 많이 도와주 신 편집자 미야코 씨, 그 외 협조해주신 여러분께 이 자리를 빌려 깊이 감사드립니다. 2014년 8월 길일

오사와 료스케, 이즈카 켄스케

1 역주_ 2015년 4월 현재 무료로 게임 엔진 소스 코드를 받아보실 수 있습니다.

6


이 책의 캐릭터 소개

이 책에서 만들 3D 게임에 등장하는 캐릭터 설정에 관한 디자이너, 모델러 분들의 의견을 소개 합니다.

GPGS-MF326

이름 M.I.A (미아)

M.I.A(기계소녀)

신장 148cm (외장 제외) 무게 보기보다 무겁다.

디자인: 노기오

무기 레이저건,

모델링: EIZI

레이저블레이드 속도 나름 빠르다. 음량 허스키한 목소리

EIZI의 말 언리얼 엔진 4에서 제공하는 빠르고 아름다운 그래픽 처리가 적용된 캐릭터가 움직이다니, 정말 훌륭하네요. 감사합니다. 노기오의 말 두 저자로부터 ‘로봇 소녀, 가변 흉부’라는 주문을 받고 디자인하였습니다(가슴 크기 가변이라 는 설정은 제외된 것 같습니다). 콘셉트는 ‘보는 각도에 따라서 노출도가 다르게 보인다’, ‘가슴 의 떨림이 반영된다’, ‘남자의 로망’입니다. 초기 설정에는 가면이 없었습니다. 나중에 제가 마 음대로 추가한 것입니다. 처음으로 저 자신이 아닌 다른 사람이 모델링한다는 것을 염두에 두고 디자인했기 때문에 여러 가지로 신선한 경험이었습니다. 간단한 스케치 외에 3면도나 세부 설정 등도 그렸습니다.

7


무기 윙~

스톡이 늘어난다.

이 부근이 총구 (렌즈?)

수 뺄

블레이드 프리즘

8

머리 단발

일 로우테

포니

테일

갈래

머리

탄창 같은 느낌

있 다 .

레이저포인터


GETAX-12

이름 GAT - BBIT (가트비트)

GETAX-2

이름 SPAR - TLE (스파틀)

GAT- BBIT

무기 체인건 2문

SPAR -TLE

무기 전기 공격

(가트비트)

속도 그다지 빠르지 않다.

(스파틀)

속도 상당히 빠른 편이다.

디자인: 노기오

디자인: 노기오

모델링: 노기오

모델링: 노기오

노기오의 말

EIZI가 M.I.A를 모델링하는 사이에 이 둘을 마무리 짓기로 하고 저비용 모델링이 가능한 디자 인을 시도해보았습니다. 스파틀 쪽 아이디어가 먼저 떠올라 둥근 모양으로 완성하고 나서 ‘나머 지 하나는 각진 느낌으로 가볼까?’라는 생각으로 가트비트를 디자인했습니다. 원반이나 상자 모 양으로 변신할 것처럼 보이지만 사실은 그렇지도 않다는 것이 포인트입니다. 삐직 삐직

부웅~

짜잔 ▲ 가트비트 디자인

▲ 스파틀 디자인

9


이 책에 대하여

이 책의 특징 이 책에서 사용하는 스마트폰용 3D 게임 예제는 언리얼 엔진을 사용합니다. 차근차근 따라하 면 아이폰과 안드로이드용 3D 게임을 만들면서 자연스럽게 언리얼 엔진 사용법과 3D 게임 개 발 방법을 터득하게 될 겁니다. 그 과정에서 아이폰과 안드로이드폰 게임 개발 기술도 배우게 됩니다.

이 책의 구성 1 ~3장에서는 언리얼 엔진의 기본 조작에 관해서 설명합니다.

4 ~5장에서는 콘텐츠의 임포트와 애셋의 등록을 설명합니다.

6 장에서는 C++의 기본을 설명합니다.

7 ~8장에서는 캐릭터의 설정과 무기를 만드는 방법을 설명합니다.

9 ~10장에서는 본격적으로 3D 게임을 만드는 방법을 설명합니다.

1 1장에서는 메뉴 화면을 만드는 방법을 설명합니다.

1 2장에서는 게임의 패키징을 설명합니다.

각 장을 쭉 읽어나가는 것만으로도 스마트폰 3D 게임을 만들 수 있습니다.

예제 파일의 구성 이 책에서는 해당 장에서 사용하는 예제 파일을 한빛미디어 웹사이트에서 내려받아 사용할 수 있습니다. 필요한 파일을 제때에 사용할 수 있도록 PC의 하드 디스크에 미리 복사해두십시오. 언리얼 엔진 4는 에픽게임즈Epic Games 의 사이트에서 내려받을 수 있습니다. 내려받기와 설치 방 법은 1장에서 설명합니다.

10


예제 다운로드 사이트

URL

www.hanbit.co.kr/exam/2195

언리얼 엔진 4 다운로드 사이트

URL

https://www.unrealengine.com/ko/

예제에 대하여 이 책의 예제는 언리얼 엔진 4.7에서 동작을 확인했습니다. 제공하는 예제의 구동에 문제가 없 지만 만에 하나 예제 파일을 사용한 결과로 발생하는 피해에 대해 저자, 역자, 상영사, 한빛미디 어는 어떠한 책임도 지지 않습니다.

개발 환경 2015년 3월 시점의 언리얼 엔진 4.7의 추천 개발 환경은 아래와 같습니다. 데스크톱 PC 또는 Mac

윈도우 7

64비트 또는 Mac OS X 10.9.2 이상

쿼드코어 인텔 또는 AMD 프로세서. 클록 주파수 2.5GHz 이상

NVIDIA

GeForce 470 GTX 또는 AMD Radeon 6870 HD 시리즈 이상의 그래픽 카드

8GB의 RAM

Mac OS 환경에서의 사용 설명 및 예제 검증에 대하여 이 책은 윈도우 환경을 기준으로 설명합니다. Mac OS 환경에서는 다소 차이가 있을 수 있습 니다. 주식회사 상영사 편집부

11


게임 엔진의 발전과 언리얼 엔진 4

차세대 게임 엔진으로 언리얼 엔진 4가 주목받고 있습니다. 여기서는 게임 엔진의 개요와 발전 에 대해 설명하며, 이 책에서 다루는 언리얼 엔진 4와 게임 엔진의 관계에 관해 설명합니다.

게임 엔진이란? 게임 엔진은 게임을 개발할 때 공통으로 사용되는 그래픽 처리, 스크립트 처리, 모션 처리, 사 운드 프로세싱, 물리 연산, 통신, 인터페이스 등의 처리를 일반화하여 효율적으로 게임 개발을 할 수 있게 도와주는 소프트웨어입니다.

게임 엔진의 발전 세계 최초로 외부로 제공된 게임 엔진은 ‘둠’, ‘둠 2’에서 사용된 둠 엔진Doom Engine (id Tech 1 ) 입니다. 둠 엔진은 헥센HEXEN, 스트라이프Strife, 첵스 퀘스트Chex Quest 등의 게임에서 사용되었으 며 둠 엔진에서 진화한 퀘이크 엔진Quake Engine과 함께 이후 다양한 게임 엔진에 영향을 주었습 니다.

FPS First Person Shooter를 중심으로 사용이 확대된 게임 엔진은 게임 개발이 점점 복잡해지고 고도화 되어 감에 따라 다양한 장르의 게임에서 사용되었습니다. 이제는 게임 개발에 있어 게임 엔진의 사용은 보편화되었습니다.

스마트폰 보급과 인디 개발자의 증가 스마트폰의 보급과 함께 모바일 게임 시장이 급속히 확대되고 있습니다. 모바일 게임의 대부분 은 개인이나 소규모 개발 회사 등 인디 개발자에 의해 개발되고 있으며, 모바일 게임 시장의 확 대에 따라 인디 개발자도 증가하고 있습니다.

12


이러한 배경에서 인디 개발자를 위한 저렴한 게임 엔진이 차례로 등장했습니다. 언리얼 엔진 4 의 전신인 UDK Unreal Development Kit 도 그중 하나로, 언리얼 엔진 3 무료 버전과 함께 자리매김하 고 있습니다. 언리얼 엔진 4는 언리얼 엔진 3의 차세대 게임 엔진이며, 높은 그래픽과 강화된 비주얼 스크립 팅 기능을 제공합니다. 또한 무료 버전과 기업용이라는 구별이 없어져서 일반 사용자도 기업과 같은 기능으로 동등한 수준의 게임을 개발할 수 있습니다. 게다가 지금까지 일반 사용자에게 공개되지 않았던 게임 엔진의 소스 코드가 공개되어 일반 사용자도 엔진을 수정할 수 있습니다. ◀ 엘레멘탈 데모

◀ 언리얼 엔진 4 예제 게임

13


언리얼 엔진이란? 언리얼 엔진은 에픽게임즈에서 개발한 게임 엔진입니다. 1998년에 개 발된 이래로 ‘언리얼’, ‘언리얼 토너먼트’, ‘기어스 오브 워’ 시리즈와 ‘바 이오 쇼크’, ‘미러스 엣지’, ‘스플린터 셀’ 시리즈, ‘로스트 오디세이’, ‘라 스트 렘넌트’ 등 수백 종 이상의 게임에 사용되었습니다. 또한 8회의 게임 개발자 프런트라인상과 5회의 디벨롭 인더스트리 엑설런스상 수 상을 포함하여 20회 이상의 기술상을 수상했습니다. 『게임 개발자Game 』지의 프런트라인상에서는 명예의 전당에 이름을 올렸습니다.

Developer

▲ 언리얼 엔진 4 로고

언리얼 엔진 4와 관련된 공식 사이트 언리얼 엔진의 공식 사이트에서는 계정 등록이나 언리얼 엔진으로 만들어진 작품을 볼 수 있습 니다. 또한 언리얼 엔진 4 개발자를 위한 다양한 정보도 제공합니다. 언리얼 엔진 4의 공식 포 럼인 UE4 Answer Hub에는 영어 정보가 많긴 하지만 언리얼 엔진 4에 대한 기술적인 질문 과 대답이 활발히 이뤄지고 있습니다. 물론 스스로 질문을 하여 전 세계의 언리얼 엔진 4 사용 자로부터 도움을 얻을 수도 있습니다. ◀ 언리얼 엔진 공식 사이트

URL

14

http://www.unrealengine.com/ko/


◀ 언리얼 엔진 공식 문서

URL

https://docs.unrealengine.com/latest/KOR/index.html ◀ UE4 Answer Hub

URL

https://answers.unrealengine.com/ ◀ 언리얼 엔진 4 위키

URL

https://wiki.unrealengine.com/Main_Page 15


CONTENTS

옮긴이의 말 �������������������������������������������������������������������������������������������������������������������� 4

지은이의 말 �������������������������������������������������������������������������������������������������������������������� 6

이 책의 캐릭터 소개 ��������������������������������������������������������������������������������������������������������� 7

이 책에 대하여 �������������������������������������������������������������������������������������������������������������� 10

게임 엔진의 발전과 언리얼 엔진 4 ������������������������������������������������������������������������������������ 12

CHAPTER

1 언리얼 엔진 개발 환경 준비

1.1 언리얼 엔진 계정 등록과 설치 ������������������������������������������������������������������������������������������ 26

1.1.1 계정 등록 ����������������������������������������������������������������������������������������������������������� 26

1.1.2 언리얼 엔진 설치 ������������������������������������������������������������������������������������������������ 28

1.2 비주얼 스튜디오 설치 ����������������������������������������������������������������������������������������������������� 29

1.2.1 설치 파일 다운로드 및 설치 �������������������������������������������������������������������������������� 30

1.2.2 비주얼 스튜디오를 언리얼 엔진용으로 설정하기 ��������������������������������������������������� 31

1.3 예제 파일 실행하기 �������������������������������������������������������������������������������������������������������� 34

CHAPTER

1.3.1 슈팅 게임 플레이하기 ����������������������������������������������������������������������������������������� 34

2 언리얼 에디터의 UI와 기본 조작

2.1 에디터 실행 ������������������������������������������������������������������������������������������������������������������ 40

2.2 에디터의 화면 구성 �������������������������������������������������������������������������������������������������������� 41

2.3 에디터 다루기 ��������������������������������������������������������������������������������������������������������������� 46

2.3.1 새로운 레벨 만들기 �������������������������������������������������������������������������������������������� 46

2.3.2 레벨과 액터에 대하여 ����������������������������������������������������������������������������������������� 52

2.4 변환 도구 사용하기 �������������������������������������������������������������������������������������������������������� 53

16

2.1.1 실행하기 ������������������������������������������������������������������������������������������������������������ 40

2.2.1 레벨 에디터의 화면 구성 ������������������������������������������������������������������������������������� 41


CHAPTER

3 레벨 에디터의 기능

3.1 콘텐츠 브라우저의 활용 �������������������������������������������������������������������������������������������������� 60

3.1.1 애셋 배치하기 ���������������������������������������������������������������������������������������������������� 60

3.1.2 콘텐츠 브라우저의 화면 구성 ������������������������������������������������������������������������������ 64

3.1.3 스태틱 메시 ������������������������������������������������������������������������������������������������������� 65

3.1.4 머티리얼 ������������������������������������������������������������������������������������������������������������ 65

3.1.5 선택한 메시의 머티리얼 확인하기 ������������������������������������������������������������������������ 66

3.2 지오메트리 브러시 사용법 ����������������������������������������������������������������������������������������������� 67

3.2.1 지오메트리 브러시로 건물 만들기 ������������������������������������������������������������������������ 67

3.2.2 지오메트리 브러시에 대하여 �������������������������������������������������������������������������������� 78

3.2.3 배치한 지오메트리 브러시의 타입 변경하기 ���������������������������������������������������������� 78

3.3 레벨에 필요한 액터 배치하기 ������������������������������������������������������������������������������������������� 81

3.3.1 레벨에 필요한 액터 배치하기 ������������������������������������������������������������������������������ 81

3.3.2 레벨에 필요한 액터 �������������������������������������������������������������������������������������������� 87

3.3.3 볼륨 ������������������������������������������������������������������������������������������������������������������ 91

3.3.4 브러시 컨버팅 ���������������������������������������������������������������������������������������������������� 91

3.3.5 Lightmass Importance Volume ������������������������������������������������������������������������� 91

CHAPTER

4 임포트와 애셋 만들기

4.1 3D 모델 임포트하기(스태틱 메시편) ���������������������������������������������������������������������������������� 96

4.2 3D 모델 임포트하기(스켈레탈 메시편) ����������������������������������������������������������������������������� 105

4.2.1 FBX 파일 임포트 ���������������������������������������������������������������������������������������������� 105

4.2.2 애셋에 대하여 �������������������������������������������������������������������������������������������������� 113

4.2.3 애셋의 프로젝트 간 이동 ����������������������������������������������������������������������������������� 114

4.1.1 OBJ 파일 임포트 ����������������������������������������������������������������������������������������������� 96

17


CONTENTS

4.2.4 애셋을 다시 임포트하는 방법(1) ������������������������������������������������������������������������ 115

4.2.5 애셋을 다시 임포트하는 방법(2) ������������������������������������������������������������������������ 115

4.2.6 머티리얼 에디터의 화면 구성 ���������������������������������������������������������������������������� 116

4.2.7 노드의 중간 과정 미리보기 �������������������������������������������������������������������������������� 117

4.2.8 노드의 중간 과정을 미리보기 화면에서 확인하기 ������������������������������������������������ 117

4.2.9 언리얼 엔진에서 이용할 수 있는 머티리얼 입력값 ����������������������������������������������� 118

4.3 파티클 만들기 ������������������������������������������������������������������������������������������������������������� 122

4.4 효과음 만들기 ������������������������������������������������������������������������������������������������������������� 133

4.5 파티클과 효과음 설정하기 ��������������������������������������������������������������������������������������������� 137

4.5.1 파티클과 효과음을 설정하기 ������������������������������������������������������������������������������ 137

4.5.2 파티클로 할 수 있는 것들 ���������������������������������������������������������������������������������� 143

CHAPTER

4.3.1 모래먼지 만들기 ����������������������������������������������������������������������������������������������� 122

4.4.1 게임에서 사용 가능한 사운드 만들기 ����������������������������������������������������������������� 133

5 블루프린트

5.1 블루프린트 소개 ���������������������������������������������������������������������������������������������������������� 146

5.1.1 블루프린트 알아보기 ���������������������������������������������������������������������������������������� 146

5.1.2 기본적인 블루프린트 종류 ��������������������������������������������������������������������������������� 147

5.2 클래스 블루프린트로 간단한 게임 만들기 ������������������������������������������������������������������������� 148

5.2.1 클래스 블루프린트로 게임 만들기 ���������������������������������������������������������������������� 148

5.2.2 블루프린트를 이용할 때 도움이 되는 정보 ���������������������������������������������������������� 157

5.3 레벨 블루프린트와 연결하기 ������������������������������������������������������������������������������������������ 158

5.3.1 튜토리얼 게임 만들기 ��������������������������������������������������������������������������������������� 158

5.3.2 블루프린트에서 사용할 수 있는 기능 ����������������������������������������������������������������� 166

5.3.3 그래프에서의 기본적인 조작 ������������������������������������������������������������������������������ 171

5.3.4 그래프 모드에서 이용할 수 있는 요소 ���������������������������������������������������������������� 172

5.4 기본적인 노드의 종류 ��������������������������������������������������������������������������������������������������� 177

18


5.4.1 블루프린트에서 사용할 수 있는 노드의 종류 ������������������������������������������������������ 177

5.5 블루프린트 그래프로 간단한 디버깅하기 �������������������������������������������������������������������������� 179

CHAPTER

5.5.1 디버깅하기 ������������������������������������������������������������������������������������������������������� 179

6 언리얼 엔진의 기본적인 C++

6.1 C++로 클래스 만들기 ��������������������������������������������������������������������������������������������������� 184

6.1.1 클래스 직접 만들기 ������������������������������������������������������������������������������������������ 184

6.1.2 블루프린트와 C++ ������������������������������������������������������������������������������������������� 186

6.1.3 빌트인 클래스에 대하여 ������������������������������������������������������������������������������������ 187

6.2 C++로 멤버 함수와 변수 만들기 ������������������������������������������������������������������������������������� 189

6.2.1 자체 함수 추가하기 ������������������������������������������������������������������������������������������ 189

6.2.2 언리얼 엔진에서 쓰이는 매크로 ������������������������������������������������������������������������� 193

6.2.3 언리얼 엔진에서 쓰이는 자료형 ������������������������������������������������������������������������� 196

CHAPTER

7 캐릭터 만들기

7.1 사용자가 조작할 수 있는 캐릭터 만들기 ��������������������������������������������������������������������������� 200

7.1.1 프로젝트 준비하기 �������������������������������������������������������������������������������������������� 200

7.1.2 캐릭터 만들기와 설정 ��������������������������������������������������������������������������������������� 203

7.1.3 노드에 대하여 �������������������������������������������������������������������������������������������������� 212

7.2 캐릭터를 게임 안에 나타나게 하기 ���������������������������������������������������������������������������������� 216

7.2.1 캐릭터 설정하기 ����������������������������������������������������������������������������������������������� 216

7.2.2 GameMode 클래스에 대하여 ��������������������������������������������������������������������������� 220

7.3 캐릭터 애니메이션 설정하기 ������������������������������������������������������������������������������������������ 221

7.3.1 캐릭터용 애니메이션 설정하기 �������������������������������������������������������������������������� 221

7.3.2 애니메이션 설정에 대하여 ��������������������������������������������������������������������������������� 235

19


CONTENTS

CHAPTER

8 무기 만들기

8.1 프로젝트 설정하기 ������������������������������������������������������������������������������������������������������� 238

8.2 애셋 준비하기 ������������������������������������������������������������������������������������������������������������� 241

8.3 발사체 만들기 ������������������������������������������������������������������������������������������������������������� 246

8.4 사격 공격 구현하기 ������������������������������������������������������������������������������������������������������ 253

8.4.1 사격 애니메이션 설정하기 ��������������������������������������������������������������������������������� 253

8.4.2 블루프린트 편집하기 ���������������������������������������������������������������������������������������� 254

8.5 근접 공격 구현하기 ������������������������������������������������������������������������������������������������������ 262

8.5.1 캐릭터의 근접 공격 설정하기 ���������������������������������������������������������������������������� 262

8.5.2 루트 모션이란? ������������������������������������������������������������������������������������������������ 263

8.5.3 루트 모션 설정하기 ������������������������������������������������������������������������������������������ 263

8.5.4 블루프린트 편집하기 ���������������������������������������������������������������������������������������� 265

8.6 콤보 공격 구현하기 ������������������������������������������������������������������������������������������������������ 273

8.6.1 애니메이션 몽타주 만들기 ��������������������������������������������������������������������������������� 273

8.6.2 캐릭터의 블루프린트 편집하기 �������������������������������������������������������������������������� 277

8.6.3 애니메이션 블루프린트 편집하기 ����������������������������������������������������������������������� 281

8.6.4 애니메이션 몽타주에서 이용할 수 있는 기능 ������������������������������������������������������ 285

8.7 캐릭터의 체력 설정하기 ������������������������������������������������������������������������������������������������ 286

8.7.1 체력을 가진 액터 만들기 ����������������������������������������������������������������������������������� 286

8.7.2 콜리전 설정에 대하여 ��������������������������������������������������������������������������������������� 291

20

8.1.1 프로젝트 준비하기 �������������������������������������������������������������������������������������������� 238

8.2.1 애셋 설정하기 �������������������������������������������������������������������������������������������������� 241

8.3.1 Projectile 클래스 만들기 ����������������������������������������������������������������������������������� 246


CHAPTER

9 횡스크롤 액션 게임 만들기

9.1 프로젝트 만들기 ���������������������������������������������������������������������������������������������������������� 294

9.1.1 게임 프로젝트 준비하기 ������������������������������������������������������������������������������������ 294

9.1.2 가상패드 조작에 대하여 ������������������������������������������������������������������������������������ 297

9.1.3 모바일 환경에서의 가상패드 ������������������������������������������������������������������������������ 298

9.2 최고 점수를 기록하는 블루프린트 만들기 ������������������������������������������������������������������������� 298

9.2.1 블루프린트 만들기 �������������������������������������������������������������������������������������������� 298

9.2.2 SaveGame 블루프린트에 대하여 ���������������������������������������������������������������������� 300

9.3 게임 클리어 조건과 실패 조건 설정하기 ��������������������������������������������������������������������������� 300

9.3.1 블루프린트 만들기 �������������������������������������������������������������������������������������������� 300

9.3.2 SaveGame 블루프린트로 보관된 변수의 저장 장소 �������������������������������������������� 307

9.4 공통 캐릭터 클래스 만들기 �������������������������������������������������������������������������������������������� 307

9.5 플레이어 캐릭터 만들기 ������������������������������������������������������������������������������������������������ 310

9.6 적 캐릭터 만들기 ��������������������������������������������������������������������������������������������������������� 316

9.7 이동하는 바닥 만들기 ��������������������������������������������������������������������������������������������������� 322

9.8 추락 필드 설정하기 ������������������������������������������������������������������������������������������������������ 328

9.9 회복 아이템 만들기 ������������������������������������������������������������������������������������������������������ 330

9.10 HUD 만들기 ������������������������������������������������������������������������������������������������������������ 333

9.10.1 HUD 만들기 ������������������������������������������������������������������������������������������������ 334

9.10.2 HUD에서 사용할 수 있는 노드 ��������������������������������������������������������������������� 339

9.11 맵 만들기와 게임 설정 ������������������������������������������������������������������������������������������������ 341

9.4.1 기본 캐릭터 만들기 ������������������������������������������������������������������������������������������ 307

21


CONTENTS

CHAPTER

10 TPS 액션 타워 디펜스 게임 만들기

10.1 게임 기획하기 ���������������������������������������������������������������������������������������������������������� 348

10.2 맵 만들기 ���������������������������������������������������������������������������������������������������������������� 350

10.2.1 맵 만들기 ���������������������������������������������������������������������������������������������������� 350

10.2.2 내비 메시에 대하여 �������������������������������������������������������������������������������������� 354

10.3 게임을 만들기 위한 사전 준비 �������������������������������������������������������������������������������������� 356

10.3.1 팀을 구별하기 위한 열거형 만들기 ���������������������������������������������������������������� 356

10.3.2 인터페이스 만들기 ��������������������������������������������������������������������������������������� 357

10.3.3 매크로 라이브러리 만들기 ���������������������������������������������������������������������������� 358

10.3.4 함수 라이브러리 추가하기 ���������������������������������������������������������������������������� 360

10.3.5 블루프린트 인터페이스에 대하여 ������������������������������������������������������������������ 361

10.3.6 블루프린트 라이브러리에 대하여 ������������������������������������������������������������������ 361

10.4 공통 클래스 만들기 ��������������������������������������������������������������������������������������������������� 362

10.4.1 총알의 기저 클래스 만들기 ��������������������������������������������������������������������������� 362

10.4.2 캐릭터의 기저 클래스 만들기 ������������������������������������������������������������������������ 365

10.4.3 부모 클래스(기저 클래스)에 대하여 ��������������������������������������������������������������� 369

10.4.4 총알의 콜리전 ��������������������������������������������������������������������������������������������� 369

10.5 플레이어 캐릭터 만들기 ���������������������������������������������������������������������������������������������� 370

10.5.1 플레이어 캐릭터 만들기 ������������������������������������������������������������������������������� 370

10.5.2 플레이어 캐릭터 클래스 설정하기(1) ������������������������������������������������������������� 372

10.5.3 플레이어용 총알 클래스 만들기 �������������������������������������������������������������������� 375

10.5.4 플레이어 캐릭터 클래스 설정하기(2) ������������������������������������������������������������� 376

10.5.5 착탄점 계산 ������������������������������������������������������������������������������������������������� 379

10.6 제단 만들기 ������������������������������������������������������������������������������������������������������������� 380

10.6.1 제단 만들기 ������������������������������������������������������������������������������������������������� 380

10.6.2 제단 클래스 만들기 �������������������������������������������������������������������������������������� 380

22

10.1.1 게임 사양 정하기 ����������������������������������������������������������������������������������������� 348


10.6.3 게임 모드 클래스 설정하기 ��������������������������������������������������������������������������� 386

10.7 적 만들기 ���������������������������������������������������������������������������������������������������������������� 387

10.7.1 적 만들기 ���������������������������������������������������������������������������������������������������� 387

10.7.2 적의 공통 클래스 만들기 ������������������������������������������������������������������������������ 387

10.7.3 적의 총알 클래스 만들기 ������������������������������������������������������������������������������ 395

10.7.4 적1(가트비트)의 클래스 만들기 ��������������������������������������������������������������������� 396

10.7.5 적1(가트비트)의 클래스에 함수 추가하기 ������������������������������������������������������� 400

10.7.6 적2(스파틀)의 클래스 만들기 ������������������������������������������������������������������������� 401

10.7.7 내비게이션에 의한 경로 탐색 ������������������������������������������������������������������������ 409

10.8 HUD 만들기 ������������������������������������������������������������������������������������������������������������ 411

10.8.1 HUD 만들기 ������������������������������������������������������������������������������������������������ 411

10.8.2 HUD용 애셋 만들기 ������������������������������������������������������������������������������������� 411

10.8.3 HUD 클래스 만들기 ������������������������������������������������������������������������������������� 415

10.8.4 HUD에서 메시지 표시하기 ��������������������������������������������������������������������������� 421

10.9 게임 로직 만들기 ������������������������������������������������������������������������������������������������������ 422

10.9.1 게임 로직 만들기 ����������������������������������������������������������������������������������������� 422

10.9.2 게임 모드 클래스의 이벤트 호출하기 ������������������������������������������������������������� 429

10.9.3 레벨에 배치된 액터 참조하기 ������������������������������������������������������������������������ 431

CHAPTER

11 메뉴 화면 만들기

11.1 메뉴 아이템 만들기 ��������������������������������������������������������������������������������������������������� 434

11.1.1 메뉴 아이템 만들기 �������������������������������������������������������������������������������������� 434

11.1.2 클래스와 애셋 준비하기 ������������������������������������������������������������������������������� 434

11.1.3 메뉴 아이템 클래스 만들기 ��������������������������������������������������������������������������� 437

11.1.4 언리얼 엔진에서 GUI를 만드는 방법 ������������������������������������������������������������� 441

11.1.5 이벤트 디스패처에 대하여 ���������������������������������������������������������������������������� 442

23


CONTENTS

11.2 메뉴 만들기 ������������������������������������������������������������������������������������������������������������� 443

11.2.1 메뉴 만들기 ������������������������������������������������������������������������������������������������� 443

11.2.2 다른 레벨 로드하기 �������������������������������������������������������������������������������������� 447

11.2.3 HUD의 마우스 이벤트 ���������������������������������������������������������������������������������� 448

CHAPTER

12 게임 패키징하기

12.1 윈도우용으로 게임 패키징하기 ������������������������������������������������������������������������������������� 450

12.2 안드로이드용으로 게임을 패키징하기 ���������������������������������������������������������������������������� 451

12.2.1 TADP 설치와 안드로이드 설정 ��������������������������������������������������������������������� 451

12.2.2 게임 패키징(안드로이드용) ��������������������������������������������������������������������������� 453

12.3 iOS용으로 게임을 패키징하기 ������������������������������������������������������������������������������������� 454

12.3.1 iOS 개발 환경 준비하기 ������������������������������������������������������������������������������� 454

12.3.2 게임 패키징하기(iOS용) ������������������������������������������������������������������������������� 457

12.4 각 플랫폼별 설정 ������������������������������������������������������������������������������������������������������ 458

12.4.1 플랫폼에 따른 설정 �������������������������������������������������������������������������������������� 458

12.4.2 빌드 구성 선택 �������������������������������������������������������������������������������������������� 459

12.4.3 안드로이드 환경에서의 패키징 ���������������������������������������������������������������������� 459

12.4.4 디바이스에서 실행하기 ��������������������������������������������������������������������������������� 460

12.1.1 게임 패키징하기 ������������������������������������������������������������������������������������������ 450

찾아보기 ���������������������������������������������������������������������������������������������������������������������������������������������������

24

461


CHAPTER

1

언리얼 엔진 개발 환경 준비

이 장에서는 언리얼 엔진 계정 등록과 설치 방법, C++를 사용하

기 위한 개발 환경 준비를 설명합니다.

25


1.1 언리얼 엔진 계정 등록과 설치 계정을 등록하는 방법과 언리얼 엔진을 설치하는 방법을 설명합니다.

1.1.1 계정 등록 1 홈페이지에 계정 등록하기 [그림 1-1]과 같이 언리얼 엔진 공식 사이트에 접속하여 계정을 등록해봅니다. ‘함께해요 UE4’ 를 클릭합니다(①). 다음으로 개인정보를 입력하고(②) 서비스 조항을 확인합니다. 동의한다 면 체크 박스를 체크하고(③) ‘가입’을 클릭하여(④) 계정을 생성합니다. 그림 1-1 언리얼 엔진 공식 사이트 1 클릭

URL

https://www.unrealengine.com/ko

2 입력

3 체크 4 클릭

26

1장 언리얼 엔진 개발 환경 준비


2 런처 다운받기 [그림 1-2]와 같이 최종 사용자 라이선스 계약서를 읽습니다(①). 동의한다면 체크 박스를 체 크하고(②) ‘수락’을 클릭합니다(③). 이어지는 화면에서 ‘다운로드’를 클릭하여(④) 설치 파일 을 다운받습니다. 그림 1-2 라이선스 동의 화면

1 읽기

4 클릭

2 체크 3 클릭

노트_ 한국어 최종 사용자 라이선스 계약서( EULA ) 한국어로 번역된 최종 사용자 라이선스 계약서는 다음 URL에서 확인할 수 있습니다. URL

https://www.unrealengine.com/ko/ko-eula

1.1 언리얼 엔진 계정 등록과 설치

27


1.1.2 언리얼 엔진 설치 1 설치하기 다운받은 설치 파일을 실행합니다(①). 설치 경로를 정하고 ‘설치’를 클릭합니다(②). 앞서 등 록해놓은 계정을 입력하고(③) ‘로그인’을 클릭합니다(④). 최종 사용자 라이선스 계약서를 읽 고(⑤) ‘수락’을 클릭하면(⑥) 다운로드를 시작합니다(⑦). 그림 1-3 언리얼 엔진 설치

3 입력 1 실행

2 클릭

5 읽기

7 기다리기(대기)

6 클릭

28

1장 언리얼 엔진 개발 환경 준비

4 클릭


2 실행하기 [그림 1-4]에서와 같이 ‘실행 Unreal Engine 4.7.x’를 클릭하여(①) 언리얼 엔진을 실행합니 다(②). 그림 1-4 언리얼 엔진 실행

1 클릭 2 확인

정리

언 리얼 엔진을 설치하고 실행했습니다.

1.2 비주얼 스튜디오 설치 윈도우 환경에서 언리얼 엔진을 개발하는 가장 일반적인 도구인 비주얼 스튜디오의 설치 및 설정 방법을 알 아봅니다.

노트_ C++로 개발하기 이 책의 예제에서는 C++를 사용하지 않기 때문에 비주얼 스튜디오를 반드시 설치할 필요는 없습니다. 하지 만 더욱 높은 수준의 게임을 만들기 위해서는 C++를 활용해야 하므로 비주얼 스튜디오를 설치해두기 바랍 니다.

1.2 비주얼 스튜디오 설치

29


1.2.1 설치 파일 다운로드 및 설치 1 설치 파일 다운로드하기 [그림 1-5]와 같이 비주얼 스튜디오 다운로드 페이지를 방문하여 ‘Visual Studio Express

2013 업데이트 4와 for Windows Desktop’ 또는 ‘Visual Studio Community 2013 업데 이트 4’에서 ‘지금 설치’를 클릭합니다(①). 이 책에서는 Express 2013으로 진행합니다. 마이 크로소프트 계정에 로그인합니다(계정이 없으면 신규 등록). 다운로드할 제품을 선택하는 화 면이 표시되면 ‘Express 2013 for Windows Desktop’을 클릭합니다(②). 다운로드하기 전 에 몇 가지 정보를 입력하면 설치 프로그램 다운로드가 시작됩니다. 그림 1-5 비주얼 스튜디오 다운로드 페이지

1 클릭

2 클릭

URL

https://www.visualstudio.com/downloads/download-visual-studio-vs#dexpress-windows-desktop,

단축 URL

30

http://me2.do/FALYsq2T

1장 언리얼 엔진 개발 환경 준비


2 비주얼 스튜디오 설치하기 [그림 1-6]과 같이 다운로드한 설

그림 1-6 비주얼 스튜디오 설치

치 프로그램 ( wdexpress _full .

exe )을 더블클릭하여 실행합니다 (①). 사용 조건 및 라이선스 정책 을 읽고 동의한다면 체크 박스를

1 더블클릭

체크하고(②) ‘설치’를 클릭합니다 (③). 잠시 기다리면 설치가 완료

2 체크

됩니다. 시작할 때 다시 Microsoft 계정에 로그인하라는 메시지가 나 타나면 로그인합니다.

3 클릭

1.2.2 비주얼 스튜디오를 언리얼 엔진용으로 설정하기 1 메뉴 바 조정하기 비주얼 스튜디오의 설정을 언리얼 엔진 개발에 용이하도록 변경합니다. 먼저 비주얼 스튜디오를 실행하고 메뉴에서 ‘도구 → 사용자 지정’을 선택합니다(①). ‘명령’ 탭을 선택한 후(②) ‘도구 모음’을 체크하고(③) ‘표준’을 선택합니다(④). ‘솔루션 구성’을 선택하고(⑤) ‘선택 사항 수정’ 을 클릭하면(⑥) 나타나는 팝업에서 ‘너비’를 ‘200’으로 설정합니다(⑦). 설정이 끝나면 창을 닫습니다. 2 클릭

그림 1-7 메뉴 바 설정

3 체크

4 선택 6 클릭 7 설정

5 선택

1 선택

1.2 비주얼 스튜디오 설치

31


2 옵션 설정하기 메뉴에서 ‘도구 → 옵션’을 선택합니다(①). 왼쪽 목록에서 ‘프로젝트 및 솔루션’을 열어(②) ‘오류로 인해 빌드가 종료될 때 항상 오류 목록 표시’의 체크를 해제합니다(③). 다음으로 ‘텍스 트 편집기 → C/C++ → 뷰’를 열고(④) ‘비활성 블록 표시’를 ‘False’로 합니다(⑤). ‘텍스트 편집기 → C/C++ → 고급’을 열고(⑥) ‘캐시되는 최대 변환 단위’를 ‘15’로 설정하고(⑦) ‘외 부 종속성 폴더 사용 안 함’을 ‘False’로 설정합니다(⑧). ‘디버깅 → 편집하며 계속하기’를 열 어(⑨) ‘편집하며 계속하기 사용’의 체크를 해제한 후(⑩), ‘확인’을 클릭합니다(⑪). 그림 1-8 옵션 설정

2 선택 3 체크 해제

1 선택

7 설정 6 선택

4 선택 5 선택

8 설정

10 체크 해제 9 선택

32

1장 언리얼 엔진 개발 환경 준비

11 클릭


3 디버그에 비주얼 라이저 추가하기 탐색기에서 다음 폴더를 엽니다. ‘언리얼 엔진 설치 디렉터리\4.2\Engine\Extras\VisualStudioDebugging\UE4.natvis’라는 파일을 복사하고(①) 다음 중 하나의 디렉터리에 붙여 넣습니다(②). [ 비주얼 스튜디오 설치 폴더]\Common7\Packages\Debugger\Visualizers\

[ 내 문서]\Visual

Studio 2013\Visualizers\

그림 1-9 비주얼 라이저 추가

1 복사

2 붙여넣기

노트_ 비주얼 라이저 비주얼 스튜디오에서 디버깅할 때 자료형을 적절히 표시하기 위한 컴포넌트입니다. UE4.natvis를 추가하면 언리얼 엔진 고유의 자료형을 디버거에서 올바르게 표시할 수 있습니다.

정리

비 주얼 스튜디오를 설치했습니다.

비 주얼 스튜디오는 윈도우 환경에서 C++를 이용한 개발을 할 때 사용합니다.

1.2 비주얼 스튜디오 설치

33


1.3 예제 파일 실행하기 런처의 학습 메뉴에서 콘텐츠를 다운받아 실행해봅니다.

1.3.1 슈팅 게임 플레이하기 1 학습에서 슈팅 게임 다운로드 언리얼 엔진 런처를 실행하고 ‘학습’ 탭을 엽니다(①). ‘슈팅 게임’을 열고(②) ‘다운로드’를 클 릭하여 다운받습니다(③). 그림 1-10 슈팅 게임 다운로드

1 클릭

2 클릭

3 클릭

2 프로젝트 작성하기 슈팅 게임을 모두 다운받았으면 ‘프로젝트 생성’을 클릭합니다(①). 프로젝트 이름(②)과 저장 경로를 선택하고(③) ‘Create’를 클릭합니다(④). 프로젝트 생성이 완료될 때까지 기다립니다.

34

1장 언리얼 엔진 개발 환경 준비


그림 1-11 프로젝트 생성

2 입력 1 클릭

3 입력

4 클릭

3 슈팅 게임 실행하기 프로젝트 생성이 완료되면 라이브러리에 슈팅 게임이 추가됩니다. 추가된 슈팅 게임을 더블클 릭하거나 마우스 오른쪽 클릭하여 메뉴에서 ‘열기’를 선택하면(①) 프로젝트가 실행됩니다. 툴 바에서 ‘플레이’를 클릭하면(②) 게임이 시작됩니다(③). 그림 1-12 슈팅 게임 실행 2 클릭

1 클릭

3 확인

1.3 예제 파일 실행하기

35


4 봇과 대전 봇Bot 의 개수나 게임 규칙(Free for all, Team Death match 같은) 등을 변경하려면 편집기 에서 ‘실행’을 클릭하여(①) 게임을 빌드합니다. 빌드는 몇 분 정도 걸립니다. 게임이 시작되면 키를 눌러 게임 내 메뉴를 열 수 있습니다. ‘MAIN MENU’로 이동하면 게임 설정을 변경하 여 실행할 수 있습니다(②). 그림 1-13 게임 규칙 변경

1 클릭

2 클릭

노트_ 그 밖의 예제 콘텐츠 마켓플레이스와 학습에는 에픽게임즈가 제공하는 언리얼 엔진으로 개발할 때 도움을 주는 다양한 예제가 있 습니다. 그중 일부를 소개합니다. ●

기억 게임Memory Game 블루프린트로 만든 짝 맞추기 게임입니다.

리얼리스틱 렌더링Realistic Rendering 인테리어 데모입니다. 인테리어 머티리얼과 마티니Matinee 에서 카메라 이동을 참고할 수 있습니다.

슈팅 게임Shooter Game

C++로 작성된 FPS 게임입니다. 온라인 대전도 구현되어 있으므로 네트워크 관련 학습에 도움이 됩니다. ●

스윙 닌자Swing Ninja 에픽게임즈의 그래픽 디자이너 혼자서 만든 2D 액션 게임입니다.

전략 게임Strategy Game

C++로 작성된 쿼터 뷰 형식의 타워 디펜스 게임입니다. ●

블루프린트 오피스 블루프린트를 이용한 동적 콘텐츠 예제가 레벨에 배치되어 있습니다.

콘텐츠 예제 머티리얼이나 블루프린트에 대한 수많은 예제가 있습니다. 가능하면 모든 예제를 검토하는 것이 좋습니다.

36

1장 언리얼 엔진 개발 환경 준비


정리

마 켓플레이스의 예제들을 통해 언리얼 엔진으로 개발하는 방법을 배울 수 있습니다.

언리얼 엔진 4의 튜토리얼 에픽게임즈 홈페이지에는 언리얼 엔진 4에 대한 다양한 콘텐츠가 있습니다. 동영상 강좌 등도 있 으니 참고하시길 바랍니다.

▲ 언리얼 엔진 4의 동영상 강좌 URL https://www.youtube.com/playlist?list=PLZlv_N0_

O1gaCL2XjKluO7N2Pmmw9pvhE 단축 URL

http://me2.do/5sOtdQRa

1.3 예제 파일 실행하기

37



CHAPTER

2

언리얼 에디터의 UI와 기본 조작

이 장에서는 에디터의 기본 조작 방법을 알아봅니다.

39


2.1 에디터 실행 에디터 실행 방법을 설명합니다.

2.1.1 실행하기 주의_ 에디터 표시 언어 변경 언리얼 엔진 에디터의 표시 언어는 설치 환

그림 2-1 표시 언어의 변경

경에 맞게 설정됩니다. 현재는 한국어, 영어, 중국어, 일본어, 스페인어, 포르투갈어가 지 원되며 설치를 하면 한국어가 자동 설정됩 1 선택

니다. 언어를 변경하려면 에디터를 시작한 뒤 [그림 2-1]에서처럼 ‘편집 → 에디터 개 인설정’ 메뉴를 선택합니다(①). 에디터 환경 설정 화면이 열리면 ‘일반 → 지역 & 언어’ 를 선택하여(②) 원하는 환경의 언어로 설정

3 설정

합니다(③). 에디터를 다시 시작하면 선택한 언어로 표시됩니다. 2 선택

1 런처에서 에디터 실행하기 언리얼 엔진을 실행하면 런처가 실행됩니다. ‘실행’을 클릭하여 에디터를 실행합니다. 그림 2-2 런처 실행

클릭

2 새 프로젝트 생성하기 에디터를 실행하면 나타나는 첫 화면에서 ‘새 프로젝트’ 탭을 클릭합니다(①). ‘공백’을 선택하 고(②), ‘프로젝트 이름’을 ‘ExampleProject’라고 입력한 후(③), ‘시작용 콘텐츠’를 포함시키

40

2장 언리얼 에디터의 UI와 기본 조작


고(④), ‘프로젝트 생성 버튼’을 클

그림 2-3 새 프로젝트 생성

릭합니다 (⑤ ). 그러면 에디터가

1 클릭

재실행되고 [그림 2-4]와 같은 기 본 화면이 표시됩니다.

2 클릭

4 포함 3 입력 5 클릭

그림 2-4 에디터 실행 화면

2.2 에디터의 화면 구성 에디터의 기본적인 화면 구성을 설명합니다.

2.2.1 레벨 에디터의 화면 구성 에디터를 실행했을 때 보이는 화면은 레벨 에디터라고 불리는 맵 작성 도구입니다. 각종 도구 에 접근 가능하며, 게임 프로젝트의 패키징 기능도 지원합니다.

2.2 에디터의 화면 구성

41


1 탭바 & 메뉴바

그림 2-5 에디터의 화면 구성

8 도움말 검색 2 툴바 5 월드 아웃라이너

3 모드

4 뷰포트

6 디테일 7 콘텐츠 브라우저

1. 탭바 & 메뉴바 화면을 구성하는 탭입니다. 탭을 드래그해서 원하는 위치로 이동하여 인터페이스를 자유롭게 바꿀 수 있습니다. 또한 메뉴 바에서 새로운 레벨을 만들거나 읽어 들일 수 있고, 전체 프로젝 트의 설정을 편집할 수 있습니다.

2. 툴바 툴바의 각 명령은 [표 2-1]과 같습니다. 표 2-1 툴바 명령

설명 현재 열려 있는 레벨을 저장합니다.

언리얼 엔진에서 사용하는 애셋을 관리하는 콘텐츠 브라우저를 엽니다. 기본 레이아웃에서는 열려 있는 상태입니다.

42

2장 언리얼 에디터의 UI와 기본 조작


명령

설명 마켓플레이스를 엽니다. 에픽게임즈가 작성한 게임 예제나 다른 사용자가 작성한 애셋 및 프로젝트 를 내려받을 수 있습니다.

레벨 에디터 내의 뷰포트 설정을 변경하거나 오디오 음량 조절, 에디터의 그래픽 설정, 월드 설정 열 기, 프로젝트 설정 등을 할 수 있습니다.

레벨 블루프린트 및 현재 게임 모드에 설정된 클래스 블루프린트를 확인할 수 있습니다.

언리얼 엔진의 시네마틱 에디터인 마티네 에디터를 엽니다.

편집 중인 레벨의 정보를 빌드합니다. 메시 라이팅 정보의 갱신이나 리플렉션 캡처의 갱신, 내비게 이션 메시를 재조정합니다. 편집 중인 프로젝트가 C++ 소스를 포함하고 있을 때 표시되는 메뉴입니다. 비주얼 스튜디오에서 편집되고 있는 데이터를 재컴파일합니다.

간이 프리뷰 버튼입니다. 현재 레벨을 뷰포트나 새로운 창에서 테스트할 수 있습니다.

현재 편집 중인 레벨을 전용 플랫폼에서 테스트 플레이합니다. 안드로이드나 iOS 등의 단말에서 확 인하기 위해서는 미리 연결해둘 필요가 있습니다.

3. 모드 ‘모드’ 탭에서 레벨 편집을 위한 각종 도구를 사용

그림 2-6 모드

할 수 있습니다(그림 2-6 ). 각 명령은 [표 2-2]와 같습니다.

2.2 에디터의 화면 구성

43


표 2-2 모드 아이콘

명령

설명 카테고리별로 구분된 요소를 뷰포트에 드래그앤드롭하여 지오메트리

배치 모드

나 액터를 배치할 수 있습니다.

칠하기 모드

스태틱 메시 등의 정점이나 텍스처에 직접 색을 칠할 수 있습니다.

랜드스케이프 모드

지형 작성 도구인 랜드스케이프를 사용할 수 있습니다.

맵 위의 메시에 풀이나 바위 등을 배치하기 위한 폴리지 모드를 실행합

폴리지 모드

니다.

지오메트리 편집 모드

배치 모드로 배치한 지오메트리나 볼륨을 편집하기 위해 사용합니다.

4. 뷰포트 현재 편집 중인 레벨 공간의 프리뷰를 표시합니

그림 2-7 뷰포트

다(그림 2-7 ). 배치된 액터를 확인하거나 변환 도구를 이용하여 액터를 배치할 수 있습니다.

5. 월드 아웃라이너 월드 아웃라이너 World Outliner 는

그림 2-8 월드 아웃라이너

현재 편집 중인 레벨 안에 배치 된 액터를 트리 구조로 표시합 니다(그림 2-8 ). 특정 액터를 선택하여 뷰포트에서 위치를 확인하거나 상세 정보를 살펴볼 수 있습니다.

44

2장 언리얼 에디터의 UI와 기본 조작


CHAPTER

3

레벨 에디터의 기능

이 장에서는 레벨 에디터의 기능에 대하여 설명합니다.

59


3.1 콘텐츠 브라우저의 활용 콘텐츠 브라우저를 이용한 애셋의 배치 방법을 설명합니다.

3.1.1 애셋 배치하기

그림 3-1 새로운 프로젝트 만들기

1 새로운 프로젝트 만들기

1 클릭

프로젝트 브라우저 창에서 ‘새 프로젝트’를 클릭합니다 (① ). ‘삼인칭’을 선택하고 ( ② ) , 프로젝트 이름으로 ‘ExampleProject_2’를 입력

2 클릭 4 선택

합니다(③). ‘시작용 콘텐츠 3 입력

포함’을 선택하고(④) ‘프로젝

5 클릭

트 생성’을 클릭합니다(⑤).

2 기존 레벨 열기 메뉴에서 ‘파일 → 레벨 열기’를 선택합니다(①). 대화 창에서 ‘Minimal_Default.umap’을 선 택한 후(②) ‘열기’를 클릭합니다(③). 그림 3-2 기존 레벨 열기

2 클릭

1 선택

3 클릭

60

3장 레벨 에디터의 기능


3 콘텐츠 브라우저에서 스태틱 메시 배치하기 콘텐츠 브라우저의 소스 뷰에서 ‘Content’ 폴더를 선택합니다(①). 애셋 필터의 ▼를 클릭하 면(②) 나타나는 메뉴에서 ‘스태틱 메시’를 선택합니다(③). 검색 입력란에 ‘Shape_Sphere’를 입력한 후(④) 애셋 뷰에 표시된 애셋을 드래그앤드롭합니다(⑤). 그림 3-3 콘텐츠 브라우저에서 애셋 배치

2 클릭 4 입력

1 선택

3 선택

5 드래그앤드롭

1. 선택 2. 클릭 3. 선택 4. 입력 5.

3.1 콘텐츠 브라우저의 활용

61


4 배치한 스태틱 메시 변경하기 3단계에서 뷰포트에 배치한 메시를 선택합니다(①). ‘디테일’ 탭의 ‘Static Mesh’ 그룹에서 ▼ 를 클릭하여(②) 나타나는 메뉴에서 ‘SM_Statue’를 선택하면(③) 스태틱 메시 모델이 바뀝니 다(④). 그림 3-4 스태틱 메시 변경

1 선택

2 클릭

3 선택

62

3장 레벨 에디터의 기능

4 확인


5 배치한 스태틱 메시의 머티리얼 변경하기 3단계에서 뷰포트에 배치한 메시를 선택합니다(①). ‘디테일’ 탭의 ‘Materials’ 그룹의 ‘엘리먼 트 0’ 오른쪽에 있는 ▼를 클릭하여(②) 나타나는 메뉴에서 ‘M_Metal_Chrome’을 선택하면 (③) 스태틱 메시의 머티리얼이 변경됩니다(④). 그림 3-5 선택한 스태틱 메시의 머티리얼 변경

1 선택

2 클릭

4 확인

3 선택

3.1 콘텐츠 브라우저의 활용

63


3.1.2 콘텐츠 브라우저의 화면 구성 그림 3-6 콘텐츠 브라우저의 화면 구성

1

4

2

5

3

표 3-1 화면 구성 설명 번호

이름

설명

내비게이션 바

새로운 애셋을 만들거나 가져올 수 있고 다른 애셋의 경로가 표시됩니다.

소스 패널

프로젝트에 포함된 폴더를 트리 구조로 표시합니다. 또한 선택한 폴더에 들어 있는 애셋을 애셋 뷰에 표시합니다.

콜렉션 패널

사용자가 자주 사용하는 애셋을 등록할 수 있습니다. 또한 소스 컨트롤과 연계하여 다른 사용자와 콜렉션을 공유할 수 있습니다.

애셋 관리 영역

애셋을 필터링하고 검색할 수 있습니다.

애셋 뷰

소스 패널에서 선택한 폴더의 애셋을 표시합니다. 뷰 옵션에서 애셋의 표시 방법을 변경할 수 있습니다.

64

3장 레벨 에디터의 기능


CHAPTER

4

임포트와 애셋 만들기

이 장에서는 이 책에서 제공되는 부록 데이터를 임포트하여 게임에서 활용하는 방법을 설명합니다.

95


4.1 3D 모델 임포트하기(스태틱 메시편) 스태틱 메시라고 불리는 골격을 가지지 않는 3D 모델을 게임에서 활용 가능한 상태로 만드는 방법을 설명 합니다.

노트_ 이 장은 처음 프로젝트를 만들 때 부록 파일에 있는 다음 프로젝트로 시작하면 됩니다.

CHAPTER04\CHAPTER04\StarterProject\SampleProject.uproject

4.1.1 OBJ 파일 임포트 그림 4-1 OBJ 파일 임포트

1 새로운 폴더 만들기 콘텐츠 브라우저의 소스 뷰의 ‘Content’ 폴더를 마우스 우클릭하고(①) 메뉴에서 ‘새 폴더’를 선택합니다(②). 폴더 이름을 ‘StaticSample’로 바꿉니다(③).

96

4장 임포트와 애셋 만들기


그림 4-2 새로운 폴더 만들기

1 마우스 우클릭

2 선택 3 변경

2 OBJ 파일 임포트하기 콘텐츠 브라우저에서 ‘Content’ 폴더의 ‘StaticSample’ 폴더를 선택하고(①) ‘임포트’를 클릭합 니다(②). 대화 창에서 ‘Before → StaticMeshSample → Mesh’ 폴더에 있는 ‘StaticSample.

obj’를 선택하고(③) ‘열기’를 클릭합니다(④). 가져오기 형식을 지정하는 대화 상자가 나타나면 ‘Normal Import Method’ 오른쪽에 있는 버튼을 클릭하여(⑤) 메뉴에서 ‘Import Normals’ 를 선택하고(⑥) ‘Generate Lightmap UVs’를 체크한 뒤(⑦) ‘임포트’를 클릭합니다(⑧). 그림 4-3 OBJ 파일 임포트하기

2 클릭

1 선택 7 체크

5 클릭

3 선택

4 클릭

6 선택

8 클릭

4.1 3D 모델 임포트하기(스태틱 메시편)

97


3 임포트한 메시를 스태틱 메시 에디터로 열기 2단계에서 가져온 ‘StaticSample’ 애셋을 더블클릭합니다. 그림 4-4 스태틱 메시 에디터로 열기

더블클릭

4 임포트한 메시의 라이트맵 설정하기 스태틱 메시 편집 창의 ‘디테일’ 탭에서 ‘스태틱 메시 세팅’ 그룹의 ‘Light Map Resolution’을 ‘128’로 변경합니다(①). ▽(고급 표시)를 클릭하고 ‘Light Map Coordinate Index’를 ‘1’로 변경합니다(②). 그림 4-5 라이트맵 설정

1 변경

2 변경

98

4장 임포트와 애셋 만들기


5 임포트한 메시의 충돌 판정 설정하기 메뉴에서 ‘콜리전 → 자동 컨벡스 콜리전’을 선택합니다(①). 나타난 ‘컨벡스 분해’ 탭에서 ‘적용’ 을 클릭합니다(②). 설정이 완료되면 스태틱 메시 에디터를 닫습니다. 그림 4-6 충돌 판정 설정 2 클릭

1 선택

6 폴더를 통째로 임포트하기 샘플에 포함된 ‘Before’ 폴더의 ‘StaticMeshSample → Texture’ 폴더를 ‘StaticSample’ 폴더 로 드래그앤드롭합니다. 그림 4-7 폴더를 임포트하기

드래그앤드롭

4.1 3D 모델 임포트하기(스태틱 메시편)

99


7 머티리얼 만들기 ‘StaticSample’ 폴더를 우클릭하여(①) 나타나는 메뉴에서 ‘New Asset → 머티리얼’을 선택 합니다(②). 애셋 이름을 ‘StaticMaterial’로 변경합니다(③). 그림 4-8 머티리얼 만들기

1 마우스 우클릭

2 선택

3 변경

8 머티리얼 에디터 열기 7단계에서 만든 머티리얼 애셋을 더블클릭하여 머티리얼 에디터를 엽니다. 그림 4-9 머티리얼 에디터 열기 더블클릭

100 4장 임포트와 애셋 만들기


9 머티리얼 에디터로 텍스처 불러오기 콘텐츠 브라우저에서 6 단계에

그림 4-10 머티리얼 에디터에 텍스처를 드래그앤드롭

서 임포트한 텍스처를 모두 선 택하여(①) 8단계에서 연 머티 리얼 에디터의 그래프에 드래그 앤드롭합니다(②).

2 드래그앤드롭 1 모두 선택

10 머티리얼 에디터 안에 새로운 노드 배치하기 그래프에서 마우스 우클릭하여(①) 나타나는 메뉴의 검색 창에 ‘add’를 입력한 후(②) 결과에 표시된 ‘Add’를 선택합니다(③). 그러면 그래프에 새로운 노드가 배치됩니다(④). 그림 4-11 새로운 노드 배치하기

1 마우스 우클릭

3 선택

2 입력

4 확인

4.1 3D 모델 임포트하기(스태틱 메시편) 101


CHAPTER

5

블루프린트

언리얼 엔진에서 제공하는 비주얼 스크립팅 도구인 블루프린트 로 프로그래머가 아닌 비전문가도 게임을 만들 수 있습니다. 이 장에서는 블루프린트에 대한 기본적인 설명과 간단한 튜토리얼 을 진행합니다.

145


5.1 블루프린트 소개 블루프린트의 기본적인 내용을 설명합니다.

5.1.1 블루프린트 알아보기 블루프린트 블루프린트는 언리얼 엔진 3에서 구현된 키즈멧Kismet이 진화한 비주얼 스크립팅 도구입니다. 그 래프에서 노드를 만들고 연결하여 간단하게 게임을 만들 수 있기 때문에 미니게임이나 게임의 프로토타입을 만들 때 유용합니다. 그림 5-1 블루프린트의 그래프

블루프린트로 무엇을 할 수 있나? 장애물 등에 간단한 이벤트 추가 뿐 아니라 캐릭터 구현에서부터 게임 메뉴 만들기 등 언리얼 엔진

4 에서 만들 수 있는 거의 모든 기능을 블루프린트로 만들 수 있 습니다.

146 5장 블루프린트

그림 5-2 스윙 닌자는 블루프린트만으로 만들어졌습니다.


5.1.2 기본적인 블루프린트 종류 클래스 블루프린트 언리얼 엔진에서 사용할 수 있는 클래스를 확장한 블루프린트입니다. 부모 클래스의 기능을 계 승하여 블루프린트를 만듭니다. 애셋의 일부로 저장되므로 다른 레벨이나 게임에 재사용 가능 합니다. 그림 5-3 캐릭터, 무기, 아이템 등에 사용

레벨 블루프린트 현재 열려 있는 레벨에서 작동하는 블루프린트입니다. 맵에 게임의 플레이 요소를 연출하거나 마티네Matinee 재생 이벤트를 설정할 수 있습니다. 그림 5-4 이벤트 영상의 재생이나 맵 고유 이벤트 등에 사용

5.1 블루프린트 소개 147


애니메이션 블루프린트 스켈레탈 메시 캐릭터의 애니메이션을 제어하기 위한 블루프린트입니다. 앞선 두 종류의 블루 프린트와는 달리 지정된 메시에만 기능하는 블루프린트입니다. 캐릭터의 애니메이션을 블루프 린트를 이용하여 제어할 수 있습니다.

5.2 클래스 블루프린트로 간단한 게임 만들기 블루프린트의 기본적인 사용법을 배우면서 간단한 게임을 만들어봅시다. 튜토리얼에서는 플레이어가 액터 와 충돌하면 표시, 비표시가 바뀌는 클래스 블루프린트를 만들어보겠습니다.

5.2.1 클래스 블루프린트로 게임 만들기 1 새 프로젝트 만들기 [표 5-1]을 참조하여 새 프로젝트를 만듭니다. 표 5-1 새 프로젝트 만들기 항목

설정값

프로젝트 이름

HelloBlueprint

템플릿 이름

블루프린트 삼인칭

시작용 콘텐츠

포함

2 스태틱 메시를 배치하고 클래스 블루프린트 만들기 콘텐츠 브라우저에서 ‘Shapes’ 폴더에 있는 ‘Shapes_WideCapsule’을 뷰포트로 드래그 앤드롭합니다(①). ‘디테일 탭’에서 ‘Blueprint/Add Script’를 클릭합니다(②). 저장 경로 를 지정하는 대화 상자가 표시되면 ‘Blueprints’ 폴더를 선택하고(③) ‘BlueprintName’을 ‘HelloBlueprint’로 입력하고(④) ‘블루프린트 생성’을 클릭합니다(⑤).

148 5장 블루프린트


그림 5-5 클래스 블루프린트 만들기

1 드래그앤드롭

2 클릭

3 선택

4 입력

5 클릭

5.2 클래스 블루프린트로 간단한 게임 만들기 149


3 충돌 설정 변경하기 새로 열린 창의 ‘컴포넌트’ 탭에서 ‘Shape_WideCapsule’을 선택합니다(①). ‘디테일’ 탭의 ‘Collision’ 그룹의 ‘콜리전 프리셋’ 오른쪽에 위치한 ▼를 클릭하여(②) 나타나는 메뉴에서 ‘OverlapAllDynamic’을 선택합니다(③). 그림 5-6 충돌 설정

2 클릭 1 선택

3 선택

4 블루프린트 이벤트그래프 편집하기 툴바 아래쪽에 위치한 ‘이벤트그래프’ 탭을 클릭하여 그래프 편집 창을 활성화합니다. 그림 5-7 편집 모드로 변경하기

클릭

150 5장 블루프린트


w w w. h a n b i t . c o . k r

Hanbit eBook

Realtime w w w. h a n b i t . c o . k r / e b o o k

DRM free! 어떤 디바이스에서도 자유롭게

eBook Oriented! 전자책에 꼭 맞는 최적의 내용과 디자인

Hanbit eBook

Hanbit eBook

Realtime 70

Realtime 89 49

MFC 프로그래밍 주식분석 프로그램 만들기 김세훈 지음

Hanbit eBook

Hanbit eBook

Realtime 90

Realtime 92 49

자바 개발자를 위한

Vert.x JavaScript Promise​ azu​지음 /​주우영​옮김

애플리케이션 개발 모바일/웹 메시징 STOMP와 MQTT로 개발하는 IoT 모바일/웹 애플리케이션 Mobile and Web Messaging 제프 메스닐 지음 / 조건희 옮김

이연복 지음


w w w. h a n b i t . c o . k r

즐거운 상상이 가득! 2015년 화제의 신간

즐거운 상상이 가득! 2015년 화제의 신간

전자부품 백과사전 vol.1 찰스 플랫 지음 / 배지은 옮김 / 30,000원

취미공학에 필요한 핵심 전자부품을 사전식으로 정리한 안내서.

전자부품 백과사전 vol.1 찰스 플랫 지음 / 배지은 옮김 / 30,000원

처음 시작하는 센서

취미공학에 필요한 핵심 전자부품을 사전식으로 정리한 안내서.

전자부품 백과사전 vol.2

찰스 플랫 지음 / 가격미정

키모 카르비넨, 테로 카르비넨 지음 임지순 옮김 / 13,000원

세상을 수치로 읽어내는

<전자부품 백과사전> 시리즈의 두 번째 도서다.

부품인 센서를 알려주 는 책. 이 책을 통해 자신 만의 프로젝트에 다양한 처음 센서를 사용해보자.

Zero to Maker

: 누구나 메이커가 될 수 있다 데이비드 랭 지음 / 장재웅 옮김 / 14,000원

전자부품 백과사전 vol.2

찰스 플랫 지음 / 가격미정

일반인에서 메이커로. 날백수에서 무인 잠

<전자부품 백과사전> 시리즈의 수정 회사 CEO 가 된 사나이, 데이비드두 번째 도서다. 랭의 메이커 도전기.

Make: 센서

시작하는 센서

키모 카르비넨, 테로 카르비넨 지음 임지순 옮김 / 13,000원

세상을 수치로 읽어내는 부품인 센서를 알려주

키모 카르비넨, 테로 카르비 넨, 빌 발토카리 지음 는 책. 이 책을 통해 자신 / 가격미정

만의 프로젝트에 다양한

필수 전자부품인 센서를

센서를 사용해보자. 마이크로 컨트롤러 보드

Zero to Maker

: 누구나 메이커가 될 수 있다

에 응용하는 방법을 담

데이비드 랭 지음 / 장재웅 옮김 / 14 ,000원 Maker Pro

았다.

베이첼 지음 / 가격미정 일반인에서 메이커로.존날백수에서 무인 잠

메이커라면 반드시 읽어야 할 필수 계발

수정 회사 CEO가 된 사나이, 데이비드 서. 프로 메이커들과의 인터뷰 및 에세이 랭의 메이커 도전기. 수록.

프로젝트로 배우는 라즈베리 파이

도날드 노리스 지음 / 임지순 옮김

다양한 실전 프로젝트를 통해 라즈베리 파이를 쉽고 재미있게 배워본다.

Maker Pro 존 베이첼 지음 / 가격미정

메이커라면 반드시 읽어야 할 필수 계발

Make: 센서 키모 카르비넨, 테로 카르비 넨, 빌 발토카리 지음 / 가격미정

필수 전자부품인 센서를 마이크로 컨트롤러 보드 에 응용하는 방법을 담 았다.



Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.