언리얼 엔진 5로 개발하는 절차적 콘텐츠 생성(게임 개발 프로그래밍)
PCG로 디자인하는 AAA급 게임 세계
Regular price
$44.94
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
◈ 옮긴이의 말 ◈
게임의 수준이 올라갈수록 우리가 그 속에서 마주하는 세계는 날이 갈수록 거대해지고 정교해지고 있다. 게임의 배경이 되는 광활한 대지가 모니터 너머에 펼쳐지고, 플레이어는 그 속에서 현실감 있는 새로운 세상을 탐험하면서 몰입감을 느낄 수 있다. 특히 AA급 이상의 타이틀, 나아가 AAA급 대작이라면 이러한 3D 게임 환경의 구현은 이제 선택이 아닌 필수불가결한 요소가 된 지 오래다.
3D 월드를 구성하는 데 있어 기획자가 의도한 게임플레이 동선을 설계하는 것은 게임의 뼈대를 세우는 것과 같다. 하지만 뼈대만으로는 생명력을 가질 수 없듯이, 플레이어가 바라보는 레벨의 환경(environment)을 디자인하는 것 또한 그에 못지않은 무게를 지닌다. 특히 게임의 배경이 대자연이라면, 무작위로 자라 있는 나무와 풀, 불규칙하게 흐트러진 바위, 흐르는 물줄기 등 현실 세계의 복잡성을 그대로 담아낸 환경 묘사가 무엇보다 중요하다.
문제는 이러한 고품질의 방대한 환경을 인간의 손으로 일일이 빚어내는 데는 물리적인 한계가 따른다는 점이다. 장인 정신을 발휘해 모든 오브젝트를 수작업으로 배치하는 것은 이상적일 수 있지만, 여기에는 천문학적인 시간과 비용이 소요된다. 더군다나 개발해야 하는 게임이 광활한 대지 위에 끝없는 탐험을 제공해야 하는 '오픈 월드(open-world)' 게임이라면, 그 안을 오로지 수작업만으로 채우는 것은 사실상 불가능에 가까운 일이다. 이러한 난관을 타개하고 개발의 효율성을 극대화하기 위해 등장한 개념이 바로 '절차적 콘텐츠 생성(PCG, Procedural Content Generation)'이다.
이 책은 현재 게임 개발 현장에서 수준급 게임을 개발할 때 표준이나 다름없는 언리얼 엔진5를 기반으로, 절차적 생성 기술을 어떻게 구현하고 활용할 것인지를 심도 있게 다룬다. 독자가 절차적 생성의 개념을 쉽게 이해하고 적용할 수 있도록 체계적으로 구성돼 있으며, 언리얼 엔진의 블루프린트를 활용한 기초적인 생성 기법에서 출발해 점차 복잡하고 정교한 테크닉으로 나아간다. 이 책에서는 단순히 오브젝트를 무작위로 뿌리는 것을 넘어서 나무, 바위, 강과 같은 자연물은 물론 도심 속의 빌딩 숲까지 절차적으로 구축하는 구체적인 방법론을 제시한다. 또한 방대한 월드를 구현할 때 반드시 수반돼야 할 그래픽 에셋의 최적화 기법까지 놓치지 않고 다루므로 실무적인 가치가 매우 높다.
이 책은 예제를 통해 다양한 기법을 소개하고 구현하지만, 번역 과정에서 얻은 가장 큰 수확은 바로 기반이 되는 논리 구조였다. 이 책을 진행하다 보면, 독자가 게임 환경을 절차적으로 생성할 때 필요한 다양한 테크닉을 익히고 본인의 프로젝트 성격에 맞는 환경을 스스로 설계할 수 있도록 단단한 지식의 토대가 마련될 것이다.
자신이 만들고자 하는 게임이 광활한 환경을 필요로 하거나, 혹은 그러한 대작 게임을 개발하고 있는 스튜디오에 몸담고 있는 개발자라면, 이 책은 더할 나위 없는 훌륭한 길잡이가 될 것이다. 이 책이 독자 여러분이 반복적인 작업의 굴레에서 벗어나 더욱 창의적이고 효율적으로 자신만의 세계를 창조해 나가는 데 큰 도움이 되길 바란다.
게임의 수준이 올라갈수록 우리가 그 속에서 마주하는 세계는 날이 갈수록 거대해지고 정교해지고 있다. 게임의 배경이 되는 광활한 대지가 모니터 너머에 펼쳐지고, 플레이어는 그 속에서 현실감 있는 새로운 세상을 탐험하면서 몰입감을 느낄 수 있다. 특히 AA급 이상의 타이틀, 나아가 AAA급 대작이라면 이러한 3D 게임 환경의 구현은 이제 선택이 아닌 필수불가결한 요소가 된 지 오래다.
3D 월드를 구성하는 데 있어 기획자가 의도한 게임플레이 동선을 설계하는 것은 게임의 뼈대를 세우는 것과 같다. 하지만 뼈대만으로는 생명력을 가질 수 없듯이, 플레이어가 바라보는 레벨의 환경(environment)을 디자인하는 것 또한 그에 못지않은 무게를 지닌다. 특히 게임의 배경이 대자연이라면, 무작위로 자라 있는 나무와 풀, 불규칙하게 흐트러진 바위, 흐르는 물줄기 등 현실 세계의 복잡성을 그대로 담아낸 환경 묘사가 무엇보다 중요하다.
문제는 이러한 고품질의 방대한 환경을 인간의 손으로 일일이 빚어내는 데는 물리적인 한계가 따른다는 점이다. 장인 정신을 발휘해 모든 오브젝트를 수작업으로 배치하는 것은 이상적일 수 있지만, 여기에는 천문학적인 시간과 비용이 소요된다. 더군다나 개발해야 하는 게임이 광활한 대지 위에 끝없는 탐험을 제공해야 하는 '오픈 월드(open-world)' 게임이라면, 그 안을 오로지 수작업만으로 채우는 것은 사실상 불가능에 가까운 일이다. 이러한 난관을 타개하고 개발의 효율성을 극대화하기 위해 등장한 개념이 바로 '절차적 콘텐츠 생성(PCG, Procedural Content Generation)'이다.
이 책은 현재 게임 개발 현장에서 수준급 게임을 개발할 때 표준이나 다름없는 언리얼 엔진5를 기반으로, 절차적 생성 기술을 어떻게 구현하고 활용할 것인지를 심도 있게 다룬다. 독자가 절차적 생성의 개념을 쉽게 이해하고 적용할 수 있도록 체계적으로 구성돼 있으며, 언리얼 엔진의 블루프린트를 활용한 기초적인 생성 기법에서 출발해 점차 복잡하고 정교한 테크닉으로 나아간다. 이 책에서는 단순히 오브젝트를 무작위로 뿌리는 것을 넘어서 나무, 바위, 강과 같은 자연물은 물론 도심 속의 빌딩 숲까지 절차적으로 구축하는 구체적인 방법론을 제시한다. 또한 방대한 월드를 구현할 때 반드시 수반돼야 할 그래픽 에셋의 최적화 기법까지 놓치지 않고 다루므로 실무적인 가치가 매우 높다.
이 책은 예제를 통해 다양한 기법을 소개하고 구현하지만, 번역 과정에서 얻은 가장 큰 수확은 바로 기반이 되는 논리 구조였다. 이 책을 진행하다 보면, 독자가 게임 환경을 절차적으로 생성할 때 필요한 다양한 테크닉을 익히고 본인의 프로젝트 성격에 맞는 환경을 스스로 설계할 수 있도록 단단한 지식의 토대가 마련될 것이다.
자신이 만들고자 하는 게임이 광활한 환경을 필요로 하거나, 혹은 그러한 대작 게임을 개발하고 있는 스튜디오에 몸담고 있는 개발자라면, 이 책은 더할 나위 없는 훌륭한 길잡이가 될 것이다. 이 책이 독자 여러분이 반복적인 작업의 굴레에서 벗어나 더욱 창의적이고 효율적으로 자신만의 세계를 창조해 나가는 데 큰 도움이 되길 바란다.
목차
목차
1부 - 절차적 콘텐츠 생성의 기본
1장. 절차적 콘텐츠 생성 소개
__기술적 요구 사항
__PCG란 무엇인가?
__PCG 도구의 사용 위치 및 방법
____언리얼 엔진 PCG 플러그인 소개
____ISM 및 HISM 살펴보기
____HISM과 ISM의 진단 및 성능
__작동 중인 PCG
__PCG 프레임워크 살펴보기
____PCG 사용자 인터페이스
__첫 번째 PCG 그래프 만들기
____PCG 그래프 만들기
____속성 목록
__요약
2장. 첫 번째 숲을 만들어보자!
__기술적 요구 사항
__퀵셀에서 에셋 다운로드하기
____PCG 사용을 위한 데이터 최적화
____마켓플레이스의 더 많은 무료 에셋
__랜드스케이프 설정
__PCG 그래프 시작하기
__Static Mesh Spawner 수정하기
__숲에 다양한 초목 추가하기
____숲에 잔디 추가하기
____숲에 바위 추가하기
__숲 PCG 툴 개선
____PCG 그래프 내에서 노드 설정하기
__최적화 및 성능 조언
____지오메트리 분포
____모범 사례
____PCG 볼륨 크기 조정하기
__요약
3장. PCG 컴포넌트로 블루프린트 제작하기
__기술적 요구 사항
__PCG 그래프 준비
__PCG 블루프린트 만들기
__오버라이드 함수 구성
____Execute with Context
____PCG 및 포인트 루프 통합
____포인트 루프 바디
____변환 노드와 임의 벡터 변수
____액터 블루프린트 빌드
__PCG 그래프에서 노드 연결하기
__요약
4장. 절차적 콘텐츠 생성 도구 개발 및 최적화하기
__기술적 요구 사항
__모델에 익숙해지기
__액터 블루프린트 안에 변수 추가하기
____변수 및 박스 콜리전 컴포넌트 설정하기
__PCG 그래프 개선 및 수정하기
____PCG 그래프 최종 조정하기
__PCG 도구 최적화 및 개선
____폴리지
____PCG 도구의 추가 변수
__요약
2부 - 언리얼 엔진 5에서 PCG의 강력한 기능 활용하기
5장. PCG 그래프를 사용한 Spline 컨트롤러 구성하기
__기술적 요구 사항
__폴리지 및 포레스트 액터 블루프린트 만들기
____폴리지 만들기
____포레스트 액터 블루프린트 생성
__PCG 그래프 만들기
____PCG_Foliage
____PCG_Foliage 테스트
____PCG 물
____PCG 숲에 통합하기
__더 나은 결과를 위해 조정하기
__요약
6장. 랜드스케이프 머티리얼로 PCG 그래프 만들기
__기술적 요구 사항
__모델에 익숙해지기
____랜드스케이프 머티리얼
____Landscape 도구
__액터 블루프린트
__PCG 그래프
____Attribute Filter
__Mud 레이어
__Ground 레이어
__Snow 레이어
__요약
7장. PCG Spline 컨트롤러를 사용해 빌딩 만들기
__기술적 요구 사항
__퀵셀 메가스캔 모델
__건물 구조 액터 블루프린트 설정
____오프셋 매크로 만들기
____PCG 그래프 구성하기
____액터 블루프린트의 PCG 파라미터
____오프셋 지오메트리 수정
__수직 확장
____벽 복제하기
____벽면 메시 적용
____구조 마무리하기
__요약
8장. 바이옴 구성하기: 풍부한 환경을 위한 PCG 마스터하기
__기술적 요구 사항
__폴리지 에셋에 익숙해지기
____랜드스케이프 텍스처
____프로젝트 랜드스케이프 개요
__PCG Biome 플러그인 설정하기
____바이옴 코어
__바이옴 텍스처 투영
__바이옴 텍스처 설정
__바이옴에 나무 구성하기
__덤불 바이옴 구성
__요약
9장. PCG로 역동적인 애니메이션 군중 만들기
__기술적 요구 사항
__Mixamo 캐릭터로 작업하기
____Mixamo 캐릭터 블루프린트 개발
__랜덤 정수 함수를 사용해 Skeletal Mesh 교환하기
__캐릭터 구성
__PCG 크라우드 블루프린트 설정
__PCG 크라우드 그래프 설정
__요약
3부 - 최적화 마스터하기 및 PCG 환경 개선하기
10장. 최적화, 디버깅 및 성능 도구 살펴보기
__기술적 요구 사항
__다양한 최적화 기법 살펴보기
____최적화, 복잡성 및 성능
____콜리전
____모듈화 및 재사용성
____나나이트
____PCG 스탬프 만들기
____스태틱 메시 스포너
____WPO 거리 활성화
____디스턴스 필드 조명
____텍스처 최적화
__디버깅 도구 살펴보기
__성능 도구 사용
____CPU 프로파일링
____확장성 설정 선택
__요약
11장. 치트 시트, 추가 팁 및 바로 가기
__기술적 요구 사항
__PCG 볼륨 샘플
____Surface Sampler
____Volume Sampler
____Create Points Grid
____Get Texture Data
____Sample Texture
____Density Remap
____Density Filter
____Self Pruning
____Bounds Modifier
__PCG 볼륨 스플라인
____Spline Sampler (On Interior)
____Projection
____Spline Sampler (On Spline)
____Difference
____Copy Points
____Spawn Actor
____Mesh Sampler와 Set Mesh As Attribute
__요약
1장. 절차적 콘텐츠 생성 소개
__기술적 요구 사항
__PCG란 무엇인가?
__PCG 도구의 사용 위치 및 방법
____언리얼 엔진 PCG 플러그인 소개
____ISM 및 HISM 살펴보기
____HISM과 ISM의 진단 및 성능
__작동 중인 PCG
__PCG 프레임워크 살펴보기
____PCG 사용자 인터페이스
__첫 번째 PCG 그래프 만들기
____PCG 그래프 만들기
____속성 목록
__요약
2장. 첫 번째 숲을 만들어보자!
__기술적 요구 사항
__퀵셀에서 에셋 다운로드하기
____PCG 사용을 위한 데이터 최적화
____마켓플레이스의 더 많은 무료 에셋
__랜드스케이프 설정
__PCG 그래프 시작하기
__Static Mesh Spawner 수정하기
__숲에 다양한 초목 추가하기
____숲에 잔디 추가하기
____숲에 바위 추가하기
__숲 PCG 툴 개선
____PCG 그래프 내에서 노드 설정하기
__최적화 및 성능 조언
____지오메트리 분포
____모범 사례
____PCG 볼륨 크기 조정하기
__요약
3장. PCG 컴포넌트로 블루프린트 제작하기
__기술적 요구 사항
__PCG 그래프 준비
__PCG 블루프린트 만들기
__오버라이드 함수 구성
____Execute with Context
____PCG 및 포인트 루프 통합
____포인트 루프 바디
____변환 노드와 임의 벡터 변수
____액터 블루프린트 빌드
__PCG 그래프에서 노드 연결하기
__요약
4장. 절차적 콘텐츠 생성 도구 개발 및 최적화하기
__기술적 요구 사항
__모델에 익숙해지기
__액터 블루프린트 안에 변수 추가하기
____변수 및 박스 콜리전 컴포넌트 설정하기
__PCG 그래프 개선 및 수정하기
____PCG 그래프 최종 조정하기
__PCG 도구 최적화 및 개선
____폴리지
____PCG 도구의 추가 변수
__요약
2부 - 언리얼 엔진 5에서 PCG의 강력한 기능 활용하기
5장. PCG 그래프를 사용한 Spline 컨트롤러 구성하기
__기술적 요구 사항
__폴리지 및 포레스트 액터 블루프린트 만들기
____폴리지 만들기
____포레스트 액터 블루프린트 생성
__PCG 그래프 만들기
____PCG_Foliage
____PCG_Foliage 테스트
____PCG 물
____PCG 숲에 통합하기
__더 나은 결과를 위해 조정하기
__요약
6장. 랜드스케이프 머티리얼로 PCG 그래프 만들기
__기술적 요구 사항
__모델에 익숙해지기
____랜드스케이프 머티리얼
____Landscape 도구
__액터 블루프린트
__PCG 그래프
____Attribute Filter
__Mud 레이어
__Ground 레이어
__Snow 레이어
__요약
7장. PCG Spline 컨트롤러를 사용해 빌딩 만들기
__기술적 요구 사항
__퀵셀 메가스캔 모델
__건물 구조 액터 블루프린트 설정
____오프셋 매크로 만들기
____PCG 그래프 구성하기
____액터 블루프린트의 PCG 파라미터
____오프셋 지오메트리 수정
__수직 확장
____벽 복제하기
____벽면 메시 적용
____구조 마무리하기
__요약
8장. 바이옴 구성하기: 풍부한 환경을 위한 PCG 마스터하기
__기술적 요구 사항
__폴리지 에셋에 익숙해지기
____랜드스케이프 텍스처
____프로젝트 랜드스케이프 개요
__PCG Biome 플러그인 설정하기
____바이옴 코어
__바이옴 텍스처 투영
__바이옴 텍스처 설정
__바이옴에 나무 구성하기
__덤불 바이옴 구성
__요약
9장. PCG로 역동적인 애니메이션 군중 만들기
__기술적 요구 사항
__Mixamo 캐릭터로 작업하기
____Mixamo 캐릭터 블루프린트 개발
__랜덤 정수 함수를 사용해 Skeletal Mesh 교환하기
__캐릭터 구성
__PCG 크라우드 블루프린트 설정
__PCG 크라우드 그래프 설정
__요약
3부 - 최적화 마스터하기 및 PCG 환경 개선하기
10장. 최적화, 디버깅 및 성능 도구 살펴보기
__기술적 요구 사항
__다양한 최적화 기법 살펴보기
____최적화, 복잡성 및 성능
____콜리전
____모듈화 및 재사용성
____나나이트
____PCG 스탬프 만들기
____스태틱 메시 스포너
____WPO 거리 활성화
____디스턴스 필드 조명
____텍스처 최적화
__디버깅 도구 살펴보기
__성능 도구 사용
____CPU 프로파일링
____확장성 설정 선택
__요약
11장. 치트 시트, 추가 팁 및 바로 가기
__기술적 요구 사항
__PCG 볼륨 샘플
____Surface Sampler
____Volume Sampler
____Create Points Grid
____Get Texture Data
____Sample Texture
____Density Remap
____Density Filter
____Self Pruning
____Bounds Modifier
__PCG 볼륨 스플라인
____Spline Sampler (On Interior)
____Projection
____Spline Sampler (On Spline)
____Difference
____Copy Points
____Spawn Actor
____Mesh Sampler와 Set Mesh As Attribute
__요약
저자
저자
폴 마틴 엘리아스
Paul Martin Eliasz
12년간 3D CGI 및 실시간 게임 엔진 분야에서 전문 지식을 쌓아온 숙련된 선임 테크니컬 아티스트이자 교육자이며 컨설턴트다. 웹 스트리밍(픽셀 스트리밍), VR, 버추얼 프로덕션, XR 및 다양한 컴퓨터 플랫폼에 맞춘 게임 개발과 3D 게임화 애플리케이션을 전문으로 하는 스튜디오를 이끌고 있다. 경력 전반에 걸쳐 넷플릭스(Netflix), 벤틀리(Bentley)와 같은 저명한 고객사를 위한 여러 프로젝트에 기여했으며 아우터넷 글로벌(Outernet Global), PureWeb 등의 다양한 기업과 스튜디오에 컨설팅 서비스를 제공했다. 현재는 CG Spectrum, 마스터드(Mastered), CAVE Academy, 시메트리(Symetri), 벤틀리, 다이슨, 에픽게임즈 EMEA의 멘토링과 교육 활동에 활발히 참여하고 있다. 또한 유럽과 아시아 전역의 대학에서 교육 세션을 진행하며 게임, 애니메이션, 자동차, 버추얼 프로덕션 분야에서 일하고자 하는 언리얼 아티스트와 언리얼 테크 아티스트를 위한 맞춤형 교육 콘텐츠를 제작하기도 한다.
12년간 3D CGI 및 실시간 게임 엔진 분야에서 전문 지식을 쌓아온 숙련된 선임 테크니컬 아티스트이자 교육자이며 컨설턴트다. 웹 스트리밍(픽셀 스트리밍), VR, 버추얼 프로덕션, XR 및 다양한 컴퓨터 플랫폼에 맞춘 게임 개발과 3D 게임화 애플리케이션을 전문으로 하는 스튜디오를 이끌고 있다. 경력 전반에 걸쳐 넷플릭스(Netflix), 벤틀리(Bentley)와 같은 저명한 고객사를 위한 여러 프로젝트에 기여했으며 아우터넷 글로벌(Outernet Global), PureWeb 등의 다양한 기업과 스튜디오에 컨설팅 서비스를 제공했다. 현재는 CG Spectrum, 마스터드(Mastered), CAVE Academy, 시메트리(Symetri), 벤틀리, 다이슨, 에픽게임즈 EMEA의 멘토링과 교육 활동에 활발히 참여하고 있다. 또한 유럽과 아시아 전역의 대학에서 교육 세션을 진행하며 게임, 애니메이션, 자동차, 버추얼 프로덕션 분야에서 일하고자 하는 언리얼 아티스트와 언리얼 테크 아티스트를 위한 맞춤형 교육 콘텐츠를 제작하기도 한다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

