이미 소장하고 있다면 판매해 보세요.
|
1장. 물리 기반 렌더링
__실습 레벨 세팅하기 __머티리얼 에디터 사용해보기 __첫 번째 물리 기반 머티리얼 만들기 __투명 블렌드 모드를 이용한 간단한 유리 재질 만들기 __이미지 기반 조명을 레벨에 적용하기 __머티리얼 비용 확인하기 2장. 포스트 프로세싱 이펙트 __포스트 프로세스 볼륨 사용하기 __Color Grading을 통한 장면 분위기 바꾸기 __피사계 심도를 이용한 영화적 카메라 연출 __게임에 영화적 효과 적용하기 __블룸과 렌즈 플레어를 이용한 실제 카메라 효과 표현하기 __포스트 프로세스 머티리얼을 이용한 공포 영화 박동 효과 구현하기 __안티-에일리어싱 적용하기와 다른 렌더링 기능 3장. 불투명 머티리얼과 텍스처 매핑 __마스크를 이용한 머티리얼 __머티리얼 인스턴싱 __작은 물체에 텍스처링하기 __프레넬과 디테일 텍스처를 이용한 플라스틱 질감의 천 표현하기 __반자동 절차적 머티리얼 생성하기 __머티리얼을 텍스처로 굽기 __거리 기반 텍스처 혼합 4장. 투명 머티리얼과 더 많은 이야기 __SSS를 사용한 초 머티리얼 만들기 __완전한 투명 유리 재질 만들기 __다른 종류의 투명 - 홀로그램 __실사 같은 반사 표현하기 __풀장의 물을 표현해보면서 굴절 정복하기 __물 화선 표현 __애니메이션되는 바다 셰이더 만들기 5장. 머티리얼의 활용 범위 확장하기 __레벨 조명으로 에미시브 머티리얼 사용하기 __화면에 인터넷에서 얻은 영상 재생하기 __CCTV 카메라 만들기 __게임에서 상호작용 가능한 물체 하이라이트하기 __게임 속 나침반 만들기 __미니맵 만들기 6장. 머티리얼 고급 기법 __정점 칠하기 기능으로 메시 칠하기 __데칼을 사용해 레벨에 세밀함 추가하기 __시차 차폐 매핑을 사용한 벽돌 벽 표현하기 __디스플레이스먼트를 사용한 벽돌 벽 __메시 디스턴스 필드를 사용한 거리-기반 마스킹 7장. 머티리얼 인스턴스 사용하기 __머티리얼 레이어링을 사용한 물체 위에 눈이 쌓인 효과 __매개변수 컬렉션을 이용해 햇살 가득한 장면에서 눈 쌓인 장면으로 전환하기 __커브 아틀라스를 통한 빠른 계절 변화 __랜드스케이프 머티리얼 혼합하기 __UV 커스터마이징 8장. 모바일 셰이더와 머티리얼 최적화 __모바일 플랫폼 머티리얼 만들기 __포워드 셰이딩 렌더러를 사용한 VR 개발하기 __텍스처 아틀라스를 이용해 최적화하기 __3D 모델에 적용된 머티리얼을 텍스처로 굽기 __HLOD 도구로 여러 메시 결합하기 __일반적인 머티리얼 최적화 기법 9장. 몇몇 유용한 노드 __동일한 모델에 무작위성 추가하기 __차폐된 영역에 먼지 추가하기 __여러 메시를 가로지르는 텍스처 좌표 일치시키기 __퀄리티 스위치를 통한 머티리얼 복잡도 조절하기 __인테리어 큐브맵 사용해 건물 내부 텍스처링하기 __완전 절차적 Noise 패턴 사용하기 |
Brais Brenlla Ramos
브라이스 브렌라 라모스의 다른 상품
John P. Doran
존 도란의 다른 상품
|
★ 이 책에서 다루는 내용 ★
■ 실시간 그래픽스를 개발하기 위한 언리얼 엔진의 렌더링 파이프라인 ■ 머티리얼을 만들고 조명을 설정하기 위한 물리 기반 렌더링 사용 ■ 멀티 플랫폼용 게임을 위한 최적화된 재질 만들기 ■ 원하는 효과를 만들기 위한 언리얼 엔진의 노드와 함수 ■ 프로덕션 단계의 셰이더 기획과 제작 ■ 복잡한 재질과 텍스처 제작을 위한 머티리얼 에디터 ★ 이 책의 대상 독자 ★ 내용이 진행될수록 점점 더 어려운 주제를 다루는 구조로 구성돼 있다. 따라서 언리얼 엔진의 머티리얼 파이프라인을 다뤄 보지 않은 초보 개발자부터 숙련된 개발자까지 모두를 대상으로 한다. 개발자의 숙련도와 상관없이 언리얼에 대한 이해도가 높다면 이 책을 따라가는 데 좀 더 수월할 것이다. ★ 이 책의 구성 ★ 1장, ‘물리 기반 렌더링’에서는 언리얼이 근간을 두고 있는 기본적인 렌더링 개념을 다루는 것으로 시작하며, 머티리얼 에디터도 소개한다. 2장, ‘포스트 프로세싱 이펙트’에서는 포스트 프로세싱이라는 강력한 개념을 소개하고 이를 이용해 얻을 수 있는 서로 다른 이펙트를 설명한다. 3장, ‘불투명 머티리얼과 텍스처 매핑’에서는 언리얼에서 가장 기본이 되는 머티리얼 형식 가운데 한 가지를 자세히 다루고 여러 사용법을 알아본다. 4장, ‘투명 머티리얼과 더 많은 이야기’에서는 투명 머티리얼이라는 가장 흥미로운 머티리얼 형식 가운데 한 가지를 다룬다. 추가적으로 서브 서피스와 이미시브(emissive) 머티리얼을 포함해 다양한 머티리얼도 다룬다. 5장, ‘머티리얼의 활용 범위 확장하기’에서는 단순히 3D 모델링에 머티리얼을 적용하는 것 이외에 라이트 함수, UI 요소, 비디오를 화면에 출력하는 방법 등을 다룬다. 6장, ‘머티리얼 고급 기법’에서는 시차 차폐 매핑(parallax occlusion mapping)과 메시 거리 필드(mesh distance fields)와 같은 향상된 기술을 사용해 머티리얼 에디터에서 만들 수 있는 최신 이펙트를 이야기한다. 7장, ‘머티리얼 인스턴스 사용하기’에서는 인스턴싱의 개념을 사용하는 방법을 알아본다. 이를 통해서 서로 다른 머티리얼 위에 또 다른 셰이더를 레이어로 둔 머티리얼 인스턴스에 빠르게 변형을 주는 방법과 여러 머티리얼 설정을 한 번에 변경하는 방법을 알 수 있다. 8장, ‘모바일 셰이더와 머티리얼 최적화’에서는 모바일 장치나 가상현실과 같이 성능이 중요한 하드웨어에서 이전에 만든 머티리얼이 좀 더 성능에 최적화될 수 있도록 하는 여러 방법을 다룬다. 9장, ‘몇몇 유용한 노드’에서는 어떤 분류 목록에도 속하지 않지만 언리얼에서 찾을 수 있는 정말로 유용한 몇 가지 노드에 초점을 맞춰 이야기한다. ★ 지은이의 말 ★ 언리얼 엔진 4를 사용해 게임 창작과 발견의 여정으로 개발자들을 이끌고자 집필했다. 게임과 앱의 시각적 요소에 영향을 주는 조작을 수행해보며 언리얼 엔진의 구석구석을 탐험할 것이다. 꼭 알고 있어야 하는 기본적인 주제를 시작으로 특정 주제를 하나씩 살펴본다. 각 장은 그 기본 내용을 확장해 나간다. 대부분의 개발자가 내용을 따라 갈 수 있도록 완만한 학습 곡선을 갖도록 구성했다. 만약 관련 내용을 잘 안다면 실습을 건너뛰고 다른 장이나 실습을 진행해도 상관없다. 우선 언리얼 엔진에서 물리 기반 렌더링(physically based rendering)을 다루는 방법이나 포스트 프로세싱 이펙트(post-processing effects)와 같은 엔진의 렌더링 파이프라인(rendering pipeline) 아래 핵심 개념부터 책을 시작한다. 두 주제에 관한 견고한 기반 지식을 갖고 그 지식을 확장해 불투명, 투명, 서브서피스(subsurface) 머티리얼과 또 다른 셰이딩 모델(shading model) 같은 좀 더 많은 내용을 알아볼 것이다. 또 향상된 여러 가지 머티리얼 생성 기술과 기법을 살펴볼 것이다. 이 기술들은 머티리얼과 블루프린트(blueprint)를 함께 사용하는 것부터 머티리얼을 인스턴싱(instancing)하고 최적화하는 등의 다양한 효과를 만드는 데 이용할 수 있다. 이 책을 다 마치고 나면 다양한 머티리얼의 개념과 기법에 관한 지식과 실무를 모두 탄탄히 다지게 될 것이다. 개발자가 하고자 하는 것이 게임 개발이든 앱 개발이든 혹은 개인적인 프로젝트든 간에 이 책을 통해 새롭게 배운 개념을 정확하게 이해하고 있다는 확신을 갖고 사용하게 될 것이다. 이제 시작해보자! ★ 옮긴이의 말 ★ 2001년 2월 엔비디아(NVIDIA)에서 지포스 3 그래픽 카드를 출시하면서 셰이더의 세계가 눈 앞에 펼쳐졌다. 나도 당시 큰돈을 들여 지포스 3를 구입해 어셈블리로 셰이더 프로그래밍을 배우면서 고정 파이프라인에 자유를 제공하는 일이 실력이나 상상력의 차이를 만들거라 믿었다. 실제로 실시간 3D 그래픽스에서 품질 차이는 극명해지기 시작했다. 하지만 초창기 셰이더는 어셈블리로 작성해야 했다. 제약 사항도 많아 실제로 3D 아티스트가 다룰 수 있는 물건이 아니었다. 물론 시간이 지나면서 셰이더도 HLSL과 같은 고급 프로그래밍 언어 형태로 프로그래밍이 가능해지고 접근성이 점점 더 나아졌지만 여전히 3D 아티스트에겐 어려운 영역이다. 시간이 지나면서 셰이더를 노드 그래프 형식으로 제작할 수 있는 툴이 생겨나기 시작했다. 이러한 변화는 어려운 셰이더 프로그래밍을 좀 더 쉽게 만들어줄 거라는 착각을 일으켰다. 물론 글자보다 노드 그래프로 보는 것이 시각적으로 더 쉽고 편하게 느껴진다. 그렇다고 해서 그래픽스 이론과 선형대수를 몰라도 셰이더를 만들 수 있도록 해주는 것이 아니다. 실제로 국내 3D 아티스트나 테크니컬 아티스트 중에 셰이더를 만들 수 있는 이가 극히 드물다는 사실이 이러한 변화가 아무런 어려움도 줄여주지 못했다는 점을 반영한다고 생각한다. 3D 아티스트가 표현하고 싶어하는 요구 사항을 프로그래머가 셰이더로 작성하기 때문에 서로 소통하는 데 비용이 많이 들고 원하는 바를 정확하게 표현하지 못하는 결과를 낳는다고 본다. 결국 3D 아티스트가 직접 셰이더를 작성할 수 있어야 더 좋은 그래픽을 빠르게 표현할 수 있다. 그 힘든 여정을 출발하는 데 미적분, 선형대수 같은 과목을 공부하고 그래픽스 이론을 공부하듯이, 정공법으로 가는 길보다 실습으로 이미 만들어진 셰이더를 따라 해보면서 우선 익숙해지는 과정을 갖는 방법이 조금 더 낫다. 만약 언리얼 엔진을 사용하거나 사용해보고 싶고 언리얼 엔진에서 머티리얼(언리얼에서 머티리얼은 큰 셰이더 템플릿 코드에서 특정 부분을 채워주는 셰이더 코드 조각)을 만들어보고 싶다면 이 책이 입문용으로 가장 적절하다. 예제를 쉽게 따라 해보고 결과를 보면서 만족감과 성취감을 느낄 수 있음과 동시에 학습의 원동력이 돼 줄 것이다. 아울러 전반적인 원리를 설명하고 있고 더 깊이 있는 내용을 찾아볼 수 있는 이정표가 돼 줄 것이다. 원서 정오표에 올라온 내용은 없었지만 번역을 진행하면서 발견한 오타와 오류를 수정했다. 때로는 주석으로 설명을 덧붙이기도 했다. 실습을 진행하는 데 혼동되지 않도록 언리얼 에디터에서 영문으로 표기한 메뉴는 이 책에서도 영문으로 표기했다. 모든 예제는 언리얼 엔진 4.20에서 4.24까지 확인했으며 문제는 없었다. 이 글을 쓰고 있는 시점에서 가장 최신 버전은 4.25.1이지만 예제가 문제없이 동작할 거라고 믿는다. 이 책은 언리얼 엔진에서 머티리얼을 제작하는 데 출발점이 돼 줄 수 있을 뿐이다. 필요한 머티리얼을 척척 만들고자 한다면 걸어야 할 여정은 정말 멀고 험하다. 그래도 멈추지 않고 원하는 바를 얻는 길로 나아가길 바란다. |