Что такое normal в текстурах. Создание low модели головы человека с картой нормалей от А до Я. Настройки осей для запекания КН в разных программах

Основные правила. Подготовка модели к экспорту в Substance painter.

Всем привет! В этой статье я хотел бы поговорить о запекании карты нормалей (normal map) в программе Substance Painter . Вернее было бы сказать, что я попытался собрать воедино все тонкости запекания в Substance Painter. В самом процессе запекания карты нормалей нет ничего сложного и сверхъестественного. Вопрос в том, почему у многих начинающих этого не получается. Хотя вроде все делают как надо. Я попытался вывести несколько правил, которые помогут вам сделать это быстро и качественно. Так же мы рассмотрим причины, по которым порой не получается запечь карту нормалей. Разбирать процесс подготовки мы будем на примере части .


Я буду делать урок на основе программы Maya . В 3ds Max принципы те же, только инструменты другие.


Большинство наших действий будут направлено на подготовку модели для запекания. Что-то из моих пунктов не так критично и может просто указывать на то, как я подготавливаю модель для Substance Painter и игрового движка UE4 или Unity 5.


Чтобы запечь карту нормалей нам понадобиться две модели. Одна модель высоко полигональная (hi poly), а другая низко полигональная (low poly). Вы можете изготовить вначале высоко полигональную , а затем на ее основе сделать низко полигональную модель. Или выражаясь по-другому сделать ретопологию . И сделать это можно с помощью программы topoGun или вручную. Хотя кто-то предпочитает делать вначале low poly модель и затем уже наделять ее деталями. Все зависит от вашего предпочтения и удобства.


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

1. Suffix: делаем правильные суффиксы

Самое первое правило касается названий ваших деталей. Имена вашим деталям нужно будет давать специфические. Всем высоко полигональным деталям нужно будет давать суффикс _high, а низко полигональным _low. Обратите внимание на нижнее подчеркивание:
Base_low – Base_high
Крыло_low – Крыло_high


Всегда обращайте внимание на название ваших деталей чтобы не закрались ошибки, иначе Substance Painter откажется запекать карту нормалей. Важно, чтобы имена деталей совпадали и отличались только в суффиксе, _low и _high должны быть четкими. То есть без каких-либо приписок типа _low1. А такое бывает потому, что Maya сама приписывает цифры, так как название _low уже есть.


В дальнейшем, вы сможете поменять название суффиксов на те, которые вам удобны, но об этом позже.


Внимательно посмотрите названия деталей в Outliner . Возможны вот такие казусы:


2. Align: выравниваем модели для запекания

Важно выровнять обе модели – вернее, отцентрировать их по отношению друг к другу! Делается это с помощью инструментов выравнивания Align .



Иначе, у вас может получиться вот такая штука:



Я, конечно, немного утрирую. Потому что сдвинул очень далеко. Но у вас могут быть мелкие артефакты, и вы будете задумываться почему такое происходит.

3. Freeze: сброс координат

Помимо того, что вы выровняете все детали можно еще сбросить все координаты в ноль посредством инструмента Freeze . Рекомендую делать эту операцию непосредственно перед экспортом модели в.obj формат.


4. Center Pivot: выставляем опорную точку

Для дальнейшей работы вам необходимо будет выставить реальный центр детали Center Pivot .


5. Cleanup: проверяем ошибки геометрии

Следующим шагом будет проверка нашей модели на наличие ошибок в геометрии: это один из важнейших этапов для последующего запекания карты нормалей (normal map) в Substance Painter. Для этого мы будем использовать инструмент Cleanup .



Раздел Cleanup Effect

Operation.

  • Cleanup matching polygon – это практически автоматический поиск исправление, удаление или разбиение на треугольники неправильных полигонов в вашей модели.
  • Select matching polygons – неправильные полигоны будут подсвечены на нашей модели. Maya же исправлять ничего не будет, только выберет их.
  • Apply to selection objects – применить к выбранным объектам.
  • Apply to all polygonal objects – применить ко всем полигональным объектам.
  • Keep construction history – Оставляет историю в channel box.


