언리얼 엔진 4 마스터 [실제 사용자들의 경험을 바탕으로 한 게임 개발]
- 원서명Mastering Unreal Engine 4.X: Take your game development skills to the next level with one of the best engines on the market (ISBN 9781785883569)
- 지은이무함마드 압둘 모님(Muhammad A.Moniem)
- 옮긴이권혁이, 오은진
- ISBN : 9791161753126
- 35,000원
- 2019년 06월 24일 펴냄 (절판)
- 페이퍼백 | 476쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으실 수 있습니다.
요약
C++ 코드와 함께 언리얼 엔진 4를 이용해 최신 게임을 만드는 방법에 대해서 배운다. 게임 캐릭터를 제어하고 레벨을 생성하며, AI 및 파티클, 고급 셰이더 기술, UI, 데이터 테이블 등 전반적인 개발 과정을 예제와 함께 실제 게임을 만들어 보면서 따라 해 볼 수 있다.
이 책에서 다루는 내용
■ C++ 코드로 플레이어를 제어하는 스크립트 작성
■ 고급 디자인 기술을 이용한 매력적인 레벨 생성
■ C++로 AI 프로그램 생성
■ 게임에 생명력을 불어넣을 캐스케이드(Cascade) 사용
■ 사용자 정의 셰이더 사용과 고급 셰이더 기술로 근사한 게임 만들기
■ 멋진 UI 구현
■ 데이터 테이블을 사용한 게임 플레이 제어
이 책의 대상 독자
이 책은 언리얼 엔진과 C++ 스크립팅의 기본 지식이 있는 게임 개발자를 대상으로 한다. 캐주얼 게임 개발자에서 제대로 된 지식을 갖춘 전문가로 도약하길 원하는 사람에게 매우 적합하다.
이 책의 구성
1장, ‘대형 프로젝트 준비하기’에서는 새로운 프로젝트를 생성하고 구축, 편집해 게임을 만들 수 있도록 준비 과정을 보여준다. 또한 고급 애셋 파이프라인에 대해 다뤄 자신만의 모델 데이터를 언리얼 엔진에 가져올 수 있게 한다.
2장, ‘전사 만들기’에서는 게임 영웅을 만드는 방법을 설명한다. C++를 사용해 키보드와 마우스에 연결되는 캐릭터 컨트롤러를 생성한다. 또한 C++로 캐릭터와 무기 변경, 공격, 이동 로직을 생성하는 방법을 배운다. 클래스는 블루프린트(Blueprint)로 변환될 수 있으며, C++ 코드로 캐릭터가 움직이도록 애니메이션과 물리를 추가하는 방법도 익히게 된다.
3장, ‘나만의 놀이 공간 설계하기’에서는 게임 세계를 만드는 방법을 보여준다. 편집기 도구와 브러시Brush를 사용해 레벨을 생성하고, 광원과 머티리얼(Material)을 적용해 게임 로직을 테스트하기 위한 첫 번째 단계를 준비한다.
4장, ‘생각하는 AI’에서는 플레이어에 의해 발생하는 소리나 거리, 시야에 따라 플레이어를 발견해 공격하는 AI 캐릭터를 생성하는 방법을 다룬다. 모든 스크립트 코드는 C++로 만들 것이다. 편집기와 멋진 옵션들로 캐릭터의 애니메이션을 다뤄본다.
5장, ‘수집물 추가하기’에서는 수집물 몇 가지를 추가해 게임을 풍부하게 만든다. 게임 이벤트 발생과 중복 처리, 새로운 클래스를 추가하는 방법과 수집품에 물리력을 추가하는 방법을 배운다.
6장, ‘파티클의 마법’에서는 게임이 근사해 보이도록 파티클(Particle)을 추가하는 방법을 다룬다. 캐스케이드(Cascade)를 이용해 적군, 무기, 수집품에 대한 파티클을 만들고 이들을 게임 로직과 연결하는 방법을 익힌다.
7장, ‘시각적 품질 향상’에서는 언리얼 엔진에서 가장 중요한 렌더링 기능에 초점을 둬 게임이 시각적으로 꽤 근사해 보이도록 만드는 법을 다룬다. 라이트맵(Light map)을 굽는 방법도 배울 것이다.
8장, ‘시네마틱 영상과 게임 안에서의 컷신’에서는 더 실감 나는 게임 플레이와 이야기를 위한 인게임(In-game) 컷신(Cutscene)을 만들 때 필요한 도구에 대해 설명한다.
9장, ‘게임 UI 구현하기’에서는 플레이하는 동안 “오예!”라는 말이 절로 나오게 할 견고한 UI를 추가한다. 언리얼 모션 그래픽(UMG, Unreal Motion Graphics)을 이용해 서로 다른 화면 크기의 해상도를 다루고 근사한 게임 UI를 만들어본다.
10장, ‘게임 진행 저장하기’에서는 게임 저장 및 불러오기 기능을 만들어 진행 중인 게임을 저장해 나중에 게임을 이어서 할 수 있도록 만든다.
11장, ‘데이터 테이블로 게임 플레이 제어하기’에서는 데이터 테이블(Data Table)을 사용해 적군 등의 게임 플레이 값을 전달한다(데이터 테이블은 타워 디펜스, RPG, 로그라이크, RTS와 같은 여러 게임 장르에 광범위하게 사용되고 있다).
12장, ‘근사한 사운드’에서는 게임 플레이 중에 재생되는 오디오를 추가하는 방법을 보여준다. 신(scene)에서 어떻게 오디오를 재생하고 클립을 사용하는지 학습한다.
13장, ‘게임 성능 프로파일링’에서는 다양한 편집기 디버깅 방법과 성능 이슈를 규정하기 위한 프로파일링(Profiling) 도구를 숙지한다.
14장, ‘게임 패키지 생성’에서는 게임 배포를 위해 해당 게임을 실행할 수 있게 만드는 방법을 배운다. 이 게임의 대장이라는 것을 보여줄 스플래시 화면을 추가하고 프로젝트 런처(project launcher)를 이용해 게임을 출시한다.
목차
목차
- 1장. 대형 프로젝트 준비하기
- 게임의 개요
- C++ 프로젝트 생성
- 프로젝트 설정
- 편집기 설정
- 입력 처리 매핑
- 애셋 이주시키기
- 마켓플레이스의 애셋 이용하기
- 애니메이션 리타기팅
- 요약
- 2장. 전사 만들기
- 코드 프로젝트
- C++ 클래스 생성
- 코드 편집과 추가
- Gladiator 헤더(.h) 파일
- Gladiator 소스(.cpp) 파일
- 코드 컴파일하기
- 애니메이션 애셋
- 블루프린트 생성하기
- 게임 모드에 블루프린트 추가하기
- 요약
- 3장. 나만의 놀이 공간 설계하기
- 예술적인 레벨 설계
- 애셋을 월드에 배치하기
- 브러시를 이용해 레벨 디자인 한 단계 업그레이드하기
- 레벨에 라이트 추가하기
- 레벨의 라이트맵구축하기
- 물 표면 구현하기
- 플레이어 시작점
- 내비게이션 메시
- 요약
- 예술적인 레벨 설계
- 4장. 생각하는 AI
- 전체적인 개념 잡기
- AI 애셋
- 애니메이션 블루프린트
- C++ 로직 생성하기
- EnemyAIController
- Enemy
- 행동 트리 생성하기
- 블루프린트 생성하기
- 알림 추가하기
- 추가 사항
- 요약
- 5장. 아이템 추가하기
- 아이템의 개념
- 기본 클래스
- 코인 클래스
- 캐릭터가 수집할 수 있도록 구현하기
- 블루프린트 만들기
- 다음 단계로 나아가기
- 요약
- 6장. 파티클의 마법
- 파티클 편집기
- 메뉴 바
- 뷰포트 패널
- 방사체 패널
- 디테일 정보 패널
- 커브 편집기
- 파티클 스폰하기
- 실시간으로 파라미터 변경하기
- 요약
- 7장. 시각적인 품질 향상
- 라이트매스
- 스웜 에이전트
- 앰비언트 오클루전
- AO 설정
- 라이트매스 설정
- 월드 설정
- 임포턴스 볼륨 설정
- 후처리 프로젝트 설정
- 후처리 볼륨
- 사용할 수 있는 효과 목록
- 반사 캡처
- 반사 캡처 액터
- 안개 효과
- 대기 형태의 안개
- 높이 지수화 안개
- 요약
- 8장. 시네마틱과 인게임 컷신
- 마티니 액터(시네마틱 액터)
- 마티니 편집기
- 그룹
- 트랙
- <Bellz> 시네마틱
- 안개 애니메이션
- 색상
- 익스포넨셜 하이트 포그 애니메이션
- 비디오 파일로 시네마틱 저장하기
- 요약
- 마티니 액터(시네마틱 액터)
- 9장. 게임 UI 구현하기
- 언리얼 UI 시스템인 UMG
- 게임 UI 위젯
- UMG 디자이너
- UI 생성하기
- UI에 애니메이션 추가하기
- 게임 로직에 UI 연결하기
- 추가 사항
- 요약
- 10장. 게임 진행 저장하기
- SaveGame 클래스 만들기
- C++에서 게임 데이터 저장하고 불러오기
- *.sav 파일
- 블루프린트에서 게임 데이터를 저장하고 불러오기
- 요약
- 11장. 데이터 테이블을 통해 게임 플레이 제어하기
- 데이터 테이블 시트
- 데이터 테이블 애셋 생성하기
- 데이터 구조체 생성하기
- 블루프린트 데이터 구조체
- C++ 데이터 구조체
- 데이터 테이블에서 읽어오기
- 요약
- 12장. 근사한 사운드
- 오디오 파일 가져오기
- 사운드 애셋
- 사운드 큐 편집기
- 오디오 볼륨
- 사운드 효과 재생하기
- 요약
- 13장. 게임 성능 프로파일링
- 블루프린트 디버거
- 충돌 분석기
- 콘솔
- FPS 차트
- 화면 모드와 시각화
- GPU 시각화
- 장치 관리자
- 장치 프로파일
- 요약
- 14장. 게임 패키지 생성
- 빌드를 하기 위한 프로젝트 준비하기
- 패키지 설정하기
- 맵과 모드의 설정
- 설명 설정
- 플랫폼 설정
- 몇 가지 화면 추가하기
- 게임 패키지화하기
- 콘텐츠 굽기
- 프로젝트 런처와 DLC
- 배포 패키지화하기
- 패치나 DLC 패키지화하기
- 요약