언리얼 엔진 4로 나만의 게임 만들기 [레벨 디자인부터 AI 프로그래밍까지]
- 원서명Learning Unreal Engine Game Development (ISBN 9781784398156)
- 지은이조안나 리(Joanna Lee)
- 옮긴이진석준, 이진오
- ISBN : 9788960779525
- 28,000원
- 2016년 12월 28일 펴냄 (절판)
- 페이퍼백 | 300쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/unreal-engine)
요약
언리얼 엔진 4에 대한 큰 그림을 그려주고 이를 통해 무엇을 할 수 있는가를 짚어주는 책이다. 한 주제에 대해 깊게 들어가지는 않지만 언리얼 엔진이 가지고 있는 큰 기능의 범주를 하나씩 짚어가면서 무엇이 가능한지 설명과 예제를 통해 알려준다. 언리얼 엔진의 개념부터 시작해서 에디터, 레벨 구성, 오브젝트, 라이팅, 애니메이션, AI, 파티클, 사운드, 지형, 시네마틱으로 진행되며, 책을 읽고 나면 내 손에 주어진 언리얼 엔진이라는 도구를 어떻게 유용하게 사용할 수 있을지 방향을 잡을 수 있다.
이 책에서 다루는 내용
■ 게임 엔진과 언리얼 엔진의 역사, 게임 스튜디오의 게임 제작 방법 소개
■ 언리얼 엔진 4의 에디터 제어와 게임 레벨 안에 위치하는 방 제작
■ 게임 오브젝트의 기본 구조 이해
■ 레벨 블루프린트를 활용해 상호작용이 가능한 오브젝트 제작
■ 컴퓨터 그래픽 렌더링 심화 학습
■ 머티리얼 에디터를 통한 머티리얼 제작과 게임 레벨 안에서 다양한 형태의 조명 활용 방법
■ 언리얼 엔진 4로 게임을 만들기 위해 필요한 UI, 파티클 시스템, 오디오, 터레인 조작 방법과 시네마틱 등에 활용되는 다양한 에디터와 툴, 기능 사용 방법
이 책의 대상 독자
게임 개발을 시작하는 사람, 그리고 게임이 어떻게 만들어지는지 알고 싶은 모든 사람들을 위한 책이다.
이 책의 구성
1장, ‘언리얼 엔진 개요’에서는 게임 엔진이란 무엇인지에 대해 간략하게 소개한다. 특히 언리얼 엔진 4와 그 역사에 초점을 맞추어 살펴본다. 언리얼 엔진 4의 주요 기능과, 이를 통해 어떻게 게임을 개발할 수 있는지 알 수 있다.
2장, ‘레벨 만들기’에서는 박스 브러시를 사용해 방을 만드는 방법, 그리고 벽과 마루에 텍스처를 입히기 위해 재질을 추가하는 방법을 살펴본다. 아울러 방의 외관을 강화하기 위해 스태틱 오브젝트를 배치하는 방법에 대해서도 알아본다.
3장, ‘게임 오브젝트’에서는 스태틱 메시로 알려진 간단한 오브젝트 유형의 구조를 알아보고, 언리얼에서 어떻게 오브젝트들이 서로 상호작용하는지에 대해 알아본다. 또한 언리얼 엔진 4에서 스크립트를 시각적으로 표현하는 도구인 블루프린트를 소개한다.
4장, ‘재질과 조명’에서는 자기만의 기본 커스텀 재질을 만드는 방법, 레벨의 인테리어를 밝게 하기 위해 간단한 조명을 사용하는 방법을 배워, 레벨을 좀 더 자세하게 커스터마이징해본다.
5장, ‘애니메이션과 AI’에서는 언리얼 엔진에서 애니메이션이 동작하는 방법과 게임 레벨에 간단한 AI를 구현하는 방법에 대해 알아본다.
6장, ‘파티클 시스템과 사운드’에서는 레벨에 시각적/청각적 효과를 추가하는 방법을 설명한다.
7장, ‘터레인과 시네마틱’에서는 터레인을 조작하고 시네마틱을 추가해 레벨을 마지막으로 가다듬는 방법을 보여준다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
목차
목차
- 1장. 언리얼 엔진 개요
- 게임에서는 어떤 일들이 벌어지는가?
- 게임 엔진이란 무엇인가?
- 언리얼 엔진의 역사
- 게임 개발
- 아티스트
- 시네마틱 크리에이터
- 사운드 디자이너
- 게임 디자이너
- 프로그래머
- 언리얼 엔진 4의 컴포넌트
- 사운드 엔진
- 물리 엔진
- 그래픽 엔진
- 입력과 게임플레이 프레임워크
- 라이트와 그림자
- 포스트 프로세스 이펙트
- 인공지능
- 온라인과 멀티플랫폼 지원
- 언리얼 엔진과 강력한 에디터
- 언리얼 에디터
- 재질 에디터
- 캐스케이드 파티클 시스템
- 페르소나 스켈레탈 메시 애니메이션
- 랜드스케이프: 폴리지와 거대한 야외 지형 만들기
- 사운드 큐 에디터
- 마티네 에디터
- 블루프린트 비주얼 스크립팅 시스템
- 언리얼 프로그래밍
- 언리얼 오브젝트
- 언리얼 에디터 초보자 가이드
- 시작 메뉴
- 프로젝트 브라우저
- 콘텐츠 브라우저
- 툴바
- 뷰포트
- + 씬 아웃라이너
- 모드
- 요약
- 2장. 레벨 만들기
- 사전 설정된 레벨 둘러보기
- 새로운 프로젝트 생성하기
- 뷰포트 사용하기
- 뷰
- 제어 키
- 새로운 맵에서 레벨 만들기
- BSP 박스 브러시를 사용해 그라운드 만들기
- 유용한 팁: 쉽게 오브젝트를 선택하는 법
- 유용한 팁: 대상을 추가하기 위해 모드를 변경하는 법
- 레벨에 라이트 추가하기
- 유용한 팁: 레벨에 오브젝트 배치하기
- 레벨에 하늘 추가하기
- 플레이어 스타트 지점 추가하기
- 유용한 팁: 레벨에서 오브젝트 회전시키기
- 생성한 레벨 살펴보기
- 레벨 저장하기
- 맵을 시작 레벨로 설정하기
- 지표면에 재질 추가하기
- 벽 추가하기
- 벽 복사하기
- 열리는 문 만들기
- 벽에 재질 추가하기
- 방 밀폐하기
- 방에 소품(스태틱 메시) 추가하기
- Lightmass Importance Volume 추가하기
- 마무리하기
- 유용한 팁: 드래그 스냅 그리드 활용하기
- 요약
- 3장. 게임 오브젝트
- BSP 브러시
- 배경
- 브러시 타입
- 브러시 입체
- 스태틱 메시
- BSP 브러시와 스태틱 메시
- 이동 가능한 스태틱 메시 만들기
- 재질
- 언리얼에서 재질 만들기
- 재질과 텍스처
- 텍스처/UV 매핑
- 텍스처 맵 만들고 사용하기
- 멀티텍스처링
- 텍스처 맵의 특별한 형태: 노멀 맵
- 정밀도
- 충돌
- 충돌 설정 속성
- Simulation Generates Hit Events
- Generate Overlap Events
- Collision Presets
- Collision Enabled
- Object Type
- Collision Responses
- Collision Hulls
- 상호작용
- 충돌 설정 속성
- 스태틱 메시 생성 파이프라인
- 볼륨
- Blocking Volume
- Camera Blocking Volume
- Trigger Volume
- Nav Mesh Bounds Volume
- Physics Volume
- Pain Causing Volume
- Kill Z Volume
- Level Streaming Volume
- Cull Distance Volume
- Audio Volume
- PostProcess Volume
- Lightmass Importance Volume
- 블루프린트 소개
- 레벨 블루프린트
- Trigger Volume을 활용한 조명 작동
- Trigger Volume을 활용해 조명 켜고 끄기
- 요약
- BSP 브러시
- 4장. 재질과 조명
- 재질
- 재질 에디터
- 렌더링 시스템
- 물리 기반 셰이딩 모델
- 고급 셰이딩 언어
- 시작하기
- 간단한 커스텀 재질 생성하기
- 간단한 텍스처를 사용해 커스텀 재질 생성하기
- 커스텀 재질을 활용해 레벨 바꾸기
- 렌더링 파이프라인
- 셰이더
- API: 다이렉트X와 OpenGL
- 다이렉트X
- 다이렉트X 12
- 파이프라인 상태 표시
- 워크 서브미션
- 리소스 접근
- 다이렉트X
- 조명
- 포인트 라이트 설정
- Attenuation Radius
- Intensity
- 컬러
- 스포트 라이트 추가하고 설정하기
- Inner Cone Angle과 Outer Cone Angle
- IES 프로파일 활용하기
- IES 라이트 프로파일 다운로드
- 언리얼 엔진 에디터로 IES 프로파일 임포트하기
- IES 프로파일 활용하기
- 디렉셔널 라이트 추가하고 설정하기
- 예제 스카이 라이트 추가하고 설정하기
- 스태틱, 스테이셔너리, 무버블 라이트
- 일반적인 조명과 그림자의 정의
- 스태틱 라이트
- 스테이셔너리 라이트
- 무버블 라이트
- 예제: 게임 레벨 확장하기(선택사항)
- 유용한 팁
- 가이드라인
- 포인트 라이트 설정
- 요약
- 5장. 애니메이션과 AI
- 애니메이션이란 무엇인가?
- 3D 모델 애니메이션의 이해
- 애니메이션을 위한 준비
- 애니메이션은 어떻게 만들어지는가?
- 언리얼 엔진 4가 게임 애니메이션을 위해 제공하는 것
- 마야/3ds 맥스에서 애니메이션 가져오기
- 튜토리얼: 마켓플레이스에서 애니메이션 팩 가져오기
- 페르소나로 무엇을 할 수 있는가?
- 튜토리얼: Pawn에 애니메이션 지정하기
- 애니메이션 블렌딩이 필요한 이유
- 튜토리얼: 블렌드 애니메이션 만들기
- 튜토리얼: 블렌드 애니메이션을 쓰기 위해 애니메이션 블루프린트 설정하기
- 마야/3ds 맥스에서 애니메이션 가져오기
- 인공지능
- 비헤이비어 트리의 이해
- 예제: 비헤이비어 트리의 로직 설계하기
- 예제: 간단한 비헤이비어 트리 만들기
- 언리얼 엔진 4에서 비헤이비어 트리 적용하기
- 내비게이션 메시
- 튜토리얼: 내비게이션 메시 생성하기
- 튜토리얼: AI 로직 설정하기
- 블루프린트 AIController 만들기
- 블루프린트 캐릭터 만들기
- 캐릭터 블루프린트에 메시 추가하고 설정하기
- 캐릭터 블루프린트에 AIController 연결하기
- 기본 애니메이션 추가하기
- AIController 설정하기
- 이벤트 그래프에 노드 추가하기
- 이동 속도 조절하기
- BlackBoardData 만들기
- 비헤이비어 트리 만들기
- Wait 태스크를 사용해 간단한 비헤이비어 트리 만들기
- 비헤이비어 트리 사용하기
- 비헤이비어 트리에서 커스텀 태스크 만들기
- 비헤이비어 트리에서 PickTargetLocation 커스텀 태스크 사용하기
- Wait 태스크를 Move To로 변경하기
- 게임에 AI 적용하기
- 요약
- 6장. 파티클 시스템과 사운드
- 파티클 시스템이란 무엇인가?
- 만들어진 파티클 시스템 둘러보기
- 파티클 시스템의 주요 컴포넌트
- 모듈
- 파티클 시스템의 디자인 원칙
- 연구
- 반복적인 창조 과정
- 예제: 벽난로 파티클 시스템 만들기
- P_Fireplace 만들기
- 솔로로 이미터 관찰하기
- 필요하지 않은 이미터 삭제하기
- Flame 이미터 수정에 집중하기
- 파티클 시스템 전체를 보기
- P_Fireplace 만들기
- 사운드와 음악
- 게임에 사용할 사운드와 음악은 어떻게 만들까?
- 오디오 품질
- 사운드는 어떻게 녹음될까?
- 언리얼 오디오 시스템
- 언리얼로 오디오 가져오기
- 오디오 포맷
- 샘플링 레이트
- 비트 뎁스
- 지원하는 사운드 채널
- 언리얼 사운드 포맷과 용어
- 사운드 큐 에디터
- 사운드 큐 에디터 열기
- 예제: 언리얼 에디터로 사운드 가져오기
- 예제: 레벨에 커스텀 사운드 추가하기
- 사운드 큐 에디터 설정하기
- 요약
- 터레인 조작 소개
- 7장. 터레인과 시네마틱
- 예제: 랜드스케이프 툴로 언덕 만들기
- 랜드스케이프 제작 옵션들
- 여러 개의 랜드스케이프
- 커스텀 재질 사용하기
- 하이트 맵과 레이어 가져오기
- 스케일
- 컴포넌트의 개수
- 섹션 크기
- 시네마틱 소개
- 왜 컷씬이 필요할까?
- 시네마틱 테크닉
- 카메라 조절 관련 기능
- 줌
- 시야
- 피사계 심도
- 카메라 움직임
- 틸트
- 팬
- 돌리/트럭/트랙
- 페데스탈
- 씬 캡처하기
- 조명
- 프레임
- 샷 계획
- 카메라 조절 관련 기능
- 언리얼 마티네 에디터 익숙해지기
- 예제: 간단한 마티네 시퀀스 만들기