Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Шейдеры и эффекты в Unity. Книга рецептов

Покупка
Артикул: 817022.01.99
Доступ онлайн
439 ₽
В корзину
В книге раскрываются секреты разработки шейдеров в Unity — самом популярном в мире мультиплатформенном инструменте для разработки двух- и трёхмерных игр и приложений. Описываются базовые модели освещения, создание эффектов с помощью текстур, анимация моделей в реальном времени, настройка шейдеров для мобильных устройств, а также использование постэффектов в гейм-плее. Издание предназначено для Unity-разработчиков, стремящихся использовать максимум возможностей платформы для создания своих собственных шедевров!
Ламмерс, К. Шейдеры и эффекты в Unity. Книга рецептов : практическое руководство / К. Ламмерс ; пер. с англ. Е. А. Шапочкина. — 2-е изд. - Москва : ДМК Пресс, 2023. - 275 с. - ISBN 978-5-89818-572-5. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107933 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Кенни Ламмерс

Шейдеры и эффекты 
в Unity

Книга рецептов

Как с помощью шейдеров и постэффектов  
добиться потрясающей картинки в проектах на Unity

Unity Shaders and          
Effects Cookbook

Discover how to make your Unity  
projects look stunning with Shaders 
and screen effects

Kenny Lammers

BIRMINGHAM - MUMBAI

Шейдеры и эффекты в Unity 
Книга рецептов

Как с помощью шейдеров и постэффектов 
добиться потрясающей картинки  
в проектах на Unity

Кенни Ламмерс

Москва, 2023

2-е издание, электронное

УДК 004.4’2Unity3D
ББК 32.972
Л21

Книга выпущена при поддержке Mail.Ru Group

Л21
Ламмерс, Кенни.
Шейдеры и эффекты в Unity. Книга рецептов / К. Ламмерс ; пер. с англ. 
Е. А. Шапочкина. — 2-е изд., эл. — 1 файл pdf : 275 с. — Москва : ДМК Пресс, 
2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 
4.5 ; экран 10". — Текст : электронный.
ISBN 978-5-89818-572-5

В книге раскрываются секреты разработки шейдеров в Unity — самом популярном в мире мультиплатформенном инструменте для разработки двух- и трёхмерных 
игр и приложений. Описываются базовые модели освещения, создание эффектов с 
помощью текстур, анимация моделей в реальном времени, настройка шейдеров для 
мобильных устройств, а также использование постэффектов в гейм-плее.
Издание предназначено для Unity-разработчиков, стремящихся использовать 
максимум возможностей платформы для создания своих собственных шедевров!.

УДК 004.4’2Unity3D 
ББК 32.972

Электронное издание на основе печатного издания: Шейдеры и эффекты в Unity. Книга рецептов / К. Ламмерс ; пер. с англ. Е. А. Шапочкина. — Москва : ДМК Пресс, 2016. — 274 с. — 
ISBN 978-5-97060-213-3. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было 
форме и какими бы то ни было средствами без  письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических 
ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность 
приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-572-5
© 2013 Packt Publishing
©  Оформление, перевод на русский язык 
ДМК Пресс

ОГЛАВЛЕНИЕ

Об авторе ..........................................................8
О рецензентах....................................................9
Предисловие к русскому изданию ....................... 10
Предисловие ................................................... 11

Что рассматривается в этой книге ................................................. 11
Что потребуется при чтении этой книги ......................................... 13
Для кого эта книга ......................................................................... 14
Условные соглашения ................................................................... 14
Обратная связь с читателями ........................................................ 15
Поддержка клиентов ..................................................................... 15

Глава 1. Диффузный шейдинг ............................. 17

Введение ...................................................................................... 17
Создаём простой поверхностный шейдер  .................................... 18
Добавление свойств поверхностному шейдеру ............................. 22
Использование свойств в поверхностном шейдере ....................... 25
Делаем собственную модель диффузного освещения .................. 29
Модель освещения Half Lambert .................................................... 32
Использование текстуры для контроля над диффузным  
шейдингом .................................................................................... 34
Имитация эффекта BRDF с помощью 2D-текстуры ........................ 36

Глава 2. Создание эффектов с помощью текстур ... 41

Введение ...................................................................................... 41
Прокрутка текстур с помощью изменения UV-координат ............... 42
Анимирование спрайт-листов ....................................................... 45
Упаковка и блендинг текстур ......................................................... 51
Использование карты нормалей .................................................... 56
Создание процедурных текстур в редакторе Unity ......................... 60
Эффект уровней Photoshop ........................................................... 66