Раздел Fix by Tesselation .


В зависимости от выбранных ранее пунктов программа либо исправит проблему, либо укажет на нее.

  • 4-sided faces – покажет все четырехугольные полигоны.
  • Faces with more than 4 sides – покажет полигоны с более чем четырьмя сторонами.
  • Concave faces – отмечает все полигоны, которые не являются выпуклыми фигурами.
  • Faces with hole – полигоны с отверстиями.
  • Non-planar faces – будет отмечать все полигоны, которые не являются плоскостью. Укажет все полигоны, чьи вершины не лежат в одной плоскости.


Раздел Remove Geometry .

  • faces – Удаляет или показывает дубликаты полигонов, созданные по ошибке.
  • Nonmanifold geometry – показывает или удаляет неправильную геометрию (На самом деле Maya отделит проблемные полигоны от основной модели). Ошибки типа выдавленных случайно полигонов или полигонов, которые прикреплены к остальной модели через одну точку (vertex).
  • Normals and geometry – позволит вам исправить вывернутые полигон.
  • Geometry only – только геометрия.
  • Edges with zero length – показывает или удаляет ребро нулевой длины. Ниже мы можем задать этот порог Length tolerance – .
  • Faces with zero geometry area – полигоны с нулевой площадью геометрии. Area tolerance – (см. рисунок ниже).
  • Faces with a zero map area – полигоны с нулевой площадью карты. Покажет полигоны, которые на UV развертке меньше чем указано в окошке Area tolerance – .

Правильная UV развертка для запекания карт нормалей

Ваша UV развертка должна тоже соответствовать определённым правилам.


Основная проблема «запекателя» в Substance Painter состоит в том, что он не любит большие натяжения в модели. То есть, ему проще понимать объект как множество отдельных полигонов. Если же у модели есть острые углы, то программе это не совсем нравится, и она не корректно запекает карту Normal. Поэтому я рекомендую при нарезке UV обращать внимание на эти самые углы под 90° или 45° и разрезать 3д-модель прямо по ним. Это снимет напряжение на развертке и модель запечётся более-менее хорошо. А главное, не будет мерзких швов.


Если в вашей модели присутствуют острые углы, то режьте UV прям по ним. Я сделал как-то так.



В результате, у меня получилась хорошая, сглаженная модель.



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


7. Soft or Hard Edge: определяем жесткие и мягкие грани

Следующим важным элементом в наших правилах будет определение жестких и мягких граней.
По сути, это правило сводится к тому, что острые углы детали – жесткие (hard ), а внутренности- мягкие (soft ).
Полезно будет изучить окно Polygon Selection Constraint on Edge (Select => Use Constrants...). Оно позволяет задать всевозможные фильтры на выбираемые компоненты: например, выбирать только грани, находящиеся под определенным углом к линии взгляда. Таких фильтров там несколько.



Для начала я сбросил все настройки выбора (Reset ). Выбираем все ребра и выставляем им всем сглаживание Soft .




Затем, настроим фильтр по углам.



Минимальный угол: 45°, а максимальный: 120°.


8. History: работаем с историей

Тут все просто: Удаляем всю историю, что вы делали с деталью. Есть смысл вывести эту команду на полочку Shelf. Как это сделать, я говорил в ;).



Есть еще один момент, связанный, скорее всего, с багом программы, когда история не хочет удаляться. Перерыв кучу источников по этому вопросу, я пришел к выводу, что самым простым способом будет продублировать модель, а старую удалить. Есть еще подозрение на то, что все плохо с историей после инструмента Freeze. Так что, старайтесь замораживать позицию модели непосредственно перед экспортом в формат obj. Если у вас есть другие способы борьбы с этой ошибкой – напишите мне (или в комментариях к уроку).

