В прошлый раз мы рассмотрели как подготовить модели, какие алгоритмы есть и как запечь качественную карту нормалей в Substance Painter.
В этой статье посмотрим как в Blender Cycles получить аналогичный результат двумя разными способами. У каждого есть свои плюсы и минусы. Конечно же, я не буду рассказывать какие кнопки жать чтобы запечь нормали, как избежать альясинга и прочие прописные истины, про которые можно узнать из любого бабушкиного радио.
Способ 1. Комбинирование карт нормалей через маску в шейдере
- Подготавливаем модели, создаём Cage.
- Запекаем планарную карту нормалей и сохраняем.
- Запекаем карту нормалей с Cage и также сохраняем.
- Собираем ноды.
- Создаём чёрную маску и подключаем к нодам.
- Рисуем маску и сохраняем.
Если комбинированную карту нужно экспортировать, можно её перепечь с использованием этого шейдера, либо скомбинировать в Photoshop, используя нарисованную маску.

Способ 2. Изолирование планарных деталей посредством дополнительной геометрии на Low-Poly
Как мы знаем, искажение планарных деталей происходит из-за усреднения нормалей между плоскостями. Чтобы защитить плоскость от усреднения, её необходимо изолировать посредством дополнительной геометрии.
- Подготавливаем модели.
- Создаём копию Low-Poly модели для запекания, добавляем на ней дополнительную геометрию для изоляции планарных деталей и создаём Cage для этой модели.
- Запекаем карту нормалей с Cage и сохраняем.
На выходе мы сразу получаем готовую, корректную, карту нормалей.
Почему так происходит? Запекание по прежнему происходит по средним нормалям, но мы добавляем промежуточные полигоны между планарными деталями и фаской, который выравнивает лучи прямо (потому что среднее значение между двумя прямыми – прямая).
Чтобы при таком запекании не пострадали фаски, необходимо дополнительные рёбра располагать на достаточном расстоянии от фасок.
Конечно, этот способ можно использовать в других программах, но он требует правку геометрии, что не везде удобно это делать.
Теперь немного о плюсах и минусах
Способ 1 более гибкий, потому что позволяет вручную контролировать какие детали необходимо исправить, но сложнее в запекании и настройке дерева нодов. В добавок к этому есть некоторые сложно с экспортом итоговой карты нормалей.
Для способа 2 необходимо создавать дополнительную модель и править её. На сложных моделях это может быть не так просто. Также нет такой гибкости, как у способа 1. Из плюсов можно отметить простоту процесса запекания и экспорта финальной карты нормалей.