Открыта запись на курс Vehicles and Props Старт обучения 28 ноября 2024 Преимущества курса: - разбор домашних работ только автором курса; - справедливые фидбеки каждую неделю; - помощь в выполнении тестового задания при трудоустройстве; - рекомендации в топовые студии в РФ при успешном прохождении курса.
Normal Map

Lowpoly mesh. Низкополигональная модель

01_LowpolyMESH_CGitems.ru_Tutorial.png

Для каждой группы сглаживания в вашей модели вы должны использовать свои UV шеллы, иначе вы получите неправильный бейк на углах.

UV развёртка

Сохраняй свои UV шеллы ровными и прямыми на столько, на сколько это возможно, чтобы запекать чистый Normal Map без артефактов и не иметь проблем с ориентированием их по сетке UV.

01_UV_CGitems.ru_Tutorial.png UV развёртка

Если у тебя есть переиспользование UV шеллов, используй для бейка только основной UV квадрат с основным UV шеллом, который ты хочешь запекать в первую очередь, остальные UV шеллы сноси на соседние UDIMs. Это позволит тебе избежать перепекания в одном и том же месте.

Если ты имеешь проблемы с запеканием Lowpoly меша в местах, где на Highpoly есть "разрыв" или "технологическая щель" между объектами, то просто добавь Edge поверх этого места на Lowpoly модели

Не забывай сохранять расстояния между всеми UV шеллами. Иначе ты получишь артефакты, которые будут от нормалей при наезжании UV шеллов друг на друга.

Это минимальный отступ между UV шеллами, который можно устанавливать при использовании того или иного разрешения текстуры. Я бы полагался на эти значения при запекании, но на деле рекомендую делать их чуть больше.

  • 128х128px = 2px
  • 256х256px = 2px
  • 512х512px = 4px
  • 1024х1024px = 8px
  • 2048х2048px = 16px

Highpoly mesh. Высокополигональная модель

03_HighpolyMESH_CGitems.ru_Tutorial.png

Пытайся избегать "Turbosmooth" или "smooth" особенно когда ты запекаешь твердые поверхности своей модели. Это может создать странные артефакты.

Если ты хочешь запечь фаску в Normal map, вместо команды "Turbosmooth", применяй "Bevel Modifier" на свои Edges (грани)

Если ты хочешь создать планарные детали на Normal Map такие как винты, болты, гайки. Старайся избегать создания их, как в реальной жизни, делай скос под 45° как на примере ниже.

04_NormalMap_CGitems.ru_Tutorial.png Слева НЕправильный пример. Угол болта под 90°, бейк будет без объёма. Справа правильный вариант, на который стоит ориентироваться при создании мелкой детализации 05_NormalMap_CGitems.ru_Tutorial.png Старайся не делать странные фаски на углах, иначе ты получишь артефакты при запекании. Если тебе нужна фаска, то просто добавь её на Lowpoly модели

Запеканите Normal Map

06_NormalMap_CGitems.ru_Tutorial.png С использованием общего CAGE (Average Normals). Мелкие детали, которые выполнены с помощью флоатеров, запеклись криво с артефактами. "Разрывы", "Технологические щели", фаски - корректно 07_NormalMap_CGitems.ru_Tutorial.png CAGE с разрывом. Всё запеклось корретно за исключением фасок

Почему так происходит?

Об этом можно почитать в статье Понятие Normal. Функции Cage и Average Normal. Для чего они применяются Если в кратце, то есть 2 способа запекания Normal map - это общий CAGE без разрыва, и, CAGE, который имеет разрыв. Для корретного бейка нужно использовать 2 способа. 08_NormalMap_CGitems.ru_Tutorial.png С использованием общего CAGE (Average Normals) 09_NormalMap_CGitems.ru_Tutorial.png CAGE с разрывом

Решение №1

Взять 2 карты нормалей: Average Normal и обычный Normal, создать маску через Photoshop на местах с фасками и объединить два этих нормала в один с использованием маски через Photoshop или Substance Designer.

10_NormalMap_CGitems.ru_Tutorial.png Сведение двух Normal Maps 11_NormalMap_CGitems.ru_Tutorial.png Substance Designer 12_NormalMap_CGitems.ru_Tutorial_Photoshop.png Photoshop 13_NormalMap_CGitems.ru_Tutorial.png Финальный результат

Решение №2