9. Запекание мелких деталей

Все мелкие детали, что вы сделали на hi poly модели (ручки, кнопки, дополнительные панельки) можно запечь на low poly модели посредством карты Normal. При создании мелких деталей следует учитывать их геометрию. Стараться избегать крутых углов под 90°. Лучше чуть увеличить угол – тогда программе будет проще запечь геометрию.






Все детали вы соединяете в одну посредством инструмента Combine .



Вот тут возможен еще один казус, который может помешать вам запечь мелкие детали. Хотя все до банального просто. При соединении деталей в одну посредством Combine , программа Maya переименовывает эту получившуюся деталь, а вы этого можете не заметить. Так что внимательно проверяйте все через Outliner . Я просто выделяю все детали из слоя low и смотрю чтобы не было никаких казусов с именами.


10. Формат экспорта

В Maya есть возможность сохранять в формат .fbx посредством инструмента game exporter . Лично у меня Substance Painter и Substance Designer работают с ошибками с этим форматом. На модели возникают дырки в геометрии. Предполагаю, что это какой-то баг Maya. Возможно, у вас все будет прекрасно – попробуйте!
У меня отлично работает File -> Export Selection и экспорт в .obj формат.

Не буду разбирать все пункты этого окна, так как это тема отдельного разговора. Пробегусь только по тем пунктам, которые нам интересны в данном уроке.
Оставляем галочку только напротив пункта Normal , остальные снимаем. Потому что мы запекаем только карту нормалей (Normal). Разрешение играет роль, от этого будет зависеть качество карты.
В разделе High poly parameters , в окне High Definition Meshes , нажимаем на пиктограмму листика с загнутым краем. Выбираем нашу high poly модель.


Cage File : тут вам позволяют выбрать свою cage модель, если ее у вас нет то пропускаем этот пункт.
Max Frontal Distance и Max Rear Distance : Я выставил значение 0.03 – это позволило мне добиться хорошего качества. Вы можете поиграть этим значение в большую или меньшую сторону и посмотреть на конечный результат запекания карт нормалей (normal map).


Остальные галочки оставьте как есть. Единственное, может включать или выключать Average Normals (усреднение значений).
Match: By Mesh name или Always – важный пункт, если в вашей модельке много деталей. Позволяет запечь каждую деталь как бы отдельно. То есть программа уже не смотрит на находящиеся рядом детали. Если у вас много деталей выбирайте By Mesh name . Вот именно для этой цели мы и давали каждой детали отдельные похожие названия изменив при этом suffix _low и high.
base_low – base_high
Antialiasing: Выбор уровня сглаживания.
High poly mesh suffix и Low poly mesh suffix : вот тут вы можете назначать имена суффиксов сами, какие вам больше удобны.



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


Напомним, что в предыдущих уроках по Maya ( и ), мы подробно изучали создание low-poly 3d-модели микроавтобуса.


На этом наш урок по запеканию карты нормалей в Substance Painter закончен. Спасибо за внимание! Если вас интересуют уроки по Substance Painter пишите.
С Уважением, !


Перепечатка и использования данного материала без прямой обратной ссылки категорически запрещена!

» Раздел: Моделлинг

Пролог

В этом небольшом пособии я распишу шаг за шагом несложную процедуру слияния базовой текстуры с так называемой картой нормалей (normal map). О том, для чего это нужно, чуть ниже. Несмотря на очевидность процесса для тех, кто уже знает эту фишку, многие не в курсе. Лично я дошёл до этого сам спустя пару лет после того как начал конвертировать в Warcraft 3 модели из игр, поддерживающих normalmapping, что я вляется некоторым упущением.

» Что такое Normal Map?

Вот, что написано о карте нормалей на Polycount Wiki:
Карта нормалей используется, как правило, для имитации детализированной high-res геометрии путём наложения на low-res модель. Каждый пиксель карты нормальней содержит данные о нормали - вектора, описывающего форму поверхности оригинальной high-res сетки в данной точке. Красный, зелёный и синие каналы карты нормалей используются для обозначения направления нормали каждого пиксела. (Авторский перевод)

