언리얼 엔진 블루프린트 비주얼 스크립팅 [세 가지의 매력적인 3D 게임을 만들며 언리얼의 블루프린트 비주얼 스크립팅 배우기]
- 원서명Unreal Engine Blueprints Visual Scripting Projects: Learn Blueprints Visual Scripting in UE4 by building three captivating 3D Games (ISBN 9781789532425)
- 지은이로렌 페로(Lauren S. Ferro)
- 옮긴이김제룡, 배상하
- ISBN : 9791161753812
- 40,000원
- 2019년 12월 31일 펴냄
- 페이퍼백 | 532쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
언리얼 엔진 4 입문자용 책으로 언리얼 엔진 4의 수많은 기능 중에서도 게임 개발에 꼭 필요한 핵심 기능을 설명한다.
블루프린트만 사용해 세 가지 게임을 단계별로 만들고, 언리얼 엔진 4를 처음 접하는 사람도 어렵지 않도록 단순하고 쉽게 설명한다. 머티리얼, AI, UMG, 멀티플레이어 네트워크 등 전반적인 기능을 경험하기 좋은 입문서다.
이 책에서 다루는 내용
■ 언리얼 및 기본 컴포넌트 설정
■ 게임 오브젝트에 기본적인 이동 추가 및 콜리전 메커니즘 추가
■ 플레이어 상호작용을 확장하기 위한 인터페이스 설계 및 구현
■ UI와 함께 실시간으로 채워지는 인벤토리 시스템을 상호작용하도록 생성
■ 게임 환경의 다양한 부분에 이벤트 트리거에 기반한 오디오 효과 추가
■ 분석 정보를 사용해 게임 밸런스를 적절하게 조정
■ 멀티플레이어 게임에서 월드 주변을 감지하는 복잡한 AI 적 생성
■ 게임을 여러 플랫폼에 배포하고 전 세계와 공유
이 책의 대상 독자
독자가 어떠한 사전 지식도 없다고 가정한다. 심지어 언리얼이 설치돼 있지도 않은 신입 게임 개발자거나 언리얼 엔진 4 블루프린트 비주얼 스크립팅 시스템을 이제 막 시작하는 사람이라도 볼 수 있다.
이 책의 구성
1장, ‘언리얼 시작’에서는 이 책을 읽는 데 필요한 배경지식인 언리얼 엔진의 필수적인 부분을 배운다. 첫 번째 레벨을 제작하며 게임 오브젝트를 추가하고 머티리얼을 적용해 나머지 장을 배울 준비를 한다.
2장, ‘블루프린트의 기본 이해하기’에서는 1장 내용을 기반으로 블루프린트에 관련된 지식을 배우고 강화한다. 게임 오브젝트의 기본적인 움직임을 추가하고, 충돌 메커니즘을 생성과 트리거 제작을 배운다.
3장, ‘상호작용 개선하기’에서는 오브젝트의 인터페이스를 설명하고 플레이어의 상호작용을 확장하는 데 사용하는 방법을 배운다. 또한 블루프린트 함수 생성, 블루프린트를 사용하기에 적합한 시기, 다른 사람이 읽기 쉽게 만드는 방법, 블루프린트를 모듈화해 재사용할 수 있게 만드는 방법을 설명한다. 마지막으로 경유 노드를 생성하는 방법도 소개한다.
4장, ‘UI 요소 추가하기’에서는 UI/HUD/GUI의 기본 정의와 게임 디자인에서의 중요성을 강조해서 설명한다. 또한 UI/HUD/GUI 요소를 언리얼 프로젝트에 구현하는 방법도 다룬다. 마지막으로 이러한 요소를 게임플레이에 연결하는 방법을 배운다(예: 플레이어가 오브젝트와 충돌하면 체력 바가 줄어들도록 만들기).
5장, ‘인벤토리 추가하기’에서는 이전 장들의 내용을 확장한다. 플레이어가 수집하고 찾아낸 아이템을 사용할 수 있는 인벤토리 시스템을 만드는 방법을 다룬다. 플레이어가 아이템(체력, 무기 및 탄약, 마법)을 줍고 수집할 수 있도록 하는 블루프린트 스크립트를 만들고 다음으로 수집된 아이템을 인벤토리에 추가하는 방법과 플레이어가 아이템을 사용하는 방법을 배운다.
6장, ‘모험요소 만들기’에서는 기본적인 레벨 디자인과 게임 환경을 제작하는 방법을 설명한다. 또한 기본적인 퀘스트 시스템을 만드는 방법과 오브젝트와 데미지를 주고받는 방법을 배운다.
7장, ‘AI로 생동감 넣기’에서는 언리얼의 AI와 AI 컨트롤러의 동작 방식을 소개한다. 그리고 간단한 AI를 만들면서 언리얼 AI를 이해한 내용을 8장에서 확장한다.
8장, ‘게임플레이 업그레이드’에서는 AI 적을 파괴할 수 있는 인게임 시나리오를 만드는 방법을 설명한다. 또한 플레이어, 적, 아이템의 리스폰 시스템을 만드는 방법도 소개한다. 다음으로 플레이어의 승리 또는 패배를 결정하는 게임 플레이 조건을 정의한다. 마지막으로 플레이어가 승리 또는 패배하는(예: 죽어가는) 게임 상태를 만드는 방법을 설명한다.
9장, ‘AI 업그레이드’에서는 AI에 더 깊이 들어가 비헤이비어 트리의 모든 기능을 활용해 역동적인 AI를 만드는 방법을 설명한다.
10장, ‘오디오 추가하기’에서는 게임 환경의 다양한 부분에 오디오 효과를 추가하는 방법을 알려준다. 언리얼 엔진 4 오디오 시스템의 개요를 설명하고 엠비언트 사운드를 생성하는 방법을 배운다.
11장, ‘멋있게 만들기’에서는 블루프린트를 사용해 다양한 이펙트, 기본적인 다이나믹 머티리얼, 파티클 효과를 추가하는 방법과 블루프린트 내에서 이들을 트리거하는 방법을 설명한다.
12장, ‘게임 분석, 디버깅, 펑셔널 테스트’에서는 플레이어 분석의 중요성과 게임의 밸런스를 조정하는 방법, 개발용 세션 프론트엔드를 사용하는 방법을 다룬다. 또한 적은 오차로 더 빠르게 반복 작업을 하기 위해 블루프린트에 내장된 다양한 디버깅 및 자동화된 테스트 기능을 자세히 설명한다.
13장, ‘레벨 스트리밍 및 월드 컴포지션’에서는 레벨 스트리밍을 사용해 월드/실내/전투 맵 시스템을 만들고 게임 루프와 함께 매끄럽게 동작하는 방법을 설명한다.
14장, ‘사냥개 애니메이션하기’에서는 이 책의 세 번째이자 마지막 프로젝트를 시작한다. 특히 사냥개를 애니메이션하는 방법을 배우면서 애니메이션 블루프린트를 살펴본다. 멀티플레이어 게임의 기초도 알아본다.
15장, ‘데이터 주도형 게임플레이’에서는 게임플레이를 만들기 위한 데이터 테이블의 중요성과 이들을 효과적으로 블루프린트에 통합하는 방법을 설명한다. 이로 인해 디자이너는 훨씬 많은 반복 작업을 줄일 수 있으며 프로세스는 블루프린트로 자동화된다.
16장, ‘멀티플레이어 기초’에서는 간단한 로컬 멀티플레이어 설정, 멀티플레이어의 스폰 시스템 및 공유 카메라를 만드는 방법을 설명한다. 이미 다룬 내용이지만 유저들이 멀티플레이어 환경에 있기 때문에 확장해 다룬다.
17장, ‘멀티플레이어 설정 확장하기’에서는 이전 장에서 다룬 멀티플레이어 설정을 확장한다. 플레이어가 게임을 생성하고 참여해 상호작용할 수 있도록 로비 메뉴 시스템을 만드는 방법을 배운다. 또한 모든 것이 원활하게 실행되는지 테스트하고 확인하는 방법도 설명한다.
18장, ‘추가 기능 더하기’에서는 플레이어 간에 정보가 이동하도록 이벤트와 변수들을 올바르게 리플리케이트하는 방법을 설명한다.
19장, ‘빌드 및 퍼블리싱’에서는 게임을 패키징하는 것이 버튼을 누르는 것처럼 간단해 보이지만 실제로는 그렇지 않다는 것을 설명한다. 특히 언리얼 같은 엔진의 경우 패키징은 중요한 단계며 패키지로 익스포트하기 전에 다양한 옵션을 잘 이해하고 있어야 한다.
상세 이미지
목차
목차
- 1장. 언리얼 시작
- 언리얼과 프로젝트 설정하기
- 언리얼 마켓
- 프로젝트에 필요한 것
- 간단한 플랫폼 게임(1장에서 6장)
- 생존 미로 탐험가(7장에서 13장)
- Sci-FPS(14장에서 19장)
- 게임을 위한 프로젝트 생성 #1
- 네이밍 컨벤션
- 블루프린트란 무엇인가
- 머티리얼을 활용한 창의력 발휘하기
- 첫 번째 머티리얼 만들기
- 머티리얼에 빛나는 효과 주기
- 블루프린트로 머티리얼 사용하기
- 빛나는 다이나믹 머티리얼
- 블루프린트에서 머티리얼 수정하기
- 환경에 라이트 추가하기
- 블루프린트로 라이트 사용하기
- 배운 내용 확장하기
- 요약
- 언리얼과 프로젝트 설정하기
- 2장. 블루프린트의 기본 이해하기
- 블루프린트의 개요와 워크플로우
- 속도
- 컬러 스키마
- 레벨 블루프린트와 클래스 블루프린트 소개
- 레벨 블루프린트
- 클래스 블루프린트
- 충돌 체크
- 트리거 – 트리거를 생성하고 활성화하는 방법
- 블루프린트를 이용해 이벤트 트리거하기
- 블루프린트를 사용해 이벤트 트리거하기: 움직이는 플랫폼
- 배운 내용 확장하기
- 요약
- 요약
- 블루프린트의 개요와 워크플로우
- 3장. 상호작용 개선하기
- 블루프린트 함수
- 블루프린트를 읽기 쉽고 확장하기 쉽게 유지하기
- 경유 노드
- 시퀀스 노트
- 코멘트
- 대화형 오브젝트의 블루프린트 인터페이스
- 블루프린트 인터페이스 생성하기
- 액터에 인터페이스 구현하기
- 커스텀 이벤트로 플랫폼 이동하기
- 키 바인딩 설정하기
- 플레이어와 대화형 오브젝트의 상호작용
- 배운 내용 확장하기
- 요약
- 4장. UI 요소 추가하기
- UI와 GUI, HUD의 차이점
- UI: 유저 인터페이스
- GUI: 게임 유저 인터페이스
- HUD: heads up display
- 언리얼 모션 그래픽 UI 디자이너(UMG)
- 논다이제틱(두 개의 메뉴)
- 상호작용을 위해 E 누르기
- 메타
- 배운 내용 확장하기
- 요약
- UI와 GUI, HUD의 차이점
- 5장. 인벤토리 추가하기
- 획득하고 수집하는 아이템
- 인벤토리 생성하기
- 인벤토리를 나타나고 사라지게 만들기
- 아이템 수집하기
- 배운 내용 확장하기
- 요약
- 6장. 모험요소 만들기
- 기본 레벨 디자인
- 게임 환경 조성하기
- 목표
- 기본 퀘스트 시스템 만들기
- 퀘스트 정보를 전달하는 NPC와의 상호작용 만들기
- 퀘스트 UI 생성하기: 디자인
- 퀘스트 UI 생성하기: 기술 측면
- 퀘스트 상태
- 퀘스트 매니저
- 파란 간판에 불 붙이기 -> 제목 확인
- 지붕에 도착하기 -> 제목 확인
- 문 열기
- 환경에 블루프린트 배치하기
- 배운 내용 확장하기
- 요약
- 기본 레벨 디자인
- 7장. AI로 생동감 넣기
- 비헤이비어 트리와 블랙보드 소개
- 비헤이비어 트리란 무엇인가
- 블랙보드란 무엇인가
- AI 프로젝트 만들기
- 블랙보드 생성하기
- 비헤이비어 트리 준비하기
- 내비게이션 추가
- AI 캐릭터 임포트하기
- AI 컨트롤러 설정하기
- 배운 내용 확장하기
- 요약
- 비헤이비어 트리와 블랙보드 소개
- 8장. 게임플레이 업그레이드
- 프로젝트 설정하기
- (어딘가에 있는)최종 문
- 수집 가능한 아이템
- 승리 조건
- AI 파괴하기
- 적군을 위한 스폰 시스템 만들기
- 레벨 재시작하기
- 배운 내용 확장하기
- 요약
- 9장. AI 업그레이드
- 시야를 가지는 AI
- 데이터로 가득 찬 블랙보드
- 추적 행동 만들기
- 서비스로 값 업데이트하기
- 데코레이터 사용하기
- 추적 태스크 만들기
- 플레이어의 마지막 위치로 이동해 배회하기
- 비헤이비어 트리 실행하기
- 배운 내용 확장하기
- 요약
- 10장. 오디오 추가하기
- 게임에서 사운드 사용
- 언리얼에서 사운드 기초
- 사운드 애셋 유형
- 프로젝트에 오디오 추가하기
- 환경(앰비언트) 오디오 추가하기
- 다양한 상호작용에 오디오 효과 추가하기
- 무기 발사하기
- 아이템 수집하기
- 배운 내용 확장하기
- 요약
- 11장. 멋있게 만들기
- 다이내믹 머티리얼
- 채워지는 머티리얼 생성하기
- 머티리얼을 위한 블루프린트 생성
- LIT 시작하기
- 라이트 모빌리티
- 라이트 모빌리티
- 블루프린트를 통해 게임플레이에서 파티클 매개변수 다루기
- 배운 내용 확장하기
- 요약
- 12장. 게임 분석과 디버깅, 펑셔널 테스팅
- 게임 분석
- 블루프린트 분석 플러그인
- 게임 내 분석기능 구현하기
- 세션 시작하기
- 세션 끝내기
- 플레이어가 아이템을 수집할 때 이벤트 기록하기
- 킬과 승리와 패배 기록하기
- 결과 살펴보기
- 블루프린트 디버깅
- 중단점
- 디버그 탭
- 일반적인 블루프린트 문제들
- 게임 밸런스
- 펑셔널 테스트
- 게임의 펑셔널 테스트
- 펑셔널 테스트를 위한 세션 프론트엔드
- 세션 프론트엔드: 프로파일링 툴
- 레벨 디자인
- 배운 내용 확장하기
- 요약
- 게임 분석
- 13장. 레벨 스트리밍과 월드 컴포지션
- 레벨 스트리밍
- 블루프린트로 레벨 로딩하기
- 예제: 성 스트리밍
- 블루프린트로 레벨 언로드하기
- 월드 컴포지션
- 월드 컴포지션 활성화하기
- 레벨 탭 이해하기
- 월드 컴포지션 예제
- 원점 이동
- 요약
- 레벨 스트리밍
- 14장. 사냥개 애니메이션하기
- 세 번째 프로젝트 설정 및 계획
- 프로젝트 설정
- 게임
- 사냥개 메시 임포트 및 설정
- 1D_블렌드스페이스
- 애니메이션 블루프린트
- 애니메이션 블루프린트란 무엇인가
- 애니메이션 블루프린트 생성하기
- 이벤트 그래프
- 애니메이션 그래프
- 배운 내용 확장하기
- 요약
- 세 번째 프로젝트 설정 및 계획
- 15장. 데이터 주도형 게임플레이
- 구조체란 무엇인가
- 프로젝트에서 구조체 사용하기
- 구조체 생성하기
- 구조체 정보에 접근하기
- 데이터 테이블 사용하기
- 데이터 테이블 만들기
- 엔진 내에서 값 변경하기
- 데이터 테이블값 가져오기
- 컨스트럭션 스크립트 사용하기
- 사냥개 블루프린트 제작하기
- 배운 내용 확장하기
- 요약
- 구조체란 무엇인가
- 16장. 멀티플레이어 기초
- 언리얼 네트워크의 개요
- 멀티플레이어 환경 설정
- 애셋 준비하기
- 은 총알
- 플레이어 블루프린트
- 플레이어 블루프린트 설정하기
- 올바른 매시 숨기기
- 은 총알 발사하기
- 사냥개 블루프린트
- 애니메이션 블루프린트 변수 설정하기
- 사냥개 AI 컨트롤러
- 사냥개 충돌체
- 피해를 받는 사냥개
- 배운 내용 확장하기
- 요약
- 17장. 멀티플레이어 설정 확장하기
- 플레이어 블루프린트 완성하기
- 체력 회복 시스템
- 데미지 입기
- 사냥개의 공격
- 사냥개의 체력 회복 시스템
- 블루프린트의 물기 이벤트
- 애니메이션 블루프린트에서 물기
- 비헤이비어 트리로 플레이어 추적하기
- 배운 내용 확장하기
- 요약
- 플레이어 블루프린트 완성하기
- 18장. 추가 기능 더하기
- 리슨 서버 vs 데디케이트 서버
- 게임 플레이 테스트
- 맵 준비하기
- 테스트 방법
- 수정 #1: 게임 모드를 추가해 올바른 플레이어 클래스를 스폰하기
- 수정 #2: 두 번째 플레이어가 발사체를 볼 수 없는 문제
- 수정 #3: 사냥개가 움직이지 않는 문제
- 수정 #4: 서버가 아닌 두 번째 플레이어가 총을 쏠 때 총알이 총의 위치와 관계 없이 일직선으로만 유지된다
- 친구와 함께 플레이하기
- 리슨 서버에 연결하기
- 우리가 무엇을 놓쳤을까
- 추가 기능을 위한 아이디어
- 일시정지!
- 저장, 불러오기 시스템(세이브 포인트)
- 로딩 화면
- 체크포인트 생성
- 재시작(과 종료)을 위한 옵션 생성
- 배운 내용 확장하기
- 요약
- 19장. 빌드와 퍼블리싱
- 게임 최적화하기
- 로딩 시간 개선하기
- 게임 최적화하기
- 패키징과 퍼블리싱
- 게임 준비
- 패키징 설정
- 패키징
- 온라인 스토어에 배포하기
- 배운 내용 확장하기
- 책 읽기 및 튜토리얼 보기
- 트위치 라이브 스트리밍
- 언리얼 엔진 4 게임 잼
- 유저 그룹
- 포럼과 온라인 네트워크
- 가장 중요한 것은 계속해서 게임을 만드는 것!
- 게임 최적화하기
도서 오류 신고
정오표
정오표
[ 23p : 예제 코드 다운로드 1-2행]
http://www.acornpub.co.kr/book/ue4-bluprints-vs에서 다운로드할 수 있다.
->
http://www.acornpub.co.kr/book/ue4-blueprints-vs에서 다운로드할 수 있다.
[ 77p : 5행 ]
OverlappedComponent 핀이
->
OtherActor 핀이
[ 113p : 3행 ]
In game Paused Node를
->
Is game Paused Node를
[ 117p : 6행 ]
'Press E <br> to interact'
->
'Press "E" <br> to interact'