Глава 3. Пусть ваши игры засияют отражённым 
светом ............................................................ 71

Введение ...................................................................................... 71
Использование встроенной в Unity Specular модели ...................... 72
Создаём модель освещения Phong ............................................... 74

Оглавление

Создание модели освещения BlinnPhong ...................................... 79
Маскирование глянцевых бликов с помощью текстур .................... 81
Металлические и мягкие блики ..................................................... 87
Создание анизотропных бликов .................................................... 93

Глава 4. Добавим отражения в ваш мир .............. 100

Создание кубических текстур в Unity ........................................... 100
Простое отражение с использованием кубической текстуры ....... 107
Маскирование отражений ........................................................... 110
Карты нормалей и отражения ...................................................... 114
Отражения по Френелю .............................................................. 119
Создание простой динамической системы кубических текстур ... 123

Глава 5. Модели освещения ............................. 128

Введение .................................................................................... 128
Модель освещения Lit Sphere ...................................................... 128
Модель освещения Diffuse Convolution ........................................ 135
Создание модели освещения автомобильной краски .................. 141
Шейдер кожи .............................................................................. 145
Шейдер ткани ............................................................................. 154

Глава 6. Прозрачность ..................................... 160

Введение .................................................................................... 160
Создание прозрачности с помощью параметра alpha .................. 160
Прозрачный cutoff-шейдер .......................................................... 163
Сортировка объектов с помощью очередей рендеринга.............. 165
GUI и прозрачность ..................................................................... 169

Глава 7. Волшебные возможности вершин .......... 177

Введение .................................................................................... 177
Получение цвета вершины в поверхностном шейдере ................. 178
Анимация вершин в поверхностном шейдере .............................. 182
Использование цветов вершин для ландшафта ........................... 185

Глава 8. Настройка шейдеров для мобильных 
приложений ................................................... 190

Введение .................................................................................... 190
Что значит дешевый шейдер? ..................................................... 191
Профайлинг шейдеров ................................................................ 198
Изменение шейдеров для мобильных ......................................... 204

Глава 9. Делаем наш шейдерный мир 
модульным с помощью CgInclude ...................... 209

Введение .................................................................................... 209

Оглавление

Встроенные в Unity CgInclude-файлы .......................................... 210
Создание CgInclude-файла для хранения моделей освещения .... 213
Использование #define в шейдерах ............................................. 217

Глава 10. Создание экранных эффектов в Unity 
с помощью рендер-текстур .............................. 221

Введение .................................................................................... 221
Создание скриптов для полноэкранных эффектов ...................... 222
Корректировка яркости, насыщенности и контраста 
с помощью полноэкранных эффектов  ......................................... 232
Создание основных режимов блендинга с использованием 
полноэкранных эффектов ........................................................... 238
Реализация режима блендинга Overlay с использованием 
полноэкранных эффектов .....................................................................245

Глава 11. Гейм-плей и экранные эффекты ............ 249

Введение .................................................................................... 249
Создание эффекта старого фильма ............................................ 249
Создание эффекта ночного видения ........................................... 260

Предметный указатель .................................... 271

ОБ АВТОРЕ

Кенни Ламмерс работает в индустрии игр уже 13 лет. Он работал на 
такие компании, как Microsoft, Activision и Surreal Software. В данный момент он работает с двумя компаниями. В первой – Creative 
TD – он занимается консультированием по Unity3D и созданием материалов для таких компаний, как IGT, Microsoft, Janus Research и 
Allegorithmic. Второй компанией – Ozone Interactive – он руководит 
совместно со своим бизнес-партнёром Ноа Каарбо (Noah Kaarbo). 
Ozone Interactive специализируется на создании интерактивных приложений и высококачественных дизайнов с использованием Unity3D 
для таких компаний как Amazon, E-line Media, Microsoft и Sucker 
Punch games. Во время его работы в индустрии игр он создавал персонажей в Zbrush и Maya, писал шейдеры и постэффекты, а так же 
разрабатывал игры полностью в Unity3D, используя C#. В данный 
момент он работает над несколькими играми и разрабатывает набор 
инструментов для облегчения процесса создания игр.

