책 소개
요약
에픽 게임스의 언리얼 UDK를 활용해 100가지가 넘는 과정을 통하여 게임 기획자나 그래픽 아티스트 스스로 게임을 완성해 낼 수 있도록 도와주는 가이드북이다. 다운로드 가능한 예제를 통해 기초부터 응용까지 애셋과 애니메이션, 라이트, 머터리얼, 게임 컨트롤, 사용자 인터페이스, 이펙트, 상호작용 등을 꼼꼼히 다룸으로써 스스로 창의적인 게임을 만들 수 있다. 특히 한국어판 부록을 추가해, UDK 사용자에게 도움이 될 언리얼 엔진 4 내용을 설명했다.
이 책에서 다루는 내용
■ UDK 편집기의 핵심 기능에 대한 이해
■ 사용자 지정 애셋의 처리
■ 레벨 콘텐츠에 속성값 적용
■ 광원에 접근하는 최고의 방법
■ 사용자 지정 캐릭터 애셋 구축
■ 캐릭터의 행동을 다루는 클래스의 구현
■ 게임이 잘 작동되도록 UDK 환경설정에서의 요구되는 과정
■ 이벤트와 액션을 다루기 위한 키즈멧의 기능
■ 향상된 비주얼 효과를 생성하기 위한 캐스케이드 사용방법
■ 스케일폼과 플래시를 이용한 주요 UI 디자인
■ 머터리얼 에디터 네트워크의 처리
■ 레벨 디자인에서의 애니메이션 소개
이 책의 대상 독자
『언리얼 UDK 게임 디자인』은 UDK를 시작하면서 프로그램 실행에 관한 설명이 필요한 게임 아티스트를 위한 책이다. 또한 UDK에 관한 모든 설명이 한데 모여 있어 초보자들이 언제든 쉽게 찾아볼 수 있는 안내서의 역할을 한다. 초보 레벨 작업자들은 이 책을 통해 자신이 에디터에 대해 얼마나 잘 알고 있는지를 가늠해보고 구체적인 문제가 무엇인지, 마치 숨겨진 보물을 찾듯 그동안 몰랐던 부분을 알게 될 것이다.
이 책의 구성
1장, 미리 알아두기: UDK 인터페이스의 필수 요소 - UDK를 시작하기에 앞서 쉬운 작업 몇 가지를 따라 해보고 인터페이스와 UI 규약, 레벨 생성에 대해 알아본다. 또한 PC나 iOS 기반에서 레벨을 테스트해보고 패키지로 묶어 월드로 내보내는 작업까지 다룬다.
2장, 언리얼 월드로부터 온 메시지: 게임 월드의 구성요소 생성 - UDK를 사용하면서 특히 신경 써야 할 콘텐츠 생성 원칙에 대해 알아본다.
3장, 살아 숨 쉬게 하라!: 캐릭터 생성과 애니메이션 - ActorX와 FBX를 이용해 캐릭터가 살아 움직이는 것처럼 동작하게 만드는 방법을 익힘으로써 사용자가 원하는 그대로 캐릭터의 움직임을 완벽하게 구현할 수 있다.
4장, 복잡한 상황에 대처하기: 키즈멧에서 게임플레이의 비주얼 스크립트 작성 - 키즈멧과 키즈멧의 UI뿐만 아니라, 레벨 디자이너에 의한 액터나 오브젝트가 씬 안의 이벤트와 액션에 따라 반응하도록 구성할 수 있게 초기 시나리오에 관한 전반적인 내용을 다룬다.
5장, 운명을 받아들여라!: 키즈멧에서의 복합적 게임 진행 스크립트 작성 - 키즈멧에 좀 더 집중된 내용이 담겨 있다. 5장에서는 마법의 사용, 봇과 상호작용, 레벨 체크포인트 생성 등 게임 진행과 관련한 키즈멧 활용법을 좀 더 알아본다.
6장, 속속들이 살펴보기: UDK의 환경설정과 유용한 편집 도구 - UDK의 세세한 환경설정과 스크립트뿐만 아니라 액터와 키즈멧에 액션을 추가하는 방법을 자세히 설명한다.
7장, 안녕, 나는 아이 캔디라고 해!: 파티클 이펙트를 생성하고 사용하는 방법 - VFX 에디터인 캐스케이드(Cascade)의 무궁무진한 기능에 대해 알아본다. 방사체(Emitter)와 파티클(Particle)을 사용해 레벨 디자인 작업을 향상시키는 방법을 배운다.
8장, 그리고 빛이 있으라!: 레벨 라이트와 그림자 다루기 - 후처리 과정(Post Process) 및 빛과 그림자로 만들 수 있는 모든 것을 실사용 환경으로 어떻게 가져올 것인가를 다룬다.
9장, 살아 움직일 것 같은 디테일한 악마!: 대부분의 머티리얼 만들기 - 머티리얼 에디터를 깊이 있게 다루며, 어떻게 하면 세밀하면서 매끄러운 표면을 만들 수 있는지를 알아본다.
10장, 플래시 UI 사용 방법: 스케일폼과 CLIK, 플래시 인터페이스 - 플래시 애니메이션 사용법과 자신만의 강력한 UI를 만드는 방법에 대해 다룬다.
한국어판 부록, 언리얼 엔진 4 소개: UDK 사용자에게 도움이 될 주요 기능 – 이 책의 옮긴이가 한국어판을 위해 특별히 작성한 부록에서는 언리얼 엔진 4를 소개하고 설치와 폴더 구조, 화면 구성과 변경사항 등을 다루고 언리얼 4의 핵심인 블루프린트에 대해서 설명한다.
목차
목차
- 1장 미리 알아두기: UDK 인터페이스의 필수 요소
- 소개
- UDK 설치와 폴더 구조
- UDK에 쓰이는 콘텐츠
- 새로운 레벨의 시작과 생성, 테스트
- 개인설정
- UI 개발 순서
- 콘텐츠 브라우저 탐색
- 콘텐츠 브라우저에서의 애셋 접근
- 패키지 생성과 관리
- 콘텐츠 가져오기
- 언리얼 프론트엔드에서 맵 만들기
- 모바일 장치 에뮬레이션
- 키즈멧 디버깅
- 2장 언리얼 월드로부터 온 메시지: 게임 월드의 구성요소 생성
- 소개
- BSP 지오메트리 다루기
- 빈 방 생성
- BSP 표면 속성 값 적용
- BSP 브러시로 볼륨 생성
- 씬 안의 스태틱 메시 액터 다루기
- 스태틱 메시 에디터에서 충돌 설정
- 터레인과 데코 레이어, 머티리얼 레이어 생성
- 랜드스케이프 생성
- 포울리지 툴을 이용해 랜드스케이프에 메시 배치
- 캐스케이드에서 증기 기둥 생성
- 3장 살아 숨 쉬게 하라!: 캐릭터 생성과 애니메이션
- 소개
- ActorX 설치와 뼈대 애니메이션 추출
- UDK로 뼈대 메시 콘텐츠 가져오기
- 모프 대상과 .FBX 가져오기
- 소켓 생성
- 소켓을 사용하지 않고 뼈대 메시에 붙이기
- 사용자 지정 애님트리 생성
- 애님트리에서 애니메이션 정의
- 애님트리에 사용할 캐릭터 설정
- 단일 본 제어 체인을 이용한 쭈그려 앉기 애니메이션 오프셋 수정
- PhAT를 이용한 물리 애셋 생성
- 물리 애셋 관절의 회전 값 허용치 추가
- 키 프레임 뼈대 메시에 물리 꼬리 추가
- 추적 목적에 따라 특정 방향으로 머리를 향하게 만들기
- 코드에서 머리 회전을 위한 LookAt 대상 설정
- 코드에서의 모프 가중치 설정
- 마티네를 이용한 뼈대 메시 애니메이션 호출
- 마티네에서 캐릭터 이동에 따른 사운드 효과 처리
- 마티네 외의 요소에 의해 통제되는 애니메이션의 사운드 처리
- 4장 복잡한 상황에 대처하기: 키즈멧에서 게임플레이의 비주얼 스크립트 작성
- 소개
- 키즈멧 UI 필수요소
- 간단한 적군 봇 생성
- 마티네에서 이벤트 기반의 씬 오브젝트 움직임
- 총격 상황에서의 추적 액션
- 게임플레이를 하는 동안 씬 액터 나타내기와 숨기기
- 키즈멧으로 사운드 생성하기
- Take Damage 이벤트를 이용한 폭발 생성
- 지정된 변수의 사용법 이해
- 하위 시퀀스를 이용한 키즈멧 네트워크 정리
- 원격 이벤트를 이용한 키즈멧 네트워크 정리
- 키즈멧을 통한 머티리얼 토글
- 키즈멧을 통한 라이트 토글
- 텍스처 애니메이션처럼 마티네에서 포인트 라이트 애니메이션 처리하기
- 카운트다운에 따른 비교
- 정수 카운터를 이용한 죽은 적군 수 산출
- Gate 액션을 이용한 노드의 진행 제어
- 경로를 따라가는 봇 생성
- 5장. 운명을 받아들여라!: 키즈멧에서의 복합적 게임 진행 스크립트 작성
- 키즈멧 레퍼런스를 포함한 프리팹
- Possess Pawn 액션을 이용한 봇 제어 교체
- 순환 반복을 멈추는 방법
- 시네마틱 카메라 설치
- 시네마틱 카메라에 애니메이션 효과 설정
- 강체를 발생시키는 트리거 이벤트 얻기
- 패턴 기반의 퍼즐 생성
- 플레이어가 오브젝트를 집어 올리고, 다른 곳으로 옮기고, 특정 장소에 놓도록 만들기
- ‘따라다니기’와 ‘이끌기’ 행동 탐색
- 체력 회복 보호막 생성
- 연속적인 세션별 체크포인트 생성
- 6장 속속들이 살펴보기: UDK의 환경설정과 유용한 편집 도구
- 환경설정 기본 값을 조정하기 위한 기초 작업
- 게임 점검을 위한 원격 통제 활성화
- PIE 화면 해상도 변경
- 힌트 불러오기 및 그와 유사한 내용 제거하기
- 4096×4096 텍스처 압축을 지원하도록 DefaultEngine UDK 편집
- 오브젝트를 참조해 플레이어 크기 미리보기 설정
- 플레이어 행동에 키보드 단축키 부여
- 플레이어 속도 조절
- 속도 처리를 위한 키즈멧 노드 생성
- 기본 플레이어 사운드 변경
- HUD 교체
- DrawText와 게임 유형
- 레벨 콘텐츠 스트리밍 다루기
- 공격 효과로부터 오브젝트 스폰하기
- 7장 안녕, 나는 아이 캔디라고 해!: 파티클 이펙트를 생성하고 사용하는 방법
- 소개
- 시간의 변화에 따른 파티클 색상 그래프 편집
- SubUV 차트를 사용해 파티클에 애니메이션 처리
- 특정 파티클의 움직임을 다른 파티클에 추가
- 파티클 충돌 감지 기능 만들기
- 반투명 머티리얼의 정렬 순서 제어
- 파티클 시스템을 사용해 애니메이션되는 텍스처 만들기
- 애님 트레일 타입 데이터로 흔적 만들기
- 파티클 시스템에 LOD 할당
- 핏자국 남기기
- 8장 그리고 빛이 있으라!: 레벨 라이트와 그림자 다루기
- 소개
- 방출하는 빛 만들기
- 정적 광원과 동적 광원 비교
- 채널과 레벨을 이용한 라이트 독점
- 라이트 환경을 통한 그림자 조절
- 거리 필드 그림자
- 반음영과 핫스팟
- 주요 후처리 체인 이용
- 앰비언트 오클루전
- 피사계 심도
- 반투명하거나 알파 기반의 머티리얼로 그림자 작업
- 채광 활성화와 제어
- 렌즈 플레어를 이용해 태양 광선 효과 향상
- 형상을 투영해 커스틱스 생성
- 반투명한 색 유리
- 9장 살아 움직일 것 같은 디테일한 악마!: 대부분의 머티리얼 만들기
- 소개
- 키즈멧의 머티리얼 인스턴스 상수에 애니메이션 부여하기
- 메시가 항상 카메라를 향하도록 설정
- 월드 위치 오프셋을 이용한 직물 효과
- 혼탁한 액체 만들기
- 스캐닝 효과 만들기
- 유리의 빠른 생성
- 머티리얼 간의 전환 만들기
- 정적 큐브맵 생성과 실시간 반사
- 동적 액터로 젖은 표면 반사
- 범프 오프셋을 이용해 홀로그램 효과 만들기
- 상호작용하는 나뭇잎 액터
- 물리 머티리얼을 이용해 모델에 적용된 다양한 타격 효과
- 10장 플래시 UI 사용 방법: 스케일폼과 CLIK, 플래시 인터페이스
- 소개
- 스케일폼으로 개발환경 설정
- 버튼 스킨 이미지 작업
- 커서 디자인과 스크립트
- UDK에서 SWF 콘텐츠 가져오기
- 렌더 텍스처를 사용해 BSP 위에 SWF 배치
- 한국어판 부록, 언리얼 엔진 4 소개: UDK 사용자에게 도움이 될 주요 기능
- 소개
- 언리얼 엔진 4 설치와 폴더 구조
- 언리얼 엔진 4의 화면 구성과 변경사항
- 블루프린트 소개
- 클래스 블루프린트 따라 해보기