유니티 셰이더와 이펙트 제작 3/e [셰이더와 포스트 프로세싱 효과 생성을 위한 70가지 레시피]
- 원서명Unity 2018 Shaders and Effects Cookbook, 3rd Edition: Transform your game into a visually stunning masterpiece with over 70 recipes (ISBN 9781788396233)
- 지은이존 도란(John P. Doran), 앨런 주코니(Alan Zucconi)
- 옮긴이구진수
- ISBN : 9791161753133
- 35,000원
- 2019년 06월 20일 펴냄
- 페이퍼백 | 424쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
요약
유니티에서 사용하는 셰이더와 효과 제작에 대한 입문서로, 셰이더와 효과에 관한 기법을 예제를 통해 하나씩 익힐 수 있다. 일반적인 게임 환경뿐만 아니라 모바일 등에서 자원을 절약하면서도 최대한 품질을 유지하는 비법까지 다양하게 다룬다. 최신 버전의 유니티에서 셰이더와 효과에 관해 시작하기에 가장 좋은 동반자가 될 것이다.
이 책에서 다루는 내용
■ 게임의 미적 특성에 맞추기 위한 물리 기반 렌더링 이해하기
■ ShaderLab과 HLSL/Cg에서 처음부터 셰이더 작성하기
■ 머티리얼에 생명을 넣기 위해 인터랙티브 스크립트로 셰이더 프로그래밍 결합하기
■ 사실감을 떨어뜨리지 않고 모바일 플랫폼을 위한 효과적인 셰이더 디자인하기
■ 볼륨형 폭발과 모피 셰이더 같은 최신 테크닉 사용하기
■ 가장 많이 사용되는 라이트 모델 뒤의 수학과 알고리즘 마스터하기
■ 셰이더 모델의 발전 과정을 살펴보고 자신만의 셰이더 모델을 만드는 방법 이해하기
이 책의 대상 독자
유니티 2018에서 첫 번째 셰이더를 만들고 싶은 개발자나 전문적인 포스트 프로세싱 효과를 추가해 게임을 한 단계 업그레이드하고 싶은 개발자를 위한 책이다. 이 책의 내용을 충분히 활용하려면 유니티에 대한 확실한 이해가 필요하다.
이 책의 구성
1장. ‘포스트 프로세싱 스택’에서는 추가적인 스크립트를 작성하지 않고도 게임의 외형을 조절할 수 있는 포스트 프로세싱 스택을 소개한다.
2장. ‘첫 번째 셰이더 만들기’에서는 유니티의 셰이더 코딩 세계를 소개한다. 기본 셰이더를 만들고, 셰이더를 좀 더 인터랙티브하게 만들기 위해 조절 가능한 속성을 소개하는 방법을 배울 것이다.
3장. ‘표면 셰이더와 텍스처 매핑’에서는 모델을 위한 텍스처와 노멀 맵을 사용하는 방법을 비롯해, 표면 셰이더로 구현할 수 있는 가장 보편적이고 유용한 테크닉을 다룬다.
4장. ‘라이팅 모델 이해하기’에서는 셰이더가 빛의 동작을 모델링하는 방법을 자세히 설명한다. 툰 셰이딩(toon shading)과 같은 특별한 효과를 시뮬레이트하는 데 사용되는 커스텀 라이팅 모델(custom lighting model) 생성 방법을 가르친다.
5장. ‘유니티 5에서의 물리 기반 렌더링’에서는 물리 기반 렌더링이 유니티 5(Unity 5)에서 게임에 실제감을 더하기 위해 사용되는 표준 기술이라는 것을 보여준다. 투명, 반사 표면, 글로벌 일루미네이션을 마스터해 최대한 활용하는 방법을 배운다.
6장. ‘정점 함수’에서는 오브젝트의 지오메트리를 변경하기 위해 셰이더를 사용하는 방법을 설명한다. 정점 모디파이어(vertex modifier)를 소개하고, 이를 사용해 볼륨형 폭발, 눈 셰이더 등의 여러 효과를 구현한다.
7장. ‘프래그먼트 셰이더와 그랩 패스’에서는 반투명 재질로 만들어진 변형을 에뮬레이트하는 머티리얼을 만들기 위해 그랩 패스(grab pass)를 사용하는 방법을 설명한다.
8장. ‘모바일 셰이더 조정’에서는 장치를 최대한 활용할 수 있게 셰이더를 최적화하도록 돕는다.
9장. ‘화면 효과와 유니티 렌더 텍스처’에서는 달성하기 힘든 특수한 효과와 비주얼을 생성하는 방법을 보여준다.
10장. ‘게임플레이와 화면 효과’에서는 포스트 프로세싱 효과가 게임플레이(gameplay)를 보완하는 방법(예를 들어 나이트 비전 효과를 시뮬레이트하는 방법)을 알려준다.
11장. ‘고급 셰이딩 기법’에서는 이 책에서 다루는 가장 고급 테크닉인 모피 셰이딩과 히트맵 렌더링 등을 소개한다.
12장. ‘셰이더 그래프’에서는 유니티에 새로 추가된 셰이더 그래프 에디터를 사용하도록 프로젝트를 설정하는 방법을 설명한다. 간단한 셰이더 그래프를 생성하는 방법, 속성을 노출하는 방법, 빛나는 하이라이트 시스템을 사용하는 코드를 통해 셰이더 그래프와 통신하는 방법을 다룬다.
목차
목차
- 1장. 포스트 프로세싱 스택
- 소개
- 포스트 프로세싱 스택 설치하기
- 그레인, 비네팅, 필드의 깊이를 사용해 영화 같은 모습 얻기
- 블룸과 안티 앨리어싱을 사용한 실제 세계 모방하기
- 색상 분류로 분위기 설정하기
- 안개를 사용해 공포 게임처럼 보이도록 하기
- 2장. 첫 번째 셰이더 만들기
- 소개
- 기본 표준 셰이더 만들기
- 셰이더에 속성 추가하기
- 표면 셰이더에서 속성 사용하기
- 3장. 표면 셰이더와 텍스처 매핑
- 소개
- 디퓨즈 셰이딩
- 압축 배열에 접근하고 수정하기
- 셰이더에 텍스처 추가하기
- UV 값 수정을 위한 텍스처 스크롤
- 법선 매핑으로 셰이더 만들기
- 투명 머티리얼 만들기
- 홀로그래픽 셰이더 만들기
- 텍스처 패킹 및 블렌딩
- 지형 주변에 원 만들기
- 4장. 라이팅 모델 이해하기
- 소개
- 커스텀 디퓨즈 라이팅 모델 만들기
- 툰 셰이더 만들기
- 퐁 스페큘러 타입 생성하기
- 블린퐁 스페큘러 타입 만들기
- 비등방성 스페큘러 타입 생성하기
- 5장. 물리 기반 렌더링
- 소개
- 메탈릭 설정 이해하기
- PBR에 투명도 추가하기
- 거울 및 반사 표면 만들기
- 씬에서 라이트 굽기
- 6장. 정점 함수
- 소개
- 표면 셰이더에서 정적 색상에 접근하기
- 표면 셰이더에서 정점 애니메이트하기
- 모델 압출
- 눈 셰이더 구현하기
- 볼륨형 폭발 구현하기
- 7장. 프래그먼트 셰이더와 그랩 패스
- 소개
- 정점 및 프래그먼트 셰이더 이해하기
- 뒤의 물체를 그리기 위한 그랩 패스 사용하기
- 유리 셰이더 구현하기
- 2D 게임용 물 셰이더 구현하기
- 8장. 모바일 셰이더 조정
- 소개
- 셰이더를 좀 더 효율적으로 만드는 테크닉
- 셰이더 프로파일링하기
- 모바일용으로 셰이더 수정하기
- 9장. 유니티 렌더 텍스처를 통한 화면 효과
- 소개
- 화면 효과 스크립트 시스템 설정하기
- 화면 효과로 밝기, 채도, 대비 사용하기
- 화면 효과로 포토샵 스타일의 혼합 모드 사용하기
- 화면 효과로 오버레이 혼합 모드 사용하기
- 10장. 게임플레이와 화면 효과
- 소개
- 오래된 영화 화면 효과 만들기
- 나이트 비전 화면 효과 만들기
- 11장. 고급 셰이딩 기법
- 소개
- 유니티 내장 CgInclude 파일 사용하기
- CgInclude를 사용해 모듈러 방식으로 셰이더 월드 만들기
- 모피 셰이더 구현하기
- 배열로 히트맵 구현하기
- 12장. 셰이더 그래프
- 소개
- 셰이더 그래프 프로젝트 생성하기
- 간단한 셰이더 그래프 구현하기
- 셰이더 그래프를 통해 Inspector에 속성 노출하기
- 빛나는 하이라이트 시스템 구현하기