Я бы хотел высказать благодарность всем её заслуживающим, но 
тогда на это ушла бы целая глава. Перво-наперво я определённо 
хочу поблагодарить мою маму за то, что она всегда говорила мне, 
что моя работа должна вести к моей мечте, и за то, что она всегда 
была мне поддержкой. Я бы хотел поблагодарить моего партнёра 
по бизнесу Ноа Каарбо за то, что был мне другом и поддержкой на 
протяжении написания этой книги. Я хочу поблагодарить всех, с кем 
мне довелось работать, но, что более важно, – я хочу поблагодарить 
тех, кто побуждал меня всегда совершенствовать мои навыки и тем 
самым открыл для меня мир этой индустрии. Эти люди – Бэн Каммерано (Ben Cammerano) из MGS, Пол Амер (Paul Amer) из MGS, 
Филлипо Костанцо (Fillipo Costanzo) из 5D Institute, Алессандро Тенто (Alessandro Tento) из Lakshya, Джеймс Роджерс (James Rogers) 
из MGS и Тони Гарсия (Tony Garcia) из Unity Technologies. Я бы не 
добился того, чего добился, без кого-либо из этих людей, и они заслуживают моего самого сильного почтения!

О РЕЦЕНЗЕНТАХ

Винсент Лим (Vincent Lim) закончил The One Academy по специальности цифровая анимация и разработка игр. Сразу же после завершения учёбы он присоединился к Big Ant Studio, где он преобрёл 
массу бесценного опыта в игровой индустрии. Проведя несколько 
лет в компании, Винсент многому научился, начиная от низкопологонального моделирования и заканчивая укладкой текстур для 
создания ландшафта, а также – немного программированию и написанию MEL-скриптов. Работая над разнообразными задачами в Big 
Ant Studio, Винсент накопил знания об игровых движках, о тонкостях работы разных шейдеров и о пайплайне разработки игр. В компании он занимался оптимизацией пайплайна разработки, создавая 
с помощью MEL-скриптов инструменты для художников, которые 
упрощали те или иные задачи на пути 3D-модели, – от заготовки в 
3D-редакторе до модели в игре. Получив достаточный базис знаний 
в Big Ant Studio, Винсент продолжил изучение игровых механик и 
движков. Это привело его к Unity, навыки работы с которым он продолжает совершенствовать и по сей день.
Кристиан 'XeviaN' Мененгхини (Christian 'XeviaN' Meneghini) в 
молодости был обладателем и поклонником Sinclair ZX Spectrum. 
Он начал своё знакомство с миром игровой индустрии со спрайтов, жёстко закодированных с помощью Бейсика и Ассемблера. По 
прошест вии времени ему довелось работать с такими замечательными технологиями, как C64, культовым Amiga и всей линейкой процессоров PC, при этом работая с видеокартами от Hercules и CGA 
от первых 3D-ускорителей до современных. При его специализации 
на программировании графики и оптимизации производительности, 
ему очень нравилось заниматься рендерингом и принимать участие в 
демосцене. Кристиан в своё свободное время сочиняет музыку.
После нескольких лет работы по ночам вместе с друзьями и коллегами, изучения технической документации, написания движков и работы на другие компании Кристиан в 2011 году совместно со своими 
друзьями Марко Ди Тимотео (Marco Di Timoteo) и Лукой Марчетти 
(Luca Marchetti) основал небольшую студию, которую они назвали 
STUDIO EVIL. Их первым продуктом стала игра Syder Arcade – ретро-шутер с 3D-графикой, рассчитанный на PC и MAC, а позднее – 
портированный под iOS, Android и OUYA. 

ПРЕДИСЛОВИЕ К 
РУССКОМУ ИЗДАНИЮ

Мы очень рады выходу первой переводной книги по Unity, тем более, что это совпало с открытием нашего офиса в России.  Мы наблюдаем значительный рост количества российских разработчиков и 
издателей игр, которые используют Unity и работаем над тем, чтобы 
содействовать им в постижении новых горизонтов возможностей в 
разработке кросс-платформенных игр. Всегда хочется добиться максимального качества картинки при разумной производительности. 
Эта задача актуальна, пожалуй, для проектов всех масштабов и задач. 
Мы верим, что с помощью данной книги ваша жизнь, работа и опыт 
использования Unity станут лучше и красочнее. 

Искренне ваши,
Unity Technologies в России
russia@unity3d.com
Роман Менякин,
Наталья Свиридова,
Йоана Кодите,
Олег Придюк

Доступ онлайн
439 ₽
В корзину