Запекание Normal Map и AO из модели огнетушителя в 3ds Max, ч. 9

Мало-помалу, но мы движемся к цели. Сегодняшняя часть эпопеи о создании огнетушителя в 3ds Max будет посвящена теме о запекании карт нормалей (Normal map) и AO (Ambient Occlusion) из высокополигональной модели. В процессе разработки компьютерных игр картам Normal и AO отводятся ведущие роли, и нам понадобится сгенерировать эти карты до того, как мы займёмся текстурированием, поскольку последнее зависит от них. А для тех, кто забыл, на чём мы остановились, вот ссылочка на предыдущую часть по созданию развертки модели.

Ну что ж, давайте начнём разбираться с вопросом о том, каким образом можно запечь карты Normal и AO в 3ds Max.

1. Подготовка

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

Как видно, я поместил хай-рез меш в слой Hi_Mesh, а лоу-рез версию модели — в слой LO_Mesh. После этого нужно разместить обе сетки в одном положении в пространстве координат так, чтобы они полностью совпадали друг с другом. Для точной подгонки задействуйте инструмент Align (Выровнять).

2. Группы сглаживания полигональной сетки должны быть разделены в соответствии с тем, как эта сетка развёрнута. Существует два способа назначения групп сглаживания объекту. Первый — вручную выделить полигоны, которые вы хотите сгладить, и выбрать другой номер группы сглаживания.

Второй способ состоит в использовании какого-нибудь умного скрипта, который сделает всю работу за нас. Я отдаю предпочтение скрипту Textools. Это бесплатный, простой в применении и очень полезный скрипт. Скачать его можно отсюда >>>

С установкой тоже никаких проблем возникнуть не должно. Просто перетащите файлик скрипта в интерфейс программы 3ds Max, и при запросе системы выберите Quick Install (Быстрая установка). После завершения установки появится «плавающая» панель инструментов, как показано ниже.

3. Выделим модель Low-Res и перейдём к пункту меню Tools > Smoothing Groups from UV shells (Инструменты > Группы сглаживания из оболочки проекционных координат).

Этим действием мы автоматически применили к модели несколько модификаторов, как показано на следующем скриншоте. Выполните Collapse всех модификаторов и преобразуйте каркасную сетку модели в Editable Poly.

4. В ряде случаев, когда проекционные координаты полигонов накладываются друг на друга, могут возникнуть проблемы с картами Normal и AO (Ambient Occlusion). Поэтому все перекрывающиеся части нужно выносить за пределы рабочей области проекционных координат.

Для этого я в основном использую Absolute Relative Type Ins (Абсолютный [относительный] тип вставки). Нужно выделить проблемную область, ввести значение -1 или 1 в поле U либо V, и затем нажать Enter. Выделенные неразвёрнутые грани переместятся за границы области работы поля UV.

Аналогичного результата можно достичь, если воспользоваться скриптом Tex Tools. С ним всё делается вообще легко и быстро. Сначала кликните параметр Open UV Editor (Открыть редактор проекционных координат UV).

Вдоль верхней стороны окна редактора UV-координат у вас появится новый набор инструментов. Достаточно лишь кликнуть кнопку Shift Overlap (Сдвинуть перекрывающиеся элементы), и всё сделается само.

Вслед за этим выполните коллапс модификатора UVW Modifier, кликнув ПКМ по нему и выбрав Collapse All.

2. Настройка Render to Texture (Рендеринг в текстуру)

5. Теперь нажмите клавишу 0 (ноль) либо просто перейдите в меню Rendering > Render To Texture...

6. Откроется диалоговое окно Render to Texture.

7. Сперва нужно определить путь к папке для сохранения сгенерированных карт. Это делается в поле Path (Путь) области Output (Вывод). В данном примере я создал новую папку с названием Fire Extinguisher.

8. Теперь выделите каркасную сетку Low-Mesh и кликните кнопку Pick... (Выбрать).

9. Далее следует выбрать высокополигональную каркасную сетку модели, или сетку «Target» (Целевую), которая будет спроецирована на низкополигональную.

3. Регулирование настроек модификатора Projection

10. После добавления целевой сетки вы увидите, что к низкополигональной сетке применился модификатор Projection (Проекция), а вокруг самой модели появятся каркасные контуры синего цвета. Эта штука зовётся ограничивающей сеткой (Cage).


 

11. Дальше, кликните по свитку Cage для его раскрытия.

12. Щёлкните кнопку Reset (Сброс), вследствие чего cage вернётся в своё исходное положение и ляжет чётко по сетке.

13. Так как ограничивающая сетка в точности совпадает с каркасом модели, то чтобы увидеть её, понадобится активировать параметры Shaded (С закраской) и Point to Point (Поточечно). При включении параметра Shaded ограничивающая сетка перейдёт в режим отображения граней.

 

14. А теперь взгляните на эту картину! Модель НЕ низкополигональная, однако cage (ограничивающая сетка) показывается в виде граней, потому что мы включили параметр её отображения с закраской. Однако можно, конечно, вернуть её обратно в режим каркасного отображения, просто выключив параметр Shaded.

Параметр Push (Подгонка) полезен в покрытии высокополигональной модели ограничивающей сеткой. Можно либо вручную отредактировать положение вершин cage, либо увеличивать-уменьшать общий размер cage с помощью параметров Push Amount (Величина подгонки) и Percent (Процентное отношение).

Примечание: лоу-рез и хай-рез модели должны быть подогнаны одна к другой, а cage не должна с ними пересекаться. Она (cage) всегда должна быть чуточку больше, чем сетка модели. Для достижения наилучших результатов держите обе версии модели как можно ближе друг к другу.

Продолжение следует...


Другие материалы:

Здесь с 4.02.2016
1 комментарий
Откуда: Обнинск
Репутация: 0

#1 добавил lariskagl

3 февраля 2016 23:33 | Комментариев: 1
Оо0!!! когда же будет продолжение этих великолеипных уроков???!!!!! я же теперь не усну, пока не закончу эту модель!!!
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#2 добавил DDT

4 февраля 2016 21:26 | Комментариев: 1288
Ооо!!! Оказывается, кому-то эти уроки даже интересны! =) Придётся тогда их продолжать.. Ждите в этом месяце.
Здесь с 5.02.2016
2 комментария
Откуда: Киев
Репутация: 0

#3 добавил Morbid

5 февраля 2016 09:33 | Комментариев: 2
Весьма интересны!!! Тоже жду продолжения=)
Здесь с 21.01.2010
1288 комментариев
Откуда: Earth
Репутация: 9

#4 добавил DDT

29 февраля 2016 19:54 | Комментариев: 1288
Вынужден вас, ребята, обмануть и затянуть с выходом продолжения уроков. Зато другие не такие бессовестные, как я, и постят тут свои уроки -- можно их посмотреть.
Здесь с 5.02.2016
2 комментария
Откуда: Киев
Репутация: 0

#5 добавил Morbid

28 марта 2016 12:33 | Комментариев: 2
Будем ждать))