책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9791161752716
· 쪽수 : 604쪽
· 출판일 : 2019-02-25
책 소개
목차
1장. UE4 개발 툴
__소개
__Visual Studio 설치
__Visual Studio에서 첫 C++ 프로젝트 생성하고 빌드하기
__Visual Studio에서 코드 글꼴과 컬러 변경하기
__확장 - Visual Studio에서 색상 테마 변경
__Visual Studio에서 코드 서식 지정(자동 완성 설정)
__Visual Studio에서 단축키
__Visual Studio에서 확장된 마우스 사용
__UE4 - 설치
__UE4 - 첫 번째 프로젝트
__UE4 - UE_LOG로 로깅
__GitHub의 프로젝트 관리 - 소스 컨트롤
__GitHub의 프로젝트 관리-이슈 트래커
__VisualStudio.com에서 프로젝트 관리 - 프로젝트에서 태스크 관리
__VisualStudio.com의 프로젝트 관리-User Story와 태스크의 생성
2장. 클래스 생성하기
__소개
__UCLASS 만들기-UObject에서 파생하기
__사용자 편집 가능한 UPROPERTY 만들기
__블루프린트에서 UPROPERTY 접근하기
__UPROPERTY 타입으로 UCLASS 작성하기
__커스텀 UCLASS에서 블루프린트 만들기
__UObject 파생 클래스 인스턴스화하기(NewObject< >)
__UObject 파생 클래스 파괴하기
__USTRUCT 만들기
__UENUM( ) 만들기
__UFUNCTION 만들기
3장. 메모리 관리와 스마트 포인터
__소개
__관리되지 않는 메모리 - malloc( )/free( ) 사용
__관리되지 않는 메모리 - new/delete 사용
__관리되는 메모리 - NewObject< > 사용
__관리되는 메모리 - 메모리 해제
__관리되는 메모리 - 스마트 포인터(TSharedPtr, TWeakPtr, TUniquePtr)를 사용해
__객체 추적하기
__TUniquePtr를 사용해 객체 추적하기
__언리얼의 가비지 컬렉션 시스템과 UPROPERTY( )
__가비지 컬렉션의 강제 수행
__중단점과 단계적 코드 실행
__버그 찾기와 콜 스택 사용
__프로파일러를 사용해 핫 스팟 식별
4장. 액터와 컴포넌트
__소개
__C++에서 사용자 정의 액터 만들기
__SpawnActor를 이용한 액터 생성
__Destroy와 Timer를 이용한 액터 파괴
__SetLifeSpan을 사용한 지연된 액터의 파괴
__조합을 통한 액터의 기능 구현
__FObjectFinder를 사용해 컴포넌트에 에셋 로딩하기
__상속을 통한 액터의 기능 구현
__계층 구조를 만드는 컴포넌트 붙이기
__사용자 정의 액터 컴포넌트 생성
__사용자 정의 신 컴포넌트 생성
__사용자 정의 프리미티브 컴포넌트 생성
__RPG를 위한 인벤토리 컴포넌트 생성
__궤도 이동 컴포넌트 생성
__유닛들을 스폰하는 빌딩 생성
5장. 이벤트와 델리게이트 처리하기
__가상 함수로 구현된 이벤트 핸들링
__UFUNCTION에 바인딩된 델리게이트 생성
__델리게이트 등록 해제하기
__입력 파라미터를 사용하는 델리게이트 생성
__델리게이트 바인딩을 사용해 페이로드 데이터 전달
__멀티-캐스트 델리게이트 생성
__사용자 정의 이벤트 생성
__Time of Day 핸들러 생성
__1인칭 슈터 게임을 위한 리스폰 Pickup 만들기
6장. 입력과 충돌
__소개
__축 매핑 - FPS 캐릭터에 대한 키보드, 마우스 및 게임 패드 방향 입력
__축 매핑-정규화된 입력
__액션 매핑 - FPS 캐릭터를 위한 단일 버튼 처리
__C++에서 축, 액션 매핑 추가하기
__마우스 UI 입력 처리하기
__UMG 키보드 UI 단축키들
__충돌-Ignore를 사용해 다른 것을 통과하게 해주는 오브젝트
__충돌 - Overlap을 사용한 오브젝트 들어올리기
__충돌 - Block을 사용한 상호 침투 막기
7장. 클래스와 인터페이스 간 통신
__소개
__UInterface 만들기
__UInterface 객체 구현
__네이티브 코드에서 UInterface 구현을 위한 캐스팅
__C++에서 네이티브 UInterface 함수 호출
__다른 UINTERFACE에서 상속받기
__C++에서 UInterface 함수의 재정의
__네이티브 기반 클래스에서 블루프린트로 UInterface 함수 노출시키기
__블루프린트 안에서 UInterface 함수 구현
__블루프린트로 재정의할 수 있는 C++ UInterface 함수 구현 만들기
__C++에서 블루프린트로 정의된 인터페이스 함수 호출
__UInterfaces와 단순하게 상호작용하는 시스템 구현
8장. C++와 언리얼 에디터의 통합
__소개
__클래스나 구조체를 블루프린트 변수로 사용
__블루프린트에서 서브클래싱할 수 있는 클래스 혹은 구조체 만들기
__블루프린트에서 호출할 수 있는 함수 만들기
__블루프린트에서 구현할 수 있는 이벤트 만들기
__멀티-캐스트 델리게이트를 블루프린트에 노출하기
__블루프린트에서 사용할 수 있는 C++ 열거형 만들기
__에디터의 다른 위치에서 클래스 프로퍼티 편집하기
__프로퍼티를 블루프린트 에디터 그래프에서 접근 가능하게 만들기
__에디터로부터 프로퍼티 변경 이벤트에 대한 응답
__Construction 스크립트 네이티브 코드 구현
__새로운 에디터 모듈 만들기
__새 툴바 버튼 만들기
__새 메뉴 엔트리 만들기
__새 에디터 창 만들기
__새 에셋 타입 만들기
__에셋에 대한 사용자 정의 컨텍스트 메뉴 만들기
__새 콘솔 명령어 만들기
__블루프린트에서 새로운 그래프 핀 비주얼라이저 만들기
__사용자 정의 세부 정보 패널을 사용해 타입 검사하기
9장. 유저 인터페이스 - UI와 UMG
__소개
__Canvas를 사용해 그리기
__스크린에 Slate 위젯 추가하기
__UI를 위한 크기가 조절되는 스크린 생성하기
__게임 내에서 UMG 엘리먼트 시트 표시 및 숨기기
__붙이는 함수로 Slate 이벤트 호출하기
__Unreal Motion Graphics에서 데이터 바인딩 사용하기
__Styles로 위젯 외형 조작하기
__사용자 정의 SWidget/UWidget 만들기
10장. NPC 제어를 위한 AI
__소개
__내비게이션 메시 배치
__추적 행동
__캐릭터에 비헤이비어 트리 연결
__태스크 노드 구성
__조건을 위한 데코레이터 사용
__주기적인 서비스 사용하기
__콤퍼짓 노드-셀럭터, 시퀀스, 단순 병렬
__근접 공격자를 위한 AI
11장. 사용자 정의 머티리얼과 셰이더
__소개
__기본 머티리얼을 사용해 색상 수정하기
__머티리얼을 사용해 위치 수정하기
__사용자 지정 노드를 통한 셰이더 코드
__머티리얼 함수
__셰이더 파라미터와 머티리얼 인스턴스
__Glimmer
__나뭇잎과 바람
__시야각에 따른 반사율
__임의성 - 펄린 노이즈
__랜드스케이프 셰이딩
12장. UE4 API로 작업하기
__소개
__Core/Logging API-사용자 정의 로그 카테고리 정의하기
__Core/Logging API - FmessageLog로 메시지들을 메시지 로그에 작성하기
__Core/Math API - FRotator를 사용한 회전
__Core/Math API?FQuat를 이용한 회전
__Core/Math API - 한 오브젝트를 다른 것과 마주보기 위한 FRotationMatrix를 사용한
__회전
__Landscape API - 펄린 노이즈를 사용한 랜드스케이프 생성
__Foliage API - 레벨에 절차적으로 나무 추가하기
__Landscape와 Foliage API - 랜드스케이프와 폴리지 API를 이용한 맵 생성
__GameplayAbilities API - 게임 컨트롤로 액터의 게임 플레이 능력을 작동시키기
__GameplayAbilities API - UAttributeSet으로 스탯 구현하기
__GameplayAbilities API -GameplayEffect로 버프 구현하기
__GameplayTags AP - 액터에 GameplayTags 붙이기
__GmaplayTasks API - GameplayTasks로 일을 일어나게 하기
__HTTP API - 웹 리퀘스트
__HTTP API - 상태바