Professional Documents
Culture Documents
Всё про Bake (запечку) как этап ААА-пайплайна
Всё про Bake (запечку) как этап ААА-пайплайна
6 янв 2020
Гугл на слово запечка показывает то, что нам нужно, а на слово запекание предлагает запечь курочку
Что такое запечка
Взглянем на low poly модель, которую сделал наш студент Leon.
Мы берём low poly модель и добавляем на неё запечённые карты нормала и АО.
Эти карты обманывают поведение игрового света. Модель начинает бликовать
так, как будто на ней есть все эти фаски, вырезы и прочие детали.
Для тех, кто не понимает, о чём речь: мы очень подробно писали про
вертекс нормали и принцип работы нормала в статье про сетку.
В Marmoset можно запечь гораздо больше карт, про это будет дальше.
Мы добавим эти карты на нашу low poly модель, на ней появится вся
детализация с high poly и скульпта, а благодаря карте Color ID модель будет
легче разбить по материалам и текстурировать.
Ссылки на теорию
Вот несколько наших статей, из которых можно понять, как работает
«магический» трюк с обманом вертекс нормалей.
1. Normal Map
Normal Map
Карта создаёт виртуальные вертекс нормали в каждой точке low poly модели и
искажает поведение света. Если наложить запечённый нормал на модель, то
она будет выглядеть почти как high poly.
Вот хороший пример: low poly модель с включенным нормалом и без него.
Модель с включенным нормалом и без него
Чтобы создать нормал, нужно взять развёртку, которую мы делали ранее, взять
high poly и скульпт, загрузить в программу для запечки и нажать кнопку «bake».
Там много нюансов, но мы обо всём расскажем.
Из чего печётся Normal map
Чтобы лучше понять разницу между этими двумя каналами, взглянем на эту
часть модели:
Если на синем канале есть артефакты, можно просто выключить этот канал, то
есть отключить синий цвет у нормал мапа в фотошопе. Или просто их замазать
артефакты кисточкой.
У каждого канала — своя функция. При артефактах после запечки иногда нужно
править нормал руками. Иногда это делается сразу на всех трёх каналах, а
иногда — на одном из них. Если не разобраться в функциях этих каналов,
сложно будет редактировать нормал.
2. Карта АО
Так выглядит запечённая карта АО
Карта Ambient occlusion (AO) — это карта затенения. Она показывает самые
глубокие тени в объекте — в основном это тени в углублениях и на
пересечениях. Эту карту используют в игровых движках для создания
корректного освещения, а также она очень полезна в текстурировании.
Отличный пример того, что сложно сделать без АО — это грязь. Она забивается
в самые глубокие места модели, — карта АО поможет легко сгенерировать
маску углублений, чтобы забить их грязью.
Если добавить на low poly модель карту АО, на модели появятся самые глубокие тени
3. Карта Color ID
Для того, чтобы создать карту Color ID, нам нужно покрасить high poly-модель в
разные цвета. Один цвет — это одна группа объектов, как правило разбитая
по материалам. Например, всё дерево на Color ID оранжевое, вся кожа —
розовая, ржавый металл — синий, шерсть — голубая, а новый и чистый метал —
зелёный.
Это не цвета будущей модели — здесь они могут быть любыми. Главное, чтобы
они были контрастными.
Дополнительные карты
То же самое можно сделать в Maya, Blender, 3D Max, Modo или Cinema 4D. Я
очень люблю запечку в Maya. Она печет отличный и аккуратный нормал, но
требует много танцев с бубном из-за артефактов на плоскостях, а также из-за
долгого и нудного подмешивания разных карт в Photoshop.
На курсе Draft Punk я выбираю Marmoset Toolbag, потому что в ней проще
научиться печь. До Maya я недолго пек в xNormal, но научившись печь в Maya в
xNormal не возвращался. Сейчас я часто слышу про запечку в Painter, но сам в
нём никогда не пёк.
Шаг 2: Загружаем low poly и high poly, добавляем их в одну группу запечки
(Baker).
Когда карта будет готова, открываем Maya, добавляем на low poly карту
нормалей. Получается такой результат:
Эти странные пятна на картинке называют артефактами. Замазать их в
Photoshop не так то просто. Нормал очень чувствителен к любым градиентам, и
многие из артефактов проще перепечь, чем исправлять в фотошопе.
Артефакты появились по целому ряду причин. Где-то low poly и high poly плохо
совпадают. Где-то разные элементы запеклись друг на друга. Где-то кейдж
оказался недостаточно большим, а где-то неправильно расставлены хард и софт
эджи.
Вся остальная часть статьи будет посвящена тому, как сделать так, чтобы
артефактов не было. Это достаточно долгий, но системный процесс.
Шейдинг у левой книги — плохой и никогда не запечётся. А с правой книгой всё окей.
Есть нюанс: если начал делать луп хардами, нужно продолжать хардами по
всей его длине, иначе появятся артефакты:
Убираем зазоры между геометрией
Следим, чтобы не было дырок между геометрией:
Триангулируем модель
Проверив всю low poly модель, обязательно включаем функцию триангуляции.
Круглые фаски
Если фаски очень тонкие, они не запекутся. Вот пример слишком тонких фасок:
Зачастую фаски делают даже больше, чем нужно (больше чем в реальности),
чтобы они лучше запеклись. Это очень подробно расписано в практическом
руководстве по нормалу.
Скосы
Скошенная геометрия лучше печётся на плоскости. А геометрия без скосов не
печётся вовсе.
Мы сделали угол не под 90 градусов, а скошенный. Алгоритму запечки проще работать со скосами
Вот пример того, как можно скосить геометрию и повысить выразительность:
Сравним верхнюю деталь, на которой мы сделали скос, и другие детали без скосов.
Флоатеры
Есть очень крутой лайфхак в мире моделлеров — парящая геометрия. Эта
форма шейдит как единое целое:
Чтобы увидеть места, где high poly и low poly не совпадают, покрасим high poly
в яркий контрастный цвет, а low poly — в белый:
Места, в которых high poly выходит за переделы low poly, будут красного цвета.
Оверлапы
Харды и софты
Нормал ненавидит, когда внутри UV-шелла есть hard edge.
На нормале в таком месте будет шов.
Поэтому все эджи внутри UV-шелла делаются софтами.
Внутри жёлтого круга не должно быть хардов, так как они будут находиться внутри UV-шелла
А внешние шеллы могут быть или софтами, или хардами.
Паддинг
Обязательно добавляем небольшие отступы между UV-шеллами.
Обрати на жёлтые стрелки. В этих местах есть паддинг, т.е. отступ между UV шеллами
Важно, чтобы даже при минимальном разрешении текстуры был хотя бы один
пиксель расстояния:
5. Перед тем, как открыть Marmoset
Мы уже подготовили low poly, high poly и развёртку к запечке.
Но прежде чем нажимать волшебную кнопку, нужно выполнить ещё три
простых действия, которые помогут нам в дальнейшем.
Нейминг в Maya
Проверяем, что нейминг внутри группы lowpoly совпадает с неймингом внутри
high poly.
Например:
lowpoly -> barrel
sculpt -> zbrush_barrel
highpoly -> high_barrel
Если это не так, нужно сделать это прямо сейчас, иначе в дальнейшем у нас
будут большие проблемы при работе с группами запечки.
Удали мусор
В Maya есть полезная функция File → Optimize Scene Size, которая удаляет из
сцены мусор, который нигде не используется. Это лишние слои, лишние
материалы и пустые группы.
Backup
Перед запечкой создаём отдельную папку «Bake», и сохраняем туда бэкап
исходного файла до начала запечки — на всякий случай).
Указываем, что нужно запечь Normal, AO, Material ID (=Color ID), и выбираем
папку, в которую программа будет сохранять карты.
Вот пример: мы запекли нашу бочку. На первый взгляд всё выглядит неплохо,
но если мы сдвинем любой из элементов, то увидим кучу артефактов:
Всё потому, что бочка и её обшивка — это геометрии, которые лежат друг на
друге. В таких местах алгоритмы запечки начинают глючить и создавать море
некрасивых артефактов.
Обязательно следим, чтобы low poly и high poly совпадали и двигались вместе,
иначе опять будут артефакты.
Делаем Explode
Пока что рано нажимать кнопку «Bake». На этом этапе просто разносим
объекты в сторону и переходим к следующему пункту: работе с Cage.
Более подробно про то, какие кнопки нажимать, мы сняли видео аж несколько
лет назад:
Cage
При выборе одной конкретной группы запечки вокруг каждого объекта
появилось поле поиска high poly, которое называется Cage. Это
полупрозрачная область, которая оборачивает все элементы выбранной
группы.
Наши задачи:
6. Запечка карт
Что нажать?
Нажимаем на кнопку «Bake».
Прежде всего, нужно знать, что у нормала есть 2 разных алгоритма работы.
И у обоих алгоритмов есть свои сильные и слабые стороны.
1. Geometry Normal
2. Surface Normal
Особенность алгоритма: учитывает харды и софты.
Магия Photoshop
Два вида нормала — это хорошо, но и они не панацея.
А для тех, кто хочет пройти весь пайплайн от «А» до «Я», вместе с личным
наставником сделать полный цикл своей модели и познакомиться с сотней
трёхмерщиков со всей России — ещё не поздно записаться на новый поток
курса Draft Punk.
Поделиться Сохранить в закладках Ещё 9 936 просмотров · 779 упоминаний