После того как вы убедились что UV развёртка сделана хорошо, то можно двигаться дальше. Сдублируй свою Lowpoly и добавь на неё больше полигонов (просто добавь дополнительных Edges в сетку меша). Вы не должены назначать Smooth своему Lowpoly мешу, просто сделайте его более плотным.

Примечание: используй этот Lowpoly mesh с увеличенной сеткой только для того чтобы запечь Normal Map. Запечённый Normal Map применяй на свой основной Lowpoly mesh, с которым ты работал ранее 13_NormalMap_CGitems.ru_Tutorial.png Результат после этого способа должен быть таким

Самый быстрый способ

Чтобы запечь отличную фаску и получить мелкую детализацию (болты, гайки) — быстро, на Normal Map. Тебе следует запекать только фаски с Highpoly моделей без болтов и гаек, а их добавлять уже после, с использованием текстурного атласа Hightmap (карта высот), как на примере ниже. В интернете несложно найти много мелкой детализации такого плана, или ты можешь создать эту Hightmap карту самостоятельно с использованием собственных Highpoly моделей.

14_NormalMap_CGitems.ru_Tutorial.png Атлас мелкой детализации. Hightmap

Помимо самого быстрого способа, это ещё наиболее эффективное решение. Ты можешь легко и быстро изменить или удалить эти болты, гайки и.т.п.

Болты с использованием Highpoly

Ты должен изменить болты в самой HP модели, перебейкать все карты и обновить все текстуры в Substance 3D Painter и сделать reExport.

Атлас болтов с использованием Substance 3D Painter

Ты должен изменить только слой где создавал эту детализацию с болтами и сделать reExport.

Запекание цилиндров

15_NormalMap_CGitems.ru_Tutorial.png 16_NormalMap_CGitems.ru_Tutorial.png Highpoly A - цилиндр имеет 10 сечений. Highpoly B - цилиндр имеет 20 сечений. Lowpoly mesh везде один и тот же

Результат запекания

17_NormalMap_CGitems.ru_Tutorial.png Запекание Normal Map с использованием Highpoly A 18_NormalMap_CGitems.ru_Tutorial.png Запекание Normal Map с использованием Highpoly B

При использовании цилиндра с меньшим количеством сечений для HP меша, мы получаем корректный бейк фаски на крышке цилиндра и с торца. При этом если использовать HP mesh с большим количеством сечений, мы получим искажение на фаске при просмотре цилиндра сбоку под прямым углом, при этом если смотреть на объект в 3/4 то всё выглядит качественно.

Примечание: используй первый способ запекания цилиндров если хочешь чтобы фаска выглядела корректно со всех ракурсов. Второй способ подходит если модель в большей степени распологается под углом в 3/4 к игроку.

Добейся лучшего результата

Однако, если у нас есть время, мы можем получить лучший результат смешав 2 нормалки в одну.

18_B_NormalMap_CGitems.ru_Tutorial.png

Результат запекания. Собственный опыт

19_NormalMap_CGitems.ru_Tutorial.png Highpoly и Lowpoly меш имеет одинаковое количество сечений в "цилиндре". Фаски запекаются корректно без искажений при виде сбоку и в 3/4 Минус: видна огранка на цилиндре 20_NormalMap_CGitems.ru_Tutorial.png Highpoly меш имеет большое количество сечений в "цилиндре", Lowpoly меш тот же. Сбоку видны искажения, фаски запекаются корректно без искажений при виде в 3/4. Минус: видны артефакты при виде сбоку. Плюс: огранка не видна при виде в 3/4 21_NormalMap_CGitems.ru_Tutorial.png Пример Highpoly и Lowpoly 22_NormalMap_CGitems.ru_Tutorial.png Пример Normal Map, при использовании разных Highpoly для запекания

Настройки для запекания

Marmoset Toolbag

Marmoset умеет запекать используя 2 типа cage

Используя cage (bake bevels)

23_NormalMap_CGitems.ru_Tutorial.png Нужно поставить галку у Smooth Cage и поиграться с настройками Min/Max Offset чтобы получить приемлемую фаску при запекании

БЕЗ cage (planar details)

24_NormalMap_CGitems.ru_Tutorial.png Для планарных деталей у нас остаются такие же настройки, только снята галка Smooth Cage Автор статьи: Leonardo Iezzi
Перевод: cgitems.ru
Ваша заявка отправлена!
Если во входящих на почте: нет письма, проверьте папку спам или напишите нам в телеграм