Нормал мап. Проблема запеченной триангуляции. Настройка визуализации карты нормалей

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

Есть несколько способов создать/имитировать рельеф в 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 в используемом материале.

В последнее время всё чаще и чаще вижу конверты с современных игр, качество конвертов бывают разных уровней – и хорошие и плохие. Но независимо от качества конверта в целом, в большинстве из них есть синдром "плоских текстур" , о чём я, конечно, и жалуюсь в комментариях в файловом архиве. Возможно, конвертеры не знают зачем же нужны эти странные фиолетовый текстуры, или же всего лишь не могут его применить. И я в этой статье научу применять их при конверте.

Теория

Но для начала немного теории с Википедии:

Normal mapping - техника, позволяющая изменять нормаль отображаемого пикселя основываясь на цветной карте нормалей, в которой эти отклонения хранятся в виде текселя, цветовые составляющие которого интерпретируются в оси вектора , на основе которого вычисляется нормаль, используемая для расчета освещенности пикселя. Благодаря тому, что в карте нормалей задействуются 3 канала текстуры, этот метод дает большую точность, чем Bump mapping, в котором используется только один канал и нормали, по сути, всего лишь интерпретируются в зависимости от «высоты».

Карты нормалей обычно бывают двух типов:

object-space - используется для не деформирующихся объектов, таких как стены, двери, оружие и т. п.

tangent-space - применяется для возможности деформировать объекты, например персонажей.

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


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

Ну как-то так, объяснил как мог, своими словами.

Практика

Ну и собственно сам метод избавления от плоскости и придание объёма текстуре. Нам понадобятся:

Графический редактор Paint.net (Неплохая программа, весит мало, всегда юзаю сам)

Итак-с начнём.

Нам нужна карта нормалей (normal map, нормал мап, фиолетовая текстура ) именно от той текстуры которую мы хотим улучшить. Обычно в файлах игры она называется точно так же как и обычная, но с окончанием "_nor", "_no", "_n". В некоторых играх она бывает практически прозрачной и,одновременно, радужно-разноцветной как в Battlefield 2. Открываем её в paint.net.

Делаем её чёрно-белой комбинацией клавиш Ctrl+Shift+G или же нажимаем вкладку Коррекция Сделать чёрно-белым

На этом этапе нам нужно осознать правильно ли придан объём. Если, к примеру, это карта нормалей от текстуры одежды, то можно обратить внимание на карманы, швы где одна часть одежды должна быть немного выше, а карманы выпуклыми. Зачастую приходится инвертировать цвета, но это не всегда и это надо "почувствовать нутром". Если вы, вдруг, прозевали с моментом то скорее всего текстура в конце проделанной работы станет светлее прежнего и модель будет выделяться на общем фоне. Инверсия цветов происходит комбинацией клавиш Ctrl+Shift+I или всё в той же вкладке Коррекция Инвертировать цвета .

Всё, мы подготовили само улучшение. Теперь нам нужно открыть улучшаемую текстуру (color map, колор мап, текстура ) и создать новый слой комбинацией клавиш Ctrl+Shift+N или через вкладку Слои Добавить новый слой . Внимание: нам хватит одного нового слоя. У нас должно быть только два слоя.

Теперь меняем свойства этого слоя. Клавишей F4 или через вкладку Слои Свойства слоя... В появившемcя окошке на нужен режим смешивания "Перекрытие " и нажимаем ОК .

Теперь переключаемся на подготовленное улучшение и копируем её последовательностью действий: Выбираем всё комбинацией клавиш Ctrl+A и, собственно, копируем комбинацией Ctrl+C . Переключаемся на улучшаемую текстуру, выбираем новый слой который мы подкорректировали (если вдруг по каким-то причинам он не выбран) и вставляем то, что скопировали, в этот слой комбинацией клавиш Ctrl+V . И мы сразу заметим улучшение.

Попробуйте почувствовать разницу:

Теперь объединяем наши слои комбинацией клавиш Ctrl+M или во вкладке Слои Объединить со следующим слоем. И сохраняем нажав иконку дискеты перезаписывая файл или же через вкладку Файл Сохранить как.. и задав новое имя файлу. Иначе вы сохраните его как незаконченный проект программы, а не в привычном нам формате PNG/BMP.

В принципе на этом всё. Если модель состоит нескольких подмоделей (например модель человека – из головы, ног и туловища), то придётся и их текстуры улучшить данным способом. После этого запихать/заменить текстуры в файле формата.txd через TXD Workshop или другой подобной программы и запихать её в игру.

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

Основные правила. Подготовка модели к экспорту в 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 пишите.
С Уважением, !


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