Думаю, все плюшки технологии normal mapping"а вполне очевидны, поэтому большинство современных 3D игр закономерно используют её. Выражается это в том, что каждая текстура из таких игр обладает своим дублёром, который и содержит информацию о нормалях. Многие неопытные моделлеры просто игнорируют её при конвертации моделей и текстур, полагая, что она совершенно бесполезна для игр, не поддерживающих данную технологию (например, Warcraft3 или World of Warcraft). И совершенно напрасно.
А всё дело в том, что текстуры, которые рисуются для игр с реалистичным освещением, намеренно делают как можно менее контрастными, оставляя минимум теней - ведь в противном случае, нарисованные тени будут конфликтовать с реальными тенями от освещения. Поэтому для передачи фактуры используется карта нормалей, а базовые текстуры порой выглядят почти пустыми.
Таким образом, наша задача - "слить" базовую текстуру с картой нормалей, чтобы на ней проявились тени. Всё, что для этого нужно - это Photoshop и прямые руки (тм)

Шаг за шагом

Наиболее требовательными к карте нормалей всегда были фактурные поверхности, например камень и дерево. Я остановил свой выбор на текстуре камне из пака Top-Down Fantasy. Поскольку текстуры там в формате tif, мне не понадобилось никакого стороннего софта, чтобы открыть их в Photoshop.

Шаг 1

Итак, слева - базовая текстура (выглядит довольно невзрачно, не правда ли?). Справа - карта нормалей. Как правило, она имеет то же название, что и базовая текстура, но с припиской _n или _nmp (что значит normal map), в то время как у оригинала часто бывает приписка _diff (что значит diffuse). Открываем оба файла.

Шаг 2

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

Шаг 3

Цепляем "гипсовую" текстуру и бесцеремонно перетаскиваем в окно к базовой текстуре. Там у нас создаётся новый слой, закрывающий собой фон. Окно с картой нормалей теперь можно закрыть, оно нам больше не понадобится. У получившегося бутерброда выбираем верхний, "гипсовый" слой, и открываем его параметры наложения, дважды кликнув мышкой по миниатюре или вызвав меню правым кликом и выбрав соответствующий пункт из свитка. Режим наложения по умолчанию стоит "Нормальный".

Шаг 4

Открываем свиток, и нам выпадает немалый выбор из вариантов наложения. Любопытства ради, можете попробовать различные режимы. Я эмпирическим путём пришёл к режиму "Перекрытие", как наиболее подходящему нашей задаче.

Шаг 5

Нажав окей, мы видим, что базовая текстура, слившись с "гипсовой", стала куда больше похожа на настоящий камень, чем на на жёлто-коричневую кляксу. Однако оставить текстуру на этой стадии было бы халтурой, т.к. перкрывшись практически белой картой нормалей, текстуры выглядит светлее, чем должна. Чтобы убавить яркость, сначала объединяем слои в один , затем заходим в Изображение -> Коррекция -> Цветовой тон/Насыщенность.

Шаг 6

В появившемся окне нам нужен параметр "Яркость". Дальше - момент достаточно интуитивный, я делал примерно, на глаз, поэтому ваши значения могут отличаться в зависимости от глазомера - слегка убавляем яркость, двинув ползунок влево, чтобы вернуть тон текстуры к тому, каким он был в оригинале. По идее, -20 должно хватить. В любом случае, советую выбрать чёткое, круглое значение, чтобы легко запомнить и использовать его в остальных текстурах, не подбирая тон каждый раз на глаз.

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

Есть несколько способов создать/имитировать рельеф в 3dsMax:

  1. Моделирование
  2. Bump maps
  3. Diffuse maps
  4. Normal maps
  5. Displacement

