Шейдеры и эффекты в Unity. Книга рецептов
Покупка
Тематика:
Графика и анимация на компьютере
Издательство:
ДМК Пресс
Автор:
Ламмерс Кенни
Перевод:
Шапочкин Е. А.
Год издания: 2023
Кол-во страниц: 275
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-572-5
Артикул: 817022.01.99
В книге раскрываются секреты разработки шейдеров в Unity — самом популярном в мире мультиплатформенном инструменте для разработки двух- и трёхмерных игр и приложений. Описываются базовые модели освещения, создание эффектов с помощью текстур, анимация моделей в реальном времени, настройка шейдеров для мобильных устройств, а также использование постэффектов в гейм-плее.
Издание предназначено для Unity-разработчиков, стремящихся использовать максимум возможностей платформы для создания своих собственных шедевров!
- Полная коллекция по информатике и вычислительной технике
- Графика и анимация на компьютере
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Разработка игр
- Цифровой дизайн
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Кенни Ламмерс Шейдеры и эффекты в 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 Роман Менякин, Наталья Свиридова, Йоана Кодите, Олег Придюк