Запікання матеріалів – один із методів, який я використовую для перенесення текстур з однієї моделі на іншу. В яких випадках це може знадобитися та якими інструментами я для цього користуюся напишу в цьому дописі.


Частіше 3д-художники використовують метод “запікання” для отримання Normal map та карт Ambient occlusion з високополігональних моделей. Але з хайпольної моделі можна “запікати” не лише геометрію, а й матеріали, які на неї накладені. В першу чергу це можна використовувати при оптимізації та ретопології 3д-сканів та будь-яких інших високодеталізованних моделей з текстурами. Я почав це використовувати і в роботі з game ready 3д-моделями при створенні різних рівнів деталізації (LOD). Розглянемо цей процес на конкретному прикладі.

Створення оптимізованої пласкої гусеничної стрічки ГАЗ-71.
  1. Створюю нову сцену, куди імпортуємо фрагмент деталізованої гуслі з текстурами (в данном випадку, це гусениця з LOD 0). Зазвичай, це фрагмент з 2-3 унікальні траки + по одному траку з кожного краю. Це необхідно, щоб отримати тайлову текстуру.

2. Створюю лоу-польну геометрію пласкої гусениці. В данному випадку це лише кілька плейнів: для зовнішньої та внутрішньої сторін траків, а також для зубів гребня.

3. Роблю UV розгортку для пласкої гусениці, з урахуванням того, що в нас має бути безперервна текстура, яка буде тайлитися по одній з осей. В моєму випадку тайл по осі Y. Текстура буде із співвідношенням сторін 1х2, але на цьому етапі це не має значення – я просто розтягую текстуру так, щоб вона заповнила весь квадрат.

4. Майбутня текстура буде мати в собі альфа-канал з прозорими ділянками, тому перед експортом, я “закриваю” дірки, які мені не потрібні. В цій моделі я не хочу, щоб на альфа каналі були дірки між траками, тому я їх закриваю плашками.

5. Роблю експорт із Blender та імпорт в Marmoset Toolbag 4. На деталізованих траках налаштовую матеріал. Створюю проект для запікання Bake Project. Налаштовую карти, які необхідно запікати (їх можна обрати в панелі Configure).  Важливо, не забувати налаштувати  Cage.6.  Тисну кнопку Bake та отримую 6 текстур. Мені дуже подобається, що при цьому ми отримуємо вже фінальні карти Normal Map та AO, які містять в собі інформацію як з геометрії так і з текстур деталізованої моделі (HP).

7. За необхідності вручну допрацьовую Alpha-канал. В данному випадку, лишилися маленькі дірочки, які я замальовую вручну. Також можна підсилити AO, щоб додати контрасту та імітації об’єму на пласких гусеницях.

8. Коли усі текстури готові, варто допрацювати геометрію пласких траків. Я об’єдную вершини, які були розділені для коректного запікання, а також додаю кілька дублікатів плейнів, щоб створити ілюзію об’єму.

9. Здалеку така гусеничyа стрічка виглядає нормально, і при цьому ми зменшуємо кількість полігонів та суттєво спрощуємо створення анімації гусениці.

3д-модель ГАЗ-71 (ГТ-СМ) з пласкими траками

Коли ще можна це застосувати?

Таке “перенесення” матеріалів з однієї моделі на іншу, можна використати, коли є потреба у зменшенні кількості текстур на модель. Наприклад, маю модель БМД-2. LOD 0 використовує три текстури: корпус, башта, колеса + траки. LOD3 має не тільки зменшену кількість полігонів, а й використовую лише одну основну текстуру (корпус, башта, колеса) та тайлову текстуру для гусениць.

Таке ж можна робити і без зменшення кількості полігонів. Наприклад, мої старі моделі мають дуже не оптимальну розгортку UV, через що модель використовує 3-4 текстури. Сучасними інструментами я можу перепакувати UV в 1-2 текстури, без значних (або взагалі без) втрат у Texel Density. По факту, маю дві однакові моделі, але з різними UV. За допомогою інструментів запікання у Marmoset Toolbag я можу перенести текстури з однієї моделі на іншу, але є певні нюанси, про які я можливо напишу в іншій статті.


Цей допис не є вичерпним уроком із 3d-моделювання в Blender чи запікання в Marmoset та розрахований на досвідчених  3д-художиків.

Магазин 3д-моделей | Телеграм-канал | Artstation