C++를 사용한 언리얼 엔진 4 개발 (100여 개의 레시피를 통해 배우는 언리얼 4 게임 개발 가이드 | 2 판)

C++를 사용한 언리얼 엔진 4 개발 (100여 개의 레시피를 통해 배우는 언리얼 4 게임 개발 가이드 | 2 판)

$47.02
Description
클래스 생성부터 블루프린트 편집기, C++ 클래스와 구조체, 메모리 관리, 스마트 포인터, 디버깅, 액터와 컴포넌트, 이벤트와 델리게이트, 입력과 충돌, 클래스와 인터페이스 통신, C++과 언리얼 편집기의 연동 UE4 API 사용 및 멀티플레이어 네트워킹, AI 작성 및 유저 인터페이스까지 100개가 넘는 실전 레시피를 통해 언리얼로 만드는 게임에 네이티브 코드를 통합하고자 하는 게임 개발자에게 필수적인 책이다.
저자

존도란

JohnP.Doran
일리노이주피오리아에거주하는열정적이고노련한테크니컬게임디자이너,소프트웨어엔지니어,작가다.게임디자이너부터리드UI프로그래머까지10년이상다양한역할을맡으며게임개발에관한광범위하고전문적인실무지식을쌓았다.싱가포르,한국,미국에서게임개발교육관련강의를해왔으며,지금까지게임개발에관련된10권이상의책을썼다.현재브래들리대학교(BradleyUniversity)에서강사로일하고있으며,이전에는수상경력이있는비디오작가였다.

목차

1장.UE4개발도구
__소개
__기술적요구사항
__비주얼스튜디오설치
__비주얼스튜디오로첫C++프로젝트만들기
__비주얼스튜디오에서코드폰트와색상변경
__익스텐션-비주얼스튜디오의컬러테마변경하기
__코드포매팅과자동완성설정
__비주얼스튜디오단축키
__비주얼스튜디오에서마우스활용
__언리얼엔진4설치
__UE4에서첫프로젝트생성하기
__UE4에서첫레벨생성하기
__UE4-핫리로딩
__UE4-UE_LOG를사용해로그남기기
__다수의FString과다른변수들로부터FString만들기

2장.클래스생성
__소개
__기술적요구사항
__UCLASS작성-UObject에서파생
__커스텀UCLASS로부터블루프린트생성
__사용자편집이가능한UPROPERTY생성
__블루프린트에서UPROPERTY접근
__UPROPERTY타입으로UCLASS지정
__UObject파생클래스인스턴스화(ConstructObject〈〉와NewObject〈〉)
__UObject파생클래스파괴
__USTRUCT생성
__UENUM()생성

3장.메모리관리,스마트포인터,디버깅
__소개
__기술적요구사항
__관리되지않는메모리-malloc()/free()사용
__관리되지않는메모리-new/delete사용
__관리되는메모리-NewObject〈〉와ConstructObject〈〉사용
__관리되는메모리-메모리해제
__관리되는메모리-오브젝트추적을위해스마트포인터사용
__(TSharedPtr,TWeakPtr,TAutoPtr)
__오브젝트추적을위해TScopedPointer사용
__언리얼의가비지컬렉션시스템과UPROPERTY()
__가비지컬렉션강제수행
__중단점과단계별코드실행
__버그탐색과콜스택사용
__핫스팟식별을위해프로파일러사용

4장.액터와컴포넌트
__소개
__기술적요구사항
__C++로커스텀액터생성하기
__SpawnActor를사용해액터인스턴스화하기
__UFUNCTION생성
__Destroy와Timer를사용해액터삭제
__SetLifeSpan을사용해일정지연후액터삭제하기
__컴포지션을사용한액터기능구현
__FObjectFinder를사용해애셋을컴포넌트에불러오기
__상속을사용한액터기능구현
__계층생성을위한컴포넌트연결
__커스텀액터컴포넌트생성
__커스텀씬컴포넌트생성
__RPG를위한InventoryComponent생성
__OrbitingMovement컴포넌트생성
__유닛을생산하는건물생성

5장.이벤트와델리게이트처리
__소개
__기술적요구사항
__가상함수로구현된이벤트처리
__UFUNCTION에바인딩된델리게이트생성
__델리게이트등록해제
__입력파라미터를받는델리게이트생성
__델리게이트바인딩으로페이로드데이터전달
__멀티캐스트델리게이트생성
__커스텀이벤트생성
__시간핸들러생성
__FPS게임을위한재소환픽업생성

6장.입력과충돌
__소개
__기술적요구사항
__축매핑-FPS캐릭터제어를위한키보드,마우스,게임패드방향입력
__축매핑-정규화된입력
__액션매핑-FPS캐릭터제어를위한원버튼응답
__C++로축과액션매핑추가
__마우스UI입력처리
__UMG키보드UI단축키
__충돌-Ignore를사용해오브젝트통과시키기
__충돌-Overlap을사용해오브젝트줍기
__충돌-Block을사용해통과방지

7장.클래스와인터페이스간의통신:파트1
__소개
__기술적요구사항
__UInterface생성
__오브젝트에UInterface구현
__클래스가UInterface를구현했는지검사
__네이티브코드로구현된UInterface로캐스팅
__C++로네이티브UInterface함수호출
__서로UInterface상속
__C++에서UInterface함수재정의
__UInterface로간단한상호작용시스템구현

8장.클래스와인터페이스간의통신:파트2
__소개
__기술적요구사항
__네이티브베이스클래스로부터블루프린트로UInterface메서드노출
__블루프린트에서UInterface함수구현
__블루프린트에서재정의할수있는C++UInterface함수구현생성
__C++에서블루프린트로정의한인터페이스호출

9장.C++와언리얼편집기연동:파트1
__소개
__기술적요구사항
__블루프린트변수로클래스나구조체사용하기
__블루프린트에서서브클래싱할수있는클래스또는구조체만들기
__블루프린트에서호출할수있는함수만들기
__블루프린트에서구현할수있는이벤트만들기
__멀티캐스트델리게이트를블루프린트에노출하기
__블루프린트에서사용할수있는C++열거형만들기
__편집기의여러위치에서클래스속성편집하기
__블루프린트편집기그래프에서속성에접근가능하게만들기
__편집기에서속성변경이벤트에응답하기
__네이티브코드생성스크립트구현하기

10장.C++와언리얼편집기연동:파트2
__소개
__새편집기모듈생성
__새툴바버튼생성
__새메뉴항목생성
__새편집기창생성
__새애셋타입생성
__애셋을위한커스텀컨텍스트메뉴항목생성
__새콘솔명령생성
__블루프린트를위한새그래프핀시각화생성
__커스텀Details패널로타입분석

11장.UE4API사용하기
__소개
__기술적요구사항
__Core/LoggingAPI-커스텀로그카테고리정의
__Core/LoggingAPI-MessageLog에메시지를쓰는FMessageLog
__Core/MathAPI-FRotator를이용한회전
__Core/MathAPI-FQuat를이용한회전
__API-한오브젝트가다른오브젝트를향하도록FRotationMatrix를사용해회전
__GameplayAbilityAPI-게임컨트롤을사용해액터의게임플레이능력을트리거링
__GameplayAbilityAPI-AttributeSet으로통계구현
__GameplayAbilityAPI-GameplayEffect로버프구현
__GameplayTasksAPI-GameplayTasks로사건만들기
__HTTPAPI-웹요청으로웹페이지다운로드
__HTTPAPI-다운로드진행률표시

12장.UE4에서의멀티플레이어네트워킹
__소개
__기술적요구사항
__클라이언트와서버게임동시에테스트하기
__네트워크를통한속성복제
__네트워크를통한복제함수들
__UI네트워크이벤트처리

13장.NPC제어를위한AI
__소개
__기술적요구사항
__간단한따라다니기행동구현
__내비게이션메시배치
__블랙보드생성
__행동트리생성
__행동트리를캐릭터에연결
__BTService생성
__BTTask생성

14장.사용자인터페이스-UI와UMG
__소개
__기술적요구사항
__캔버스를사용해그리기
__화면에슬레이트위젯추가
__UI를위한화면크기인식스케일링생성
__게임내UMG요소시트표시및숨기기
__슬레이트이벤트에함수호출연결
__언리얼모션그래픽과데이터바인딩사용
__스타일을사용해위젯모양제어
__커스텀SWidget/UWidget생성

출판사 서평

★이책에서다루는내용★

■UE4및블루프린트편집기와잘통합되는C++클래스및구조체생성
■언리얼엔진에포함된다양한API로작업하는방법
■UE4프로젝트에서이벤트,델리게이트,인터페이스와같은고급개념활용
■C++를기반으로캔버스(Canvas)와UMG를사용해사용자인터페이스구축하기
■커스텀윈도우와편집기를만들어언리얼편집기기능확장하기
■C++,블랙보드(Blackboard),행동트리(BehaviorTree)를사용한AI작업및서비스구현
■네트워킹지원을위한C++코드작성과속성및함수복제

★이책의대상독자★

게임디자인과C++의기본사항을이해하고있으면서언리얼로만드는게임에네이티브코드를통합하고자하는게임개발자를대상으로한다.특히엔진을확장하거나,디자이너를위한제어가쉽고유연한레벨구성시스템을제공하려는프로그래머에게적합하다.

★이책의구성★

1장.‘UE4개발도구’에서는UE4게임개발을시작하는데필요한기본레시피와게임코드를작성하는데사용하는기본도구를설명한다.
2장.‘클래스생성’에서는UE4블루프린트편집기와잘통합되는C++클래스및구조체생성방법을다룬다.이러한클래스는UCLASS라고하는일반C++클래스의블루프린트용버전이다.
3장.‘메모리관리,스마트포인터,디버깅’에서는세가지유형의포인터를모두사용하는독자를대상으로하며,자동가지비컬렉션(automaticgarbagecollection)과관련한몇가지일반적인함정을다룬다.또한크래시(crash)를분석하거나기능이제대로구현됐는지확인하고자비주얼스튜디오또는XCode를사용하는방법을알아본다.
4장.‘액터와컴포넌트’에서는커스텀액터와컴포넌트가하는역할,상호작용방식및생성방법을다룬다.
5장.‘이벤트와델리게이트처리’에서는델리게이트(delegate),이벤트(event),이벤트처리를다루며,자신만의구현을생성하는방법도설명한다.
6장.‘입력과충돌’에서는UE4에서사용자입력과C++함수를연결하는방법을설명하며C++로충돌을처리하는방법도다룬다.또한사용자입력과충돌같은게임이벤트를다루는기본처리도제공함으로써디자이너가필요에따라블루프린트를사용해재정의할수있도록한다.
7장.‘클래스와인터페이스간의통신:파트1’에서는자신만의UInterface를작성하는방법을설명하며,C++를사용해커플링을최소화하고코드를간결하게유지하는방법도알려준다.
8장.‘클래스와인터페이스간의통신:파트2’에서는7장에서다룬내용의연장선으로,블루프린트를활용해UInterface가작동하도록만드는방법을자세히다룬다.
9장.‘C++와언리얼편집기연동:파트1’에서는커스텀블루프린트와애니메이션노드를생성해편집기를커스터마이즈하는방법을설명한다.
10장.‘C++와언리얼편집기연동:파트2’에서는사용자가생성한타입을검사하기위해커스텀편집기창과커스텀디테일패널을구현하는방법을설명한다.
11장.‘UE4API사용하기’에서는프로그래머가엔진에게무엇을해야할지지시하는방법인API를설명한다.각모듈은API를제공하며,API를사용하려면빌드에서사용할모든API를ProjectName.Build.cs파일에나열해야한다.
12장.‘UE4에서의멀티플레이어네트워킹’에서는네트워크를통해속성과기능을복제하는방법을설명한다.또한서버와클라이언트를동시에테스트하는방법도다룬다.
13장.‘NPC제어를위한AI’에서는간단한인공지능(AI)을보유한NPC캐릭터를제어하는방법을다룬다.
14장.‘사용자인터페이스-UI와UMG’에서는플레이어에게피드백을표시하는것은게임디자인에서가장중요한요소중하나이며,일반적으로게임내에서일종의HUD또는메뉴를제공한다.