Рассмотрим их все по порядку, случаи их применения, плюсы и минусы:

1. Моделирование

Первый и самый очевидный способ – это моделирование. В результате чего вы получаете «честный» рельеф, без каких либо проблем в дальнейшей визуализации. Реальная геометрия объекта при должной детализации хорошо смотрится при любых масштабах и ракурсах.

Несомненные плюсы реальной геометрии: корректный абрис объекта (Рис.1.B). и корректная тень (Рис.1.С). Создание рельефа с помощью моделирования является предпочтительным способом с точки зрения получения качественного продукта на выходе. Однако же при достаточной детализации возрастает и количество полигонов в модели, что значительно увеличивает время просчета изображения. Поэтому часто используют альтернативные способы.

2. Bump maps

Можно создать нехитрую черно-белую карту (растровую или процедурную) описывающую неровности материала – чем светлее участок карты, тем «выше» точка рельефа и наоборот. Bump-карты не изменяют геометрии вашего объекта, а лишь управляют отражением света от его поверхности, в результате чего создается иллюзия, что материал имеет неровности (Рис.2.А). Поэтому часто такой рельеф называют псевдорельефом.

Разумеется, с применением карты абрис объекта не меняется (Рис.2.В) (и характер тени, конечно). Следовательно применять Bump лучше на моделях среднего плана. Поэтому же не следует иммитировать bump-картами слишком большие перепады рельефа (это лучше предоставить реальной геометрии). Сцены с картами Bump визуализируются значительно быстрее, чем с реальной геометрией.

Bump-карты могут существенно изменить внешний вид материала, а значит и сделать его интереснее. На Рис.3 все материалы созданы с использованием bump-карт.

Необязательно использовать только рисованные (или фотографические) Bump-карты. Вполне неплохих результатов можно добиться комбинируя стандартные процедурные карты доступные в 3ds Max - Рис.4.

Для создания карты рельефа этого металлического шара использовались четыре процедурных карты: Noise (Шум), Speckle (Крапчатый), Splat (Брызги), Dent (Вмятины).

3. Diffuse maps (Диффузные карты)

Взгляните на рисунок Рис.5. Между изображениями A и B почти не видно разницы. Тем не менее на рисунке Рис.5.А изображен материал только с диффузной картой (непосредственная окраска поверхности), на рисунке Рис.5.B к диффузной карте добавляется Bump-карта для формирования микрорельефа.

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

Однако для криволинейных поверхностей (особенно, если они отражают) bump-карты усиливают свою роль в формировании материала. На Рис.6.В. действие bump-карты очень заметно, а значит применение ее оправдано.

4. Normal maps (Карты нормалей)

В своей физике карты нормалей сходны с bump-картами. Отличие состоит в том, что карты Bump строятся на основе двух измерений (по шкале от черного до белого), а Normal во всех трех. Поэтому карты нормалей выглядят немного необычно (Рис.7).

Карты нормалей очень активно используются в играх, так как позволяют существенно сократить количество полигонов, почти не потеряв в детализации модели. На Рис.8.А изображена низкополигональная (!) модель (700 полигонов), на Рис.8.В карта нормалей соответственно.

Первоначальная высокополигональная модель (со всеми узорами и орнаментами) этого сундука содержала почти 2 миллиона полигонов. Понятно, что такой «тяжелый» сундук использовать в игре было бы просто невозможно.

Карты нормалей не очень требовательны к ресурсам, благодаря современным видеокартам.

5. Displacement (Смещение геометрии)

Displacement является некоторым симбиозом реальной геометрии и имитации рельефа с помощью карт. С одной стороны, мы не моделируем вручную рельеф поверхности, а используем карту. С другой стороны мы имеем на выходе реальную геометрию, а не имитацию.

Для Displacement используют черно-белые карты высот (точно такие же как и для Bump).

Displacement целесообразно использовать там, где при ручном моделировании вы потеряете очень много времени в виду сложности сетки. Задачи, которые можно решить с помощью Displacement чрезвычайно широки: горы, протекторы автомобильных шин, сложные фактуры пола и даже трава и махровое полотенце. И конечно многое другое.

Благодаря реальной геометрии на выходе и корректному абрису объекта, Displacement можно использовать при любых ракурсах и на любых планах. Следует отметить, что расчет карт смещения довольно сильно нагружает процессор компьютера. Чем больше карта Displacement, тем точнее детали геометрии на выходе, но и тем больше время визуализации.

Что же выбрать? Боюсь, что дать однозначный ответ здесь невозможно. Для каждой задачи вам понадобится свой способ формирования рельефа. И возможно, что в одной сцене вы используете и bump, и displacement, и normal; что-то сделаете реальной геометрией, а какая-то модель останется довольствоваться диффузной картой.

Как использовать карты микрорельефа в 3ds Max?

Если с честным моделированием все более-менее понятно, то как поступить с картами Bump, Diffuse, Normal, Displacement ? Как заставить их работать?

Почти все карты (процедурные и растровые) в 3ds Max помещаются в специальные слоты (каналы). Слоты для материалов можно найти в Map Editor (Редактор материалов – горячая клавиша M) на свитке Maps (Карты) – Рис.10.

В зависимости от того, с каким типом материала мы в данный момент работаем, список карт будет меняться. На Рис.10 мы можем видеть карты для материала типа VrayMtl (материал используется с визуализатором Vray). Левый столбик свитка содержит названия карт. Самые часто используемые карты:

  • Diffuse (Диффузная – непосредственная окраска объекта, его фактура)
  • Reflect (Отражение – сила отражательной способности материала)
  • Refract (Преломление – насколько сильно материал преломляет свет)
  • Glossiness (Глянцевитость – сила размытия блика на поверхности)
  • Bump (Микрорельеф – карта неровностей поверхности)
  • Opacity (Непрозрачность – управляет прозрачностью объекта)

Правее названий карт располагается столбик с окнами-счетчиками, где можно указать силу действия карты на выбранный параметр. Большинство карт используют значения от 0 до 100, но встречаются исключения, например Bump позволяет задавать числа от -1000 до 1000. Галочка после окна-счетчика позволяет включить/исключить действие карты на материал.

Если в слоте не указана какая-либо карта, то слот содержит надпись None (Пусто). Если карта добавлена, то слот меняет свое название на имя карты – Рис.11.

Добавить карту можно, щелкнув по слоту левой кнопкой мыши и в открывшемся списке выбрав требуемую, нажать ОК. Если карта выбирается растровая (Bitmap ), то после необходимо указать в диалоговом окне путь к растровому файлу. Удалить карту из слота не сложнее – правая кнопка мыши по слоту, выбрать в контекстном меню команду Clear (Очистить) или Cut (Вырезать), в последнем случае карта при удалении будет помещена в буфер.

Итак по порядку.

Карты Bump следует добавлять в одноименный слот Bump по вышеуказанному алгоритму. Если вы используете растровую карту, то проверьте, все ли в порядке с , в противном случае карта просто не ляжет на объект корректно, появятся растяжения или, что еще хуже, разрывы.

С диффузной картой дело обстоит точно также как с картой Bump . Только слот следует использовать Diffuse . Это по сути самое простое текстурирование объекта – просто окрашивание его в какой-то рисунок.

Карты нормалей помещаются в слот Bump, но в списке тип карты следует выбрать Normal Bump (даже если карта у вас растровая), после в настройках самой карты Normal Bump указать непосредственно карту, отвечающую за микрорельеф – Рис.12. Получится некоторая вложенность «карта в карте».

Карты Displacement нужно помещать в слот Displace. Следует учитывать, что чем большее разрешение имеет карта, тем качественнее произойдет смещение геометрии, но тем больше будет время визуализации. Иногда большие карты просто «подвешивают» компьютер. Displacement - очень затратная по расчетным ресурсам технология.

Также можно поместить карту в слот модификатора VrayDisplacementMod, предварительно назначив последний на ваш объект. Актуально, только, если вы используете визуализатор Vray.

Где найти карты?

Карты Diffuse – это фотографии, рисунки или коллажи из того и другого. Bump и Displace в большинстве случаев представляют собой обесцвеченные (использовать цветные изображения бессмысленно) и скорректированные аналоги диффузных карт. Карты нормалей можно получить с помощью плагинов также из обычных рисунков или фотографий. Но если у вас под рукой есть высокополигональная копия объекта, то имеет смысл «снять» Normal Map с high-poly модели и спроецировать на low-poly, но это тема отдельного урока.

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


Карта нормалей спасает в ситуации, когда нам нужна модель с малым количеством полигонов, но с хорошей детализацией. Наложив карту нормалей на lowpoly (низкополигональную) модель, мы увидим результат только на рендере. Такой способ применяется в создании игр, когда каждый лишний полигон требует большей производительности компьютера, а просчёт карты нормалей требует значительно меньше ресурсов ПК.

Изначально у нас есть HighPoly модель Box001 большим количеством полигонов). У нас стоит задача сделать LowPoly модель, которая будет повторять основные формы заданной модели.

В данном случае хватит всего 14 полигонов что бы сделать основу (Box002 ) для наложения карты нормалей с Box001 .

Настройка визуализации карты нормалей

Выделив Box002, нажимаем на вкладку Rendering/RenderToTexture (горячая клавиша «0»).

Перед нами открылось окно Render To Texture. В параметрах Projection Mapping ставим галочку напротив Enabled , нажимаем Pick… , выделяем HighPoly модель и кликаем Add .

Вокруг объекта появился контейнер проецирования, который надо подогнать так, чтобы в него поместилась вся HighPoly модель. Для этого переходим на вкладку Modify/ Projection/ Cage , нажимаем Reset , если контейнер был автоматически создан с искаженной формой, и изменяем параметры Amount и Percent , увеличивая контейнер до нужного размера.

В окне Render To Texture , в параметрах Output нажимаем Add… Если вы рендерите с помощью Vray , то выберите Vray Normals Map и нажмите Add Elements . Если используете стандартный рендер, то выберите Normals Map.

Есть возможность изменить имя карты (Name ), путь для сохранения карты нормалей (File Name and Type ), тип слота материала (Target Map Slot ), а также размер карты (Width/Height ).

Нажимаем Render и видим результат.

P.S.: Карта нормалей сохраняется автоматически. Стандартный путь сохранения: C:\Users\Документы\3dsMax\sceneassets\images.

Применение карты нормалей к LowPoly модели

Выделяем ранее созданную LowPoly модель.

На панели Modify выбираем модификатор Automatic Flatten UVs, который был создан автоматически в процессе создания карты нормалей. Нажимаем кнопку Open UV Editor… В открывшемся окне выбираем File/SaveUVs… , и сохраняем развёртку.

Открываем редактор материалов MaterialEditor (горячая клавиша М ), создаём материал VRayMtl . В слот Bump выбираем карту Normal Bump .

Заходим в параметры карты Normal Bump. В слот Normal выбираем карту Bitmap , и открываем ранее созданную карту нормалей. Применяем созданный материал к LowPoly модели.

На панели Modify добавляем модификатор Unwrap UVW . Нажимаем кнопку Open UV Editor… В открывшемся окне выбираем File/LoadUVs… и загружаем сохранённую развёртку.

В окне Edit UVWs, в правом верхнем углу, открываем свиток текстур и выбираем созданную нами карту нормалей.

Запустив Render, мы увидим, что LowPoly модель имеет те же детали, что и HighPoly . Детали можно сделать более или менее выраженными, меняя значения параметра Bump в используемом материале.

Статьи по теме: