Запекание текстур в 3Ds max + Corona renderer

Всем привет. Статья родилась из вопроса на форуме. Решил потратить немного времени, чтобы помочь не одному, но многим. Пример брал примерно как в вопросе.

Запекание текстур, в данном случае, это процесс переноса материалов и текстур с объекта, состоящего из многих частей и материалов, на один (и объект, и текстуру).

Часто такое надо при подготовке контента под интерактивный/игровой движок/ приложение.

Но и в архитектуре, такой подход иногда бывает необходим.

По шагам:

1. Выставляем системные единицы адекватные проекту (ни на что особо не влияет, скорее для порядка)

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

Материалы на изначальных объектах должны быть понятны движку которым рендерим (в данном случае - Corona)

3. Выравниваем объекты относительно друг друга. Это важно.

4. Выделив целевой объект (на который переносим текстуры) идем в диалог Bake to texture (BTT)

5. Из меню слева выбираем нужный канал для запекания. Важно выбирать именно канал под свой движок (Корона, Арнольд, Вирей и. т.д.) иначе магии не будет.

6. Указываем размер, битность, формат, путь и. т.д.

7. Выбираем в колонке project from, опцию pick from list. Ну или просто pick, если перепекаем с одного объекта.

8. Выбираем с каких объектов будут идти данные в запеканку.

9. На объекте появляется модификатор Project (с припиской multiply если объектов проецирования несколько)

10. Чаще всего оболочка запекания (Cage) по умолчанию кривоватая, поэтому жмем reset и после крутим amount в разделе push (чтобы оболочка проецирования была чуть больше модели(все попоадет в оболочку в направлении объекта проецирования - отпечатается на нем))

11. Возвращаемся в BTT и указываем, что делать с запеканкой. По умолчанию он просто сделает текстуры в папке которую указали в п.6 , но удобно сразу делать материал, я выбираю его, и указываем в какой канал итогового материала положить текстуру.

12. Жмем Bake, получаем текстуру (или несколько(печь можно любой канал)). Не забываем остановить рендер, или поставить ограничение. Это уже уникально под каждый движок.

13. Параллельно с этим получаем автоматом новый материал типа shell в котором собран изначальный, и итоговый материал. Можно или отделить итоговый от shell и переназначить, или использовать так (иногда надо во вьюпорте видеть материал до, а на рендере после). Так же понятно можно назначить итоговый материал к итоговому объекту. Дальше это все улетает в экспорт, или куда нужно.

Что в итоге получили - один объект, вместо кучи. И один материал вместо кучи. 

Так можно перепекать детали с высокополигональных объектов на низко полигональные, лищь бы детали были в радиусе cage при запекании. Ну, думаю вы поняли суть.

Надеюсь тема запекания стала ближе. Если полезно - оцените статью.

Комментарии (10)

+1
iolanta989
Я думал это давно для всех очевидно было, но за труд спасибо.
+2
Medonozza
Есть такое. Но это проф. деформация, кажется что банальщина, а на деле - многим полезно. Поэтому лучше брать темы для материалов из запросов мира, а не из своей головы.
+7
Капустка
Лайк, как минимум, за текст. Задолбали видосы.
0
Medonozza
Текст и иллюстрации "уплотняют" материал, т.к. пока пишешь - по нескольку раз думаешь над ним. Но многие вещи текстом не покажешь. Процессные, например.
0
SerGoYa
Статья супер в тему сейчас лично для меня, но вот вопрос остается. Если запекать с хайполи модели на лоуполи, то почему-то корона запекает текстуры с пересечением двух объектов. Как это исправить можно? При этом Cage выставлен как надо, перекрывая хайполи геометрию. А если пытаться запекать модель саму с себя то вообще ничего не печется пока свет в сцене не поставишь.
0
Medonozza
Напишу отдельную статью. На неделе чекни блоги.
0
SerGoYa
Супер, буду ждать. Еще кстати нюанс заметил, корона почему-то отказывается запекать нормали с хайполи объекта. Если на исходном объекте была карта нормалей, то она запекается хорошо. А вот именно геометрия хайполи модели не хочет вообще печься.
0
semjaza
Просто мнение(конечно же субъективное). Нормали удобнее и качественней и быстрее печь в Marmoset Toolbag
+1
Medonozza
Слова поперек не скажу. Но ситуации бывают очень разными.
+1
semjaza
Вы абсолютно правы. И спасибо за грандиозный труд , статья очень полезная.