Мармосет для чего нужен
Рендерим в Marmoset Toolbag 3
Для тех 3d художников, которые только-только осваивают Marmoset Toolbag 3, мы подобрали серию видеоуроков по этому софту.
Marmoset Toolbag 3 – это программа, которая включает поддержку анимации, глобальное освещение, выпекание текстур и множество других полезных функций. Мало того, что он сам по себе является движком в реальном времени, так он ещё может экспортировать файлы для Unity и Unreal Engine. Вот вам короткий overview возможностей:
Первый видеоурок включает в себя основы инструментария, включая импорт 3D-моделей, создание материалов и настройку освещения.
Как создать освещение для вашего персонажа в Marmoset Toolbag 3? Смотрите видео ниже. Кроме того, здесь рассмотрены тонкости настройки камеры и систем пост-эффектов. И в завершении вы можете экспортировать свои рендеры сразу на ресурс ArtStation.
Следующее видео охватывает анимационную систему. Здесь показано, как загружать анимированных персонажей и настраивать анимационные сеты, создавать свою анимацию для объектов и как сделать вращение объекта в формате 360 градусов.
Теперь можно копнуть глубже и узнать об новых инструментах для выпекания карт. Тут вы узнаете, как рисовать различные карты.
Создаём сцену вместе с global illumination и оптимизируем её для минимального времени рендеринга.
Дальше поговорим о subsurface scattering. Сюда входить имитация материалов, таких как кожа, воск и нефрит.
И, наконец, раскройте тайны refraction шейдера, на примере материалов из стекла и драгоценных камней.
Всё про Bake (Запечку) как этап ААА-пайплайна
Привет! Мы продолжаем цикл статей по пайплайну разработки стилизованных персонажей. Сегодня расскажем, что такое этап запечки, и как перенести детализацию с высокополигональной модели (high poly) на низкополигональную (low poly).
Запечка (Bake) — четвёртый этап ААА-пайплайна. На прошлом мы сделали развёртку, а сейчас будем её использовать для создания Normal Map, AO и Color ID.
Примечание: нам часто говорят, что правильнее писать «запекание», а не «запечка». Мы пишем «запечка», потому что это устоявшийся термин в индустрии.
Гугл на слово запечка показывает то, что нам нужно, а на слово запекание предлагает запечь курочку
Что такое запечка
Взглянем на low poly модель, которую сделал наш студент Leon.
Низкополигональная модель, созданная на этапе ретопологии
В ней минимум полигонов и чистая сетка. Эта модель будет загружаться в игровой движок.
Есть ещё high poly модель с высокой детализацией и скульпт.
Хайполи модели под сабдив и скульпт
Технология запечки позволяет нам перенести все детали с high poly и скульпта на low poly-модель.
В итоге, в игровом движке будет low poly модель с минимальным количеством полигонов, но выглядеть она будет так, как будто на ней есть все эти детали:
Для внимательных: ID Map никак не влияет на вид модели, в отличие от нормала и АО, но она пригодится при текстурировании, поэтому эту карту тоже будем печь.
Как это работает?
Мы берём low poly модель и добавляем на неё запечённые карты Нормала и АО. А эти карты обманывают поведение игрового света. Модель начинает бликовать так, как будто на ней есть все эти фаски, вырезы и прочие детали.
Для тех, кто не понимает, о чём речь: мы очень подробно писали про вертекс нормали и принцип работы нормала в статье про сетку.На этом этапе пайплайна — запечке, наша задача: запечь 3 карты.
1) Normal map — карту неровностей
2) Ambient Occlusion (AO) — карту затенения
3) Color ID — цветные маски
В Marmoset можно запечь гораздо больше карт, про это будет дальше.
Мы добавим эти карты на нашу low poly модель, на ней появится вся детализация с high poly и скульпта, а благодаря карте Color ID модель будет легче разбить по материалам и текстурировать.
Все карты создаются на основе развёртки, которую мы сделали на прошлом этапе пайплайна. Без развёртки карты не запекутся. Если есть ошибки на развёртке или low poly модели, то мы столкнёмся с кучей проблем.
Ссылки на теорию
Вот несколько наших статей, прочитав которые ты точно поймёшь, как работает «магический» трюк с обманом вертекс нормалей.
Какие карты будем печь
Нет смысла запекать карты, если не знаешь, что они делают и как работают.
1. Normal Map
Normal Map переводится как «карта нормалей»
Она изменяет направление блика на геометрии.
Карта создаёт виртуальные вертекс нормали в каждой точке low poly модели и искажает поведение света. Если наложить запечённый нормал на модель, то она будет выглядеть почти как high poly.
Вот хороший пример: low poly модель с включенным Нормалом и без него.
Модель с включенным нормалом и без него
Новые полигоны не создаются, это лишь иллюзия формы:
Приглядись, видишь low poly сетку? Все детали и затенения, которые ты видишь — иллюзия.
Чтобы создать нормал, нужно взять развёртку, которую мы делали ранее, взять high poly и скульпт, загрузить в программу для запечки и нажать кнопку «bake».
Там много нюансов, но мы обо всём расскажем.
Из чего печётся Normal map
Что нужно знать о Нормале
Небольшие чёрные полосы на нормале — это нормально.
Никто не будет разглядывать нашу модель под микроскопом.
Чёрные полоски на нормале
Почему не стоит сильно волноваться о чёрных полосах?
Игрок почти всегда видит модель в игре на расстоянии. Поэтому не нужно тратить несколько часов, чтобы убрать чёрные полоски на нормале:
Та же модель, но на расстоянии. Чёрные полосы не режут глаза, — значит, всё окей.
Из чего состоит карта нормалей
Normal map создает иллюзию объёма благодаря трем картам в каналах текстуры: красный, зелёный, синий.
Чтобы переключаться между каналами, откроем файл с нормалом в Photoshop и зайдём во вкладку Channels.
Красный канал показывает искажение вертекс нормалей по горизонтали. Чем светлее пятно на красном канале — тем сильнее виртуальная поверхность наклонена вправо, а чем темнее — тем больше «поверхность» бликует влево.
Красный канал нормала
Зелёный канал — работает так же, но искажает шейдинг по вертикали.
Светлый-блик поворачивается наверх, а тёмный — вниз.
Зелёный канал Нормала
Чтобы лучше понять разницу между этими двумя каналами, посмотрим на эту часть модели:
У бочки на high poly есть фактура дерева.
Затемнение идёт только по одной из осей.
Так как красный канал нормала показывает искажение вертекс-нормалей только по горизонтали, а скосы между досками как раз и отклоняются влево или вправо, то на нём будет много информации.
А зелёный канал — показывает искажения по вертикали. Так как виртуальные плоскости не отклоняются вверх/вниз, то затемнений почти нет, то информации на нормале в этом канале почти не будет:
Зелёный и красный канал нормала на примере бочки
Красный и зелёный каналы — основные для нас (как моделлеров).
Но у Нормала есть ещё синий канал.
Синий канал имитирует углубления в объекте.
В играх он практически не используется.
За счет изменения синего цвета на нормале создаются искажения на плоской поверхности.
Если на синем канале есть артефакты, можно просто выключить этот канал, т.е. отключить синий цвет у нормал мапа в фотошопе. Или просто их замазать артефакты кисточкой.
Синий канал нормал
Больше про три канала Нормала — в этой статье.
У каждого канала — своя функция.
При артефактах после запечки иногда нужно править нормал руками.
Иногда это делается сразу на всех трёх каналах, а иногда — на одном из них.
Если ты не разобраться в функциях этих каналов, сложно будет редактировать нормал.
Нейтральный цвет Нормала
128х128х255 — нейтральный цвет нормала.
Если добавить полностью нейтральный нормал, то особой разницы видно не будет. Модель будет шейдить так же, как обычная лоуполи.
В каком формате лучше хранить нормал
После запечки, скорее всего, придётся вносить изменения в нормал, используя фотошоп.
Поэтому файл лучше сохранять в форматах Targa или TIF.
При сохранении есть выбор, сохранять в 24 или 32 bit.
Если есть Альфа-канал — сохраняем с 32 bit.
Если Альфа-канала нет — в 24 bit.
2. Карта АО
Так выглядит запечённая карта АО
Карта Ambient occlusion (AO) — это карта затенения.
Она показывает самые глубокие тени, которые есть в объекте.
В основном это тени в углублениях и на пересечениях. Эту карта используют игровые движки для корректного освещения. Она также очень полезна в текстурировании.
Отличный пример того, что сложно сделать без АО — это грязь. Она забивается в самые глубокие места модели, — карта АО поможет легко сгенерировать маску углублений, чтобы забить их грязью.
Если добавить на low poly модель карту АО, на модели появятся самые глубокие тени
Также как и нормал, карта АО печётся на развёртку модели из high poly и скульпта.
Карта AO создаётся из highpoly и скульпта
При запекании по-умолчанию эта карта чёрно-белая, но на этапе текстурирования её можно покрасить.
С картой АО разобрались, последняя карта, которая нам нужна — Color ID
3. Карта Color ID
У наша модель состоит из разных материалов: металла, камня, дерева и ткани.
Во время текстурирования нам нужно быстро выделять геометрию, которая будет, например, металлом или деревом.
Чтобы это можно было сделать в один клик внутри Substance Painter, нам нужно запечь карту Color ID. Она позволяет быстро выделять большие куски. А в программе для текстурирования эту группу объектов можно легко затекстурить.
Вот так, с помощью этой карты мы в считанные секунды красим модель в разные цвета:
Быстро красим модель в Substance Painter, используя карту Color ID
Для того, чтобы создать карту Color ID, нам нужно покрасить high poly-модель в разные цвета. Один цвет — это одна группа объектов, как правило разбитая по материалам. Например, всё дерево на Color ID оранжевое, вся кожа —розовая, ржавый металл — синий, шерсть — голубая, а новый и чистый метал —зелёный.
Это не цвета будущей модели — здесь они могут быть любыми. Главное, чтобы они были контрастными.
Дополнительные карты
В мармосете куча карт, которые можно запечь.
Их в разных пайплайнах используют разные художники для текстурирования:
Position map с помощью градиентов помогает накладывать текстуры в разных плоскостях модели.
Сurvature выделяет все края на модели и упрощает создание затёртостей и повреждений. Очень полезная карта на ряду с АО.
Thickness запекает толщину, что необходимо для имитации подповерхностного рассеивания.
Часто для hand paint текстур пекут свет прямо на текстуру. Иногда необходимо запечь альфу — карту прозрачности.
Еще мармосет умеет печь цвета и материалы с других моделей и текстур, это иногда помогает не переделывать много текстур с нуля.
Сейчас проще печь дополнительные карты прямо в Substance Painter.
Запекание в Marmoset Toolbag. Настройка Toolbag
В четырех частях этого руководства вы познакомитесь с бэйкером Marmoset Toolbag (это часть программы, отвечающая за запекание карт). Следуя по пути от технических до художественных аспектов, мы прольем свет на множество тем, чтобы вы могли быстро и легко решать общие проблемы и оптимизировать свой художественный контент для получения качественного бэйка.
В этой части описаны все самые полезные и наиболее интересные кнопки, слайдеры и функции, которые могут предложить вам инструменты для запекания в Marmoset Toolbag. Вы узнаете где их найти, что они делают и как использовать их возможности.
Оглавление:
Несколько слов о бэйкере
При внесении корректировок в локальные области вашего меша, инструменты запекания в Toolbag будут перезапекать только затронутые изменениями области, что приводит к почти мгновенному обновлению результата предварительного просмотра. Бэйкер Marmoset Toolbag был разработан с учётом реальных потребностей художников — такие инструменты как группы запекания (bake groups), рисование смещений и скосов (offset and skew painting), и предварительный просмотр в реальном времени (real-time preview) объединены под одной крышей для создания исключительно эффективного и интуитивного рабочего процесса.
Верхняя панель
Раздел Geometry
Раздел Output
На вкладке Output расположены настройки, отвечающие за вывод данных.
– None : Заполнение пустого пространства отсутствует.
– Moderate : Этого значения должно хватить для большинства случаев.
– Extreme : Это значение позволяет заполнить большую часть пустого пространства UV развертки.
– Custom : Позволяет пользователю задать своё собственное значение.
Вкладка Maps
– Surface
– Lighting
– IDs & Masks
– Material
– Set As Default позволяет установить текущий набор карт, как набор используемый по умолчанию ( Default ) для всех новых проектов.
– Save… Позволяет сохранить текущий набор карт.
– Load… Позволяет загрузить ранее сохраненный набор карт.
– Default возвращает стандартный ( Default ) набор карт.
– All выводит на панель Maps все существующие в Toolbag карты.
Группы запекания
Группы запекания ( Bake Groups ) являются специальными папками, которые имеют слоты для HP и LP мешей и могут использоваться для изоляции различных элементов вашей модели, для предотвращения возникновения ошибок в точках пересечения. Вы можете использовать любое, необходимое вам, количество групп.
Инструменты проецирования
В бэйкере Marmoset Toolbag есть инструменты для управления расстоянием проецирования ( projection distance ) и направлением оболочки (cage), посредством рисования прямо во вьюпорте. Настройки для оболочки (Cage) и смещения (Skew) сохраняются для каждой Группы Запекания. Если вам нужен повышенный контроль над определенным объектом или элементом, вынесите его в новую, отдельную, группу. Если ваш файл меша перезагружается, настройки Cage и Skew сохраняются там, где это возможно. Ваши изменения будут сохраняться до тех пор, пока не изменится UV (в этом случае вам лучше очистить карты).
Offset
Значения Min и Max Offset соответствуют минимальной (чёрный) и максимальной (белый) точкам расширения ( extension points ) в карте смещения ( offset map ). Нажмите кнопку Paint Offset чтобы открыть редактор карты смещения. По умолчанию, карта смещения имеет ровный серый цвет, чтобы предоставить вам пространство для лепки оболочки ( cage ) в обоих направлениях.
Прежде чем начать рисовать, выставите минимальное и максимальное значение при помощи соответствующих слайдеров, так, чтобы ваш HP меш полностью поместился внутри. Это гарантирует что диапазон карты смешения будет подходящим. После того, как вы установили базовые значения, вы можете нажать кнопку Estimate Offset ( Оценить смещение ), чтобы вычислить наиболее подходящий вариант основываясь на форме вашего LP меша.
Используйте Paint Skew для исправления деталей, которые были плохо записаны в результате вне осевого направления проецирования. Карты Skew работают посредством создания попиксельного смешивания между нормалями граней LP меша и нормалями оболочки. Рисование по карте Skew позволяет вам манипулировать направлением, и исправлять ошибки проецирования. Черный цвет соответствует полной коррекции смещения ( skew correction ), в то время как белый цвет соответствует отсутствию коррекции.
Процесс рисования
Карты Offset и Skew можно рисовать как в 2D так и в 3D. Инструменты рисования используют горячие клавиши в стиле Photoshop:
Удерживайте клавишу Ctrl чтобы инвертировать цвет и рисовать в противоположном направлении. 3D рисование работает только на тех областях модели, которые имеют UV координаты, лежащие в диапазоне 0-1. Карты Offset и Skew используют текстуру с фиксированным разрешением 512×512 пикселей.
В следующей статье под названием «Запекание Marmoset Toolbag. Типы карт» поговорим о картах, которые вы можете создавать.
Научиться работать в Marmoset Toolbag под руководством опытного ментора вы сможете, выбрав блок «Retopology & UV & Baking» курса « ZBrush. Создание 3D-персонажа ». Вы можете выбрать отдельные блоки, или пройти курс полностью, изучив все этапы создания 3D-персонажа — начиная с блокинга и до финальной визуализации.
Запекание в Marmoset Toolbag. Tips and tricks
Четвертая (заключительная) часть из серии статей о запекании в Marmoset Toolbag. Эта статья наполнен советами, которые помогут превратить вас в мастера бэйкинга. Узнайте, как именно ваша сетка, UV развертки, и некоторые ключевые настройки влияют на качество запекания.
Оглавление:
Наклоны и фаски
Когда Baker проецирует информацию с HP на LP для генерации карты нормалей, он видит только изменения в направлении ( direction ), но не в глубине ( depth ). Таким образом, полностью параллельные грани ( faces ) не будут записывать информацию. Чтобы ваша геометрическая деталь запеклась как следует, вы можете использовать наклоны ( slopes ), фаски ( bevels ) или и то, и другое вместе.
Важно направление, а не расстояние.
Точно так же, расстояние, на которое элемент выступает относительно базовой поверхности, не изменит конечную карту нормалей. Уменьшение глубины у таких деталей, как болты, может позволить вам создать клетку с более управляемым расстоянием смещения.
Плавающая геометрия
Вы можете размещать «плавающие» (парящие в воздухе, ориг. floaters ) детали над поверхностью основного объекта, для того чтобы создать иллюзию комплексной/сложной детализации. Основным недостатком использования плавающих объектов является то, что выходные данные, зависящие от расстояния, например, высоты или положения, могут не дать вам желаемых результатов.
Размер деталей
Когда дело доходит до мелких деталей, важно помнить о размере объекта, расстоянии наблюдения и разрешении текстуры. Детали размером менее 1 пикселя не будут записаны должным образом, поэтому лучше придерживаться постоянного, минимального размера для фасок и других мелких структур. Кроме того, если ваша модель будет видна издалека, возможно вам стоит увеличить размер фасок, чтобы обеспечить хорошую читаемость.
Помимо обеспечения захвата деталей, скошенные края улавливают зеркальные блики ( specular highlights ) и делают поверхность более интересной и красивой для наблюдателя. Большинство реальных объектов имеют скошенные/закругленные края. Так или иначе вы можете увеличить фаски в зависимости от размера вашего объекта и предполагаемого расстояния просмотра, с целью повышения читаемости.
Жёсткие ребра и элементы UV развертки
При использовании жёстких ребер ( hard edges ) или групп сглаживания ( smoothing groups ), важно убедится в том, что вы разделяете свои UV островки вдоль границ жестких ребер. Если вы будете использовать жесткие ребра, но при этом не разделять свои UV, вы будете получать артефакты в виде швов, поскольку каждая грань будет пытаться запечься в линии жесткого ребра.
Швы на UV и Жёсткие Ребра
Несмотря на то, что вам нет необходимости использовать жесткие рёбра вдоль всех UV границ ( UV borders ), это может быть полезно, особенно для объектов с твердой поверхностью. Использование жестких рёбер на UV швах ( UV seams) может создать менее экстремальное сглаживание на LP объекте, что означает, что результат запекания будет лучше держаться при более низких разрешениях или уровнях MIP-карты, а также при применении к LOD’ам. Обратите особое внимание на тонкие линии на изображении выше: в то время как синхронизированный рабочий процесс может компенсировать чрезмерное затенение, недостаток разрешения может привести к ошибкам, вдоль границ треугольников LP объекта.
Размер LP объекта
Убедитесь в том, что ваш LP объект по размеру максимально приближен к HP объекту. Если LP слишком большой или слишком маленький, могут возникнуть ошибки проецирования. Не беспокойтесь о том, чтобы полностью охватить/окружить HP объект LP объектом, для этого и предназначена оболочка.
Правильное число сторон
Несмотря на то, что карты нормалей могут легко отображать мелкие детали, они не могут изменить силуэт объекта, именно поэтому соответствие кривизны HP очень важно. Использование подходящего количества сторон для изогнутых поверхностей уменьшает волнистость и улучшает внешний вид вашего объекта в целом. Фаски могут помочь вам в борьбе с волнистостью (в определенной степени), но увеличение количества сторон, как правило, более эффективно.
Закрывайте отверстия
Триангуляция и ошибки сглаживания
Обязательно выполните триангуляцию вашей сетки перед её импортом в Toolbag. Если ваша сетка не была триангулирована, то внутренние ребра четырехугольников и n-угольников могут различаться в разных приложениях. Это приводит к несоответствию триангуляции, что в свою очередь вызывает ошибки сглаживания в форме буквы X. По сути, это является типом несоответствия касательного пространства, поскольку несоответствие/расхождение в направлении ребра, может привести к различию касательного базиса.
Если вы используете Maya, сначала нужно заблокировать нормали меша, поскольку нормали полигональной сетки изменяются при триангуляции.
Бандинг, Глубина цвета и Дизеринг
Артефакты в виде полос или бандинг ( Banding artifacts ) вызваны отсутствием у 8-битных карт нормалей необходимого уровня точности. Недостаточное количество значений цвета для точного отображения тонких различий (плавных переходов) между high poly и low poly поверхностями, что приводит к появлению ступенчатых артефактов.
Дизеринг/размытие — это эффект который заключается в сглаживании переходов на полутонах изображения, (ориг. dithering ). Он избавит вас от «полосящих» артефактов за счет добавления к карте нормалей небольшого шума. Как правило, шум является более предпочтительным, поскольку большинство поверхностей имеют определенную текстуру. Поэтому он включен в Toolbag, по умолчанию. Вы можете запечь 16-битную карту нормалей, что приведет к более плавному и точному результату запекания.
Однако многим рендерерам для работы требуется 8-битная карта нормалей. Если вы запекаете 16-битную карту, вероятно, вам потребуется преобразовать её в 8-битный формат, для последующего использования в качестве конечной текстуры, что может привести к размытию и шуму. Некоторые художники предпочитают работать с 16-битным исходниками, чтобы отложить появление дизеринга до последней стадии.
На этом всё. Если у вас есть какие-либо вопросы вы можете задать их, используя этот адрес электронной почты: support@marmoset.co.
Научиться работать в Marmoset Toolbag под руководством опытного ментора вы сможете, выбрав блок «Retopology & UV & Baking» курса «ZBrush. Создание 3D-персонажа». Вы можете выбрать отдельные блоки, или пройти курс полностью, изучив все этапы создания 3D-персонажа — начиная с блокинга и до финальной визуализации.