언리얼 엔진으로 배우는 게임 디자인 패턴 (C++와 블루프린트로 유지보수 및 확장 가능한 시스템 구축하기 | 반양장)

언리얼 엔진으로 배우는 게임 디자인 패턴 (C++와 블루프린트로 유지보수 및 확장 가능한 시스템 구축하기 | 반양장)

$27.00
Description
언리얼 공인 강사가 안내하는 고성능 언리얼 C++ 디자인 패턴
빠르고 관리하기 쉬운 코드를 위한 다양한 디자인 패턴을 언리얼 엔진 5 프로젝트에 적용하는 방법을 배운다. 더블 버퍼, 플라이웨이트, 공간 분할 등 언리얼 엔진 5의 핵심을 이루는 패턴을 자세히 살펴본 다음, 인터페이스 및 이벤트 관찰자 패턴 등을 구현한 게임플레이 예제를 C++로 작성하고, 마지막으로 코드 구조화와 최적화를 위한 디자인 패턴들을 살펴본다. 이 과정을 마스터하면 C++와 블루프린트 조합으로 유지보수 및 확장 가능한 시스템을 능숙하게 설계할 수 있을 것이다.
저자

스튜어트버틀러

13년이상고등교육기관에서게임개발을가르친언리얼전문가.테크니컬디자인,아트,애니메이션등다양한분야에서프로젝트를출시했다.스태퍼드셔대학교에서게임기술전공의디렉터를맡고있으며,영국에서가장큰게임교육학부의프로그래밍팀을책임지고있다.언리얼공인강사로도활동하고있으며,교육콘텐츠크리에이터로서에픽게임즈와함께언리얼엔진5학습자료를제작하고있다.

목차

지은이소개ix
옮긴이소개x
기술감수자소개xi
옮긴이머리말xii
베타리더후기xv
추천서문xvi
감사의글xviii
이책에대하여xix

PARTI언리얼엔진5에서배우기

CHAPTER1언리얼엔진5와레이어이해하기3
1.1기술적요구사항4
1.2언리얼엔진5소개4
1.3언리얼엔진5설치및개발환경준비6
1.4‘퍼지’레이어:C++와블루프린트의간극을메우는다리9
__1.4.1프로퍼티지정자10/1.4.2함수지정자11/1.4.3상속의유용성12
1.5블루프린트에서C++로다시변환하기13
__1.5.1작업예제16
1.6요약19
1.7연습문제19
__1.7.1정답20

CHAPTER2“헬로,패턴”21
2.1기술적요구사항21
2.2SOLID원칙23
__2.2.1단일책임23/2.2.2개방-폐쇄24/2.2.3리스코프치환26
__2.2.4인터페이스분리27/2.2.5의존관계반전30
2.3흔한문제에대한해결책탐색31
__2.3.1움직이는박스문제32/2.3.2회전하는박스문제40
__2.3.3캐스케이딩캐스트체인문제43
2.4트레이드오프48
2.5요약49

CHAPTER3UE5패턴실습:더블버퍼,플라이웨이트,공간분할51
3.1기술적요구사항52
3.2더블버퍼52
3.3플라이웨이트56
3.4공간분할58
__3.4.1월드파티션소개61
__3.4.2오브젝트가언제로드되는지이해하기64
__3.4.3필요한액터를확실히로드하는방법67
__3.4.4기존레벨에서월드파티션활성화하기69
3.5요약69

CHAPTER4UE5내장패턴:컴포넌트,업데이트메서드,비헤이비어트리71
4.1기술적요구사항72
4.2컴포넌트이해및생성72
4.3게임플레이프로토타이핑에업데이트메서드적용79
4.4비헤이비어트리로작업하기81
__4.4.1AI컨트롤러만들기84
__4.4.2블랙보드에셋만들기85
__4.4.3비헤이비어트리구축하기86
4.5요약101

PARTII익명모듈식디자인

CHAPTER5틱버리기105
5.1기술적요구사항106
5.2시작하기전에106
5.3틱으로돌아가는월드106
5.4멈추는시계110
5.5이벤트기반시스템115
5.6요약119

CHAPTER6깔끔한통신:인터페이스및이벤트관찰자패턴121
6.1기술적요구사항121
6.2UE5의클래스간인터페이스통신122
__6.2.1블루프린트인터페이스122
__6.2.3인터페이스이벤트와함수의차이점126
__6.2.4C++에서의인터페이스129
__6.2.5인터페이스통신예제구현130
6.3UE5에서이벤트델리게이트통신구현하기132
__6.3.1블루프린트의이벤트델리게이트132
__6.3.2C++의이벤트델리게이트136
__6.3.3유용한델리게이트툴만들기138
6.4요약142

CHAPTER7완벽하게분리된시스템143
7.1기술적요구사항144
7.2UML을사용하여샘플계층구조계획하기144
__7.2.1클래스관계의형태144
__7.2.2시퀀스다이어그램146
7.3참조연결의분리147
__7.3.1모듈화와분리147
__7.3.2인프라구축151
__7.3.3분리설계를예제에적용하기152
__7.3.4분리하기의장점163
7.4요약164

PARTIII언리얼위에서작업하기

CHAPTER8디자인패턴구축하기:싱글턴,커맨드,상태167
8.1기술적요구사항167
8.2싱글턴패턴구현:왜이것이판도라의상자인지이해하기168
8.3다양한사용사례를위한커맨드패턴구현하기170
__8.3.1에디터유틸리티에서의실행취소기능을위한커맨드패턴172
__8.3.2C++에서의게임플레이를위한커맨드패턴177
8.4스테이트머신의다층구조만들기180
__8.4.1애니메이션스테이트머신알아보기181
__8.4.2열거형/스위치구현183
__8.4.3정적스테이트와인스턴스화된스테이트185
__8.4.4동시스테이트머신187
__8.4.5계층적스테이트머신189
__8.4.6푸시다운오토마타190
8.5요약191

CHAPTER9행동패턴을이용한코드구조화:템플릿,서브클래스샌드박스,타입오브젝트193
9.1기술적요구사항194
9.2템플릿패턴살펴보기194
__9.2.1템플릿만들기(부모클래스)196
__9.2.2자식클래스만들기198
__9.2.3템플릿권총200
__9.2.4템플릿산탄총205
9.3서브클래스샌드박스패턴이해하기207
__9.3.1샌드박스만들기(부모클래스)208
__9.3.2자식클래스생성211
__9.3.3샌드박스권총211
__9.3.4샌드박스산탄총213
9.4타입오브젝트패턴215
__9.4.1배리언트216/9.4.2데이터테이블217/9.4.3데이터에셋218
9.5요약222

CHAPTER10패턴을통한최적화223
10.1기술적요구사항224
10.2불필요한처리를줄이기위해더티플래그사용하기224
__10.2.1더티플래그의적용225
10.3데이터지역성이코드효율에미치는영향226
__10.3.1핫/콜드분할227
__10.3.2연속적인배열228
10.4오브젝트풀링:시간을절약하기위한리소스관리229
__10.4.1오브젝트풀링구현하기229
__10.4.2오브젝트풀만들기231
10.5요약241

찾아보기244

출판사 서평

전문가에게배우는실전적인언리얼5C++디자인패턴디자인패턴은코드를더빠르고관리하기쉽게작성할수있게해준다.이책은다양한디자인패턴을설명하고그것들을언리얼엔진5프로젝트에적용하는방법을알려준다.디자인패턴은물론,엔진의작동방식도더욱깊이이해하게됨으로써언리얼개발실무에서느꼈던한계를돌파할수있게해준다.
언리얼C++코딩과블루프린트의기초원리로시작하여,코드에패턴을적용할때알아야할개념및이점에대한탄탄한이해를쌓게된다.먼저1부에서는더블버퍼,플라이웨이트,공간분할,컴포넌트,업데이트메서드,비헤이비어트리등언리얼엔진5의핵심에내장된패턴들에대해살펴본다.
2부에서는‘틱’을대체하는방법,그리고인터페이스및이벤트관찰자패턴,나아가참조연결을분리하기위한UML을설명하며게임플레이예제를C++로작성해본다.3부는싱글턴,커맨드,상태패턴과함께행동패턴,코드구조화를위한템플릿패턴,서브클래스샌드박스,타입오브젝트를구현하고,끝으로더티플래그,데이터지역성,오브젝트풀링까지출시전성능최적화를위한디자인패턴활용에초점을맞춘다.

주요내용-디자인패턴의본질과유용성파악하기
-언리얼엔진5의레이어및작동방식이해하기
-언리얼엔진5C++코드와블루프린트간의관계파악하기
-언리얼엔진5기존기능에서발견되는디자인패턴알아보기
-언리얼엔진5에적용된디자인패턴의목적살펴보기
-일반적인문제해결을위해기존코드에창의적으로디자인패턴적용하기