Normal map Суньцзо.


Внимание салаги!!!
Только нормалмап запеченный с высоко-полигональной модели открывает чакры и очищает карму!

Так сказал Суньцзо, а уж он знал толк в этом деле.

1. Незнание ведет к ошибкам, ошибки ведут насмешкам, насмешки ведут к ненависти, ненависть ведет к Темной стороне © Йода.

В начале было слово о том, что же такое normal-map. Нормал это текстура, в цветовые каналы которой сохранена векторная информация о смещении точки hi-poly модели относительно low-poly модели.

Красный канал определяет горизонтальный (по оси Х координаты) вектор. Зеленый канал определяет вертикальный (Y-ось координат) вектор. Синий канал определяет высоту (оси координат) вектора, все значения до 128 означают то, что поверхность не видна (точнее вывернута в другую сторону) и на нее не действует динамический свет. Поэтому такие значения не используются и текстуры нормала фиолетового цвета.

Для вида UVW-координат 2D-текстуры это можно изобразить в таком виде:

Есть одна тонкость, программы Maya, Softimage XSI, ZBrush создают текстуру нормала именно так, а вот 3DMax уже много-много лет делает нормал с инвертированным зеленым каналом. В Mudbox можно при запекании нормала выбрать совместимость текстуры с Maya или 3DMax. Впрочем и в самом 3DMax можно изменить это в настройках создания нормала выбрав пункт Up:

2. Мастер-класс Суньцзо.

Если есть терпение и мастерство сделать истинно православный нормал - хорошо. Но часто на это нету ни времени, ни терпения и в бой вступает nVidia Normal map filter. PS: по умолчанию фильтр работает по алгоритму 3DMax, это нужно учитывать при совмещении карт нормалей полученных в других программах и при необходимости инвертировать зеленый канал.

Для начала простой пример как делать не надо, но как делают.

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

Поэтому и фото-текстуры нужно редактировать перед применением фильтра. Фактически нужно создать черно-белую карту высот по текстуре. Только это гарантирует правильный результат. И тут уже все зависит от вашего терпения и аккуратности :).

Для начала я быстро обвел камни магнитным лассо. Камни залил цветом 80% белого. Копия слоя камней заблюрена гаусс-блюром на 3 рх, а на сам слой эффект внутреннего свечения (по центру), для еще небольшой объемности. Черный фон залил 20% белого и затем копию оригинального слоя сверху через Overlay.