Top

유니티 셰이더와 이펙트 제작 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장. ‘셰이더 그래프’에서는 유니티에 새로 추가된 셰이더 그래프 에디터를 사용하도록 프로젝트를 설정하는 방법을 설명한다. 간단한 셰이더 그래프를 생성하는 방법, 속성을 노출하는 방법, 빛나는 하이라이트 시스템을 사용하는 코드를 통해 셰이더 그래프와 통신하는 방법을 다룬다.

저자/역자 소개

지은이의 말

이 책은 유니티 2018에서 셰이더(shader)와 포스트 프로세싱 효과(post-processing effect)의 생성에 익숙해지기 위한 가이드다. 먼저 포스트 프로세싱 스택을 살펴보면서 스크립트 작성 없이도 셰이더를 사용해볼 수 있는 것에 영향을 주는 몇 가지 방법을 살펴본다. 그다음에는 가장 기본적인 셰이더를 만들고 셰이더 코드가 구성되는 방식을 배우는 것부터 시작해, 처음부터 셰이더를 만드는 방법을 배운다. 이 기본 지식은 볼륨형 폭발(volumetric explosion)과 모피 셰이딩(fur shading) 같은 고급 테크닉을 배우면서 각 장을 더 진행할 수 있는 방법을 제공한다. 드래그 앤 드롭 인터페이스로 셰이더를 생성할 수 있는 방법을 보기 위해 새롭게 추가된 셰이더 그래프 에디터를 둘러볼 것이다. 3판은 특별히 유니티 2018을 위해 작성됐으며, 가능한 한 포토리얼리즘(photorealism)에 가까워지도록 물리 기반 렌더링과 글로벌 일루미네이션(global illumination)을 마스터하는 과정을 도울 것이다.
각 장의 끝에서 셰이더의 품질을 높이고 셰이더를 좀 더 효율적으로 작성할 수 있는 새로운 기술을 얻게 될 것이다. 각 장은 초보자부터 전문가까지 특정 스킬을 익힐 수 있도록 구성했다. 유니티에서 셰이더 작성을 처음 하는 사람은 각 장을 하나씩 진행하며 지식을 쌓을 수 있다. 어느 쪽이든 현대 게임을 게임답게 만들어주는 테크닉을 배우게 될 것이다.
이 책을 읽고 나면 유니티 3D 게임에서 사용할 수 있는 셰이더 세트와 그것을 추가하는 방법, 새로운 효과를 얻는 방법, 성능상의 요구를 해결하는 방법을 얻게 될 것이다.

지은이 소개

존 도란(John P. Doran)

워싱턴주 레드몬드시에 사는 열정적이며 노련한 테크니컬 게임 디자이너이자 소프트웨어 엔지니어, 작가다. 지난 10년 동안 게임 디자이너에서 리드 UI 프로그래머까지 게임 제작에서 다양한 역할을 맡았다. 또한 싱가포르, 한국, 미국에서 게임 개발을 가르쳤다. 현재까지 게임 개발과 관련된 10권 이상의 책을 저술했다.

앨런 주코니(Alan Zucconi)

열정적인 개발자이자 저자, 강사로 활동하고 있으며 Develop’s 30 under 30 사이트의 일원이다. 지난 10년 동안 전문성을 높이 쌓아왔으며, 창조성과 교육이 교차하는 지점에서 일했다. 2015년부터 다른 개발자와 머신 러닝 애호가를 위한 학습 튜토리얼 시리즈를 게시했다.

옮긴이의 말

저 역시 공부하는 입장이라 이 책의 번역 작업을 맡기 전까지 셰이더에 대해 그다지 자세히는 몰랐습니다. 그래서 이 책을 번역하면서 많이 배우고 재밌었습니다.
실제로 내적 등이 사용되는 곳에서는 ‘이것을 위해 공부했구나!’하는 어떤 감격스러움까지 느껴질 정도였습니다.
게임 개발 입문자에게는 이 책을 꼭 한번 읽어볼 것을 권하고 싶습니다. 내용도 알차고 배울 것도 많지만, 지금까지 배워온 수학을 실제로 어떤 식으로 쓰는지 알아보는 과정이 특히 흥미롭습니다.
물론 입문자가 아닌 다른 분들, 특히 최신 유니티의 셰이더와 효과 제작에 대한 기본 지식을 얻으려는 분들에게도 좋습니다. 이 책을 읽고 나서 셰이더를 향한 여정을 성공적으로 마치길 기원합니다.

옮긴이 소개

구진수

게임과 앱, 프로그래밍에 관심이 있어 이것저것 번역하면서 새로운 것을 배워가고 있다. 좀 더 좋은 자료를 더 좋은 번역으로 제공하고 싶은 마음에서 최선을 다하고 있다. 자신을 검색했을 때 인터넷 서점 한 페이지가 작업한 책들로 꽉 찰 때까지 열심히 번역하는 것이 목표다.

목차

목차
  • 1장. 포스트 프로세싱 스택
    • 소개
    • 포스트 프로세싱 스택 설치하기
    • 그레인, 비네팅, 필드의 깊이를 사용해 영화 같은 모습 얻기
    • 블룸과 안티 앨리어싱을 사용한 실제 세계 모방하기
    • 색상 분류로 분위기 설정하기
    • 안개를 사용해 공포 게임처럼 보이도록 하기

  • 2장. 첫 번째 셰이더 만들기
    • 소개
    • 기본 표준 셰이더 만들기
    • 셰이더에 속성 추가하기
    • 표면 셰이더에서 속성 사용하기

  • 3장. 표면 셰이더와 텍스처 매핑
    • 소개
    • 디퓨즈 셰이딩
    • 압축 배열에 접근하고 수정하기
    • 셰이더에 텍스처 추가하기
    • UV 값 수정을 위한 텍스처 스크롤
    • 법선 매핑으로 셰이더 만들기
    • 투명 머티리얼 만들기
    • 홀로그래픽 셰이더 만들기
    • 텍스처 패킹 및 블렌딩
    • 지형 주변에 원 만들기

  • 4장. 라이팅 모델 이해하기
    • 소개
    • 커스텀 디퓨즈 라이팅 모델 만들기
    • 툰 셰이더 만들기
    • 퐁 스페큘러 타입 생성하기
    • 블린퐁 스페큘러 타입 만들기
    • 비등방성 스페큘러 타입 생성하기

  • 5장. 물리 기반 렌더링
    • 소개
    • 메탈릭 설정 이해하기
    • PBR에 투명도 추가하기
    • 거울 및 반사 표면 만들기
    • 씬에서 라이트 굽기

  • 6장. 정점 함수
    • 소개
    • 표면 셰이더에서 정적 색상에 접근하기
    • 표면 셰이더에서 정점 애니메이트하기
    • 모델 압출
    • 눈 셰이더 구현하기
    • 볼륨형 폭발 구현하기

  • 7장. 프래그먼트 셰이더와 그랩 패스
    • 소개
    • 정점 및 프래그먼트 셰이더 이해하기
    • 뒤의 물체를 그리기 위한 그랩 패스 사용하기
    • 유리 셰이더 구현하기
    • 2D 게임용 물 셰이더 구현하기

  • 8장. 모바일 셰이더 조정
    • 소개
    • 셰이더를 좀 더 효율적으로 만드는 테크닉
    • 셰이더 프로파일링하기
    • 모바일용으로 셰이더 수정하기

  • 9장. 유니티 렌더 텍스처를 통한 화면 효과
    • 소개
    • 화면 효과 스크립트 시스템 설정하기
    • 화면 효과로 밝기, 채도, 대비 사용하기
    • 화면 효과로 포토샵 스타일의 혼합 모드 사용하기
    • 화면 효과로 오버레이 혼합 모드 사용하기

  • 10장. 게임플레이와 화면 효과
    • 소개
    • 오래된 영화 화면 효과 만들기
    • 나이트 비전 화면 효과 만들기

  • 11장. 고급 셰이딩 기법
    • 소개
    • 유니티 내장 CgInclude 파일 사용하기
    • CgInclude를 사용해 모듈러 방식으로 셰이더 월드 만들기
    • 모피 셰이더 구현하기
    • 배열로 히트맵 구현하기

  • 12장. 셰이더 그래프
    • 소개
    • 셰이더 그래프 프로젝트 생성하기
    • 간단한 셰이더 그래프 구현하기
    • 셰이더 그래프를 통해 Inspector에 속성 노출하기
    • 빛나는 하이라이트 시스템 구현하기

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안