что такое marmoset toolbag
Запекание карт нормалей: Substance Painter vs Marmoset
В прошлой статье мы разобрались с процессом подготовки ассета к запеканию, ошибками и их последствиями. В этой статье поговорим о кнопках, программах и о практической стороне запекания.
Художнику доступно множество разных софтов, которые поддерживают запекание карт нормалей. Мы рассмотрим Substance Painter и Marmoset — два самых популярных софта с современным инструментарием.
Substance Painter — программа для процедурного текстурирования от Allegorithmic. Кроме текстуринга, в ней можно запекать карты: Ambient Occlusion, Normal map, Curvature, ID, World Space Normal, Position и Thickness.
Чтобы начать работу с моделью в Substance Painter, нужно создать новый проект, выбрать подходящий «Document Resolution», назначить подходящий «Normal Map Format» и найти файл с лоуполи, который мы предварительно экспортировали из 3D редактора, в графе File — Select.
Document Resolution лучше выбирать такой же, как и для экспорта финальных текстур. Если же мощность ПК не позволяет работать с нужным разрешением — понижаем его. Главное — при запекании и экспорте указывать правильный резолюшн.
Также не стоит забывать про графу Template. В ней нужно выбрать основные параметры проекта. Именно там можно переключаться между Metall/Rough и Spec/Gloss.
Когда объект находится во вьюпорте — переходим в Texture Set Settings — Bake Mesh Maps. В этом окне находятся все настройки запекания.
Dilation Width или паддинг. Параметр отвечающий за создание «буферных зон» вокруг UV шелла, которые копируют пиксели на его границах. Он используется, чтобы избегать артефактных линий на UV швах. Его значения нужно менять, если возникли подобные проблемы.
Apply diffusion по сути повторяет функции Dilation Width, но закрашивает полностью все пустое пространство на UV, а не только зоны вокруг UV шеллов.
Use Low Poly Mesh as High Poly Mesh. Позволяет запекать лоуполи меш сам на себя. Игнорирует хайполи геометрию.
High Definition Meshes. В эту область нужно загружать High poly геометрию, с которой будет запекаться карта нормалей.
Use Cage дает возможность запекать карту нормалей с помощью Cage, о котором мы говорили в прошлых статьях цикла.
Cage File — графа для загрузки файла с Cage, который можно экспортировать из 3ds Max или другого 3D редактора.
Max Frontal Distance регулирует, насколько далеко полетят лучи над геометрией, чтобы захватить элементы с хайполи.
Max Rear Distance регулирует, насколько далеко полетят лучи вглубь геометрии, чтобы захватить элементы с хайполи.
Relative Bounding Box чаще всего не трогают. Он изменяет единицы измерения, которые используются при запекании.
Average Normals — усреднение нормалей, о которых мы говорили в прошлых статьях.
Ignore Backface — включает игнорирование объектов с суффиксом, указанным в графе «Ignore backfaces suffix».
Antialiasing настраивает силу антиалайзинга. Антиалайзинг — технология для устранения эффекта «зубчатости». Этот эффект возникает на линиях, расположенных под углом.
Match — переключает режим запекания между двумя опциями. Always — запекание всех объектов без ограничений. Если два объекта находятся слишком близко друг к другу, они начнут «делиться» информацией с хайполи и создает артефакты. Чтобы избежать этого, нужно разнести отдельные элементы друг от друга. Но это долго и неудобно.
Поэтому есть второй вариант — режим «By Mesh Name». В нем лоуполи и хайполи запекаются, только если их имена совпадают.
Low poly mesh / High poly mesh / Ignore backfaces suffix — суффиксы в именах мешей, которые нужно задавать каждому элементу в 3D редакторе перед экспортом. Эти суффиксы помогают определять пейнтеру где лоуполи, где хайполи, и какую геометрию нужно игнорировать при запекании.
Если в имени хайполи и лоуполи версии одного элемента есть разница или неправильно прописан суффикс — карта нормалей не запечется.
На примере видно, что летающая геометрия начинает «плыть».
Это происходит из-за настройки average normal: мы не можем отключить эту галочку, ведь тогда грани запекутся со швами.
Решений существует несколько, но самое быстрое при работе с Substance Painter — запечь две версии карты нормалей со включенной и выключенной галочкой Average Normal, и объединить их в Photoshop.
На детализированных объектах процесс комбинирования карт в фотошопе забирает много драгоценного времени. К тому же, у Substance Painter есть проблемы с качеством запекания других карт. Из-за этого многие художники предпочитают печь в Marmoset.
Главное преимущество SP — карты уже находятся в проекте, и их не нужно загружать отдельно. Это означает, что после запекания можно сразу же приступить к текстурированию, или накинуть генератор и увидеть, как они работают.
Marmoset Toolbag 3 изначально она был рассчитан на работу с real-time рендером, освещением и бейкингом. Недавно разработчики выпустили Marmoset 4, но по части запекания практически ничего не изменилось, поэтому разбираться будем на примере третьей версии.
Для начала, в левом верхнем окне создаем «New Baker».
Загружаем ассет через кнопку Load. Важное примечание: в отличие от Substance Painter, в здесь можно загрузить один FBX/OBJ, в котором будет находиться и лоуполи, и хайполи. Он сам разносит их по нужным папкам на основе имен и суффиксов.
Когда геометрия прогрузилась во вьюпорте, лучше отключить отображение слоя «High», чтобы не перегружать компьютер.
Use hidden Meshes — использовать геометрию из спрятанных слоев;
Ignore Transform — игнорировать трансформации объекта, проведенные в Marmoset;
Smooth Cage — сгладить Cage;
Ignore Back Faces — игнорировать заднюю сторону полигонов;
Tangent Space — выбор между DirectX и OpenGL;
Галочка Auto-Reload напротив кнопки Load — автоматически подгружать новые версии загруженного ранее файла FBX/OBJ.
bake.psd. — для настройки пути и имени, согласно которым сохранятся результаты запекания.
Samples — качество запекания. Чем выше значение — тем лучше качество и дольше процесс бейкинга.
Soften — сглаживает результат запекания. Может быть полезен, чтобы лучше сгладить углы или скрыть границы Float geometry.
Format — настройки битности.
Multi-Layered PSD позволяет записать все запеченные карты в разные слои одного файла для Photoshop.
Padding — аналог Dilation Width из Substance Painter. Зарисовывает области вокруг UV шеллов, чтобы избежать швов при работе мипмаппинг.
Padding size определяет размер паддинга.
Multiple Texture Sets дает возможность запекать несколько текстурных сетов. Текстурные сеты пекутся в таком случае основываясь на назначенных материалах. Каждый материал — это отдельный текстурный сет.
Resolution — разрешение, в котором будут запекаться карты.
Кнопка Configure позволяет добавить/убрать все доступные для запекания карты из списка быстрого доступа.
На сложной геометрии видно те же проблемы с плывущими деталями, которые мы видели в Substance Painter. Но Marmoset позволяет локально редактировать направленность нормалей и размер Cage. Для этого нужно перейти в слой Low и выбрать Paint Offset и изменять размер Cage, либо Paint Skew для редактирования направленности нормалей.
Теперь на исправление поплывших элементов будет уходить пара минут.
Мы не говорили о запекании в 3ds Max, Maya, Xnormal и других подобных программах, так как их инструментарий заметно устарел и отстает по удобству от Substance Painter и Marmoset. Это не значит, что в них нельзя запечь нужные карты — просто на это уйдет больше времени.
Преимущество современных программ — отображение результатов запекания в реальном времени и интуитивно понятный интерфейс. Если в 3ds Max запеченную карту нужно сохранять отдельным файлом и подгружать в материалы, чтобы увидеть результат на модели, то в SP все реализовано проще.
Карты автоматически назначаются на модель и сохраняются внутри проекта. К тому же, пользователю доступен дебаггер, который позволяет просматривать все карты вместе и по-отдельности.
Мы рассказали, как работать с обеими программами, про их плюсы и минусы. Твоя задача — решить, какая программа лучше подходит под твой пайплайн. А с этим мы поможем тебе разобраться на нашем курсе 3D PRO. Переходи по ссылке, чтобы получить бесплатный пробный урок.
Marmoset Toolbag
REAL-TIME RENDERING, TEXTURING, & BAKING TOOLS
The 3D Artist’s Multi-Tool
Unified baking, texturing, and rendering tools make Toolbag the cornerstone of every 3D artist’s workflow.
RENDERING
Explore Toolbag’s powerful real-time raster and GPU-accelerated ray-traced rendering.
TEXTURING
Create stunning, physically-accurate materials with Toolbag’s new Texture Project system.
BAKING
Speed up content creation with Toolbag’s industry-leading real-time baking tools.
SCENE EDITING
Scene setup is made easy with Toolbag’s lightweight and user-friendly editor.
Real-World Accuracy
Real-time physically-based rendering and image-based lighting are the core of Toolbag’s superior image quality. Realistic or stylized, your artwork will shine bright.
Intuitive Design
Make yourself at home with Toolbag’s new customizable interface. Drag-n-drop functionality, workspaces, smart loaders, and dual monitor compatibility come together to provide a familiar 3D experience.
Create Portfolio Content
Capture stills of your latest character art, environment art, product designs, and more. Make use of Toolbag’s built-in Turntable tool, or set up your very own custom animation and camera sequence to proudly showcase your latest creation in motion.
Рендерим в 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 шейдера, на примере материалов из стекла и драгоценных камней.
Запекание в 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-персонажа — начиная с блокинга и до финальной визуализации.
Запекание в Marmoset Toolbag. Типы карт
Вторая часть из серии статей о запекании в Marmoset Toolbag. В этой статье говорится о картах, которые вы можете создавать, а также предоставляются примеры и полезная информация для каждого из типов выводимых изображений.
Оглавление:
Категория Surface
Карта Normals
Вывод Normals запекает карту нормалей касательного пространства ( tangent space normal map ). Существуют опции для отзеркаливания ( flip ) красного (X), зеленого (Y) и синего (Z) каналов, а также опция для переключения Размытия ( dithering ).
Карта Normals (Object)
Вывод типа Normals (Object) запекает карту нормалей объектного пространства ( object space normal map ). При создании ассетов для игр и фильмов, карты данного типа не используются напрямую, но они являются отличным источником для создания масок направленности ( directional masks ) для ваших текстур. Например, для добавления слоя пыли на верхнюю часть вашего объекта.
Карта Height
Карта Position
Карта Curvature
Вывод Curvature запекает карту выпуклостей ( convexity map ) и карту вогнутости ( concavity map ). По умолчанию, карта кривизны запекается в черно-белом стиле, где вогнутые детали изображены более светлыми, а выпуклые детали более темными. Карта кривизны полезна при создании масок для разного рода царапин, грязи находящейся в углублениях и других эффектов.
Карта Concavity
Карта Convexity
Карта Thickness
Карта Bent Normals
Карта Bent Normals (Object)
Вывод Bent Normals (Object) запекает карту типа Bent Normals в объектном, а не касательном пространстве.
Категория Lighting
Карта Ambient Occlusion
Вывод Ambient Occlusion ( AO ) запекает окклюзию освещения из HP источника. AO можно использовать в множестве шейдеров для добавления теней окружения, или как источник для генерации масок используемых при текстурировании. Карта AO может быть особенно полезна при создании эффекта пыли или грязи.
Параметр Ray Count определяет качество AO. Чем больше лучей используется тем более мягкой и гладкой будет карта AO. Но стоит отметить, что это замедляет процесс запекания. По умолчанию, используется значение 256 которое соответствует среднему качеству, значения от 512+ будут выдавать высокое качество, а значения ниже 256 можно использовать при тестовых запеканиях.
Параметр Floor Occlusion добавляет дополнительную окклюзию области, обращенной к низу. Floor occlusion может помочь вам в добавлении направленного AO. Что обычно наиболее полезно для статических объектов.
Опция Ignore Groups позволяет отбрасывать тень AO между разными группами запекания. Это помогает обособить разные части сложных объектов. Если у вас есть определенные элементы, которые можно убирать или они буду анимированными — например, прицел или магазин у автомата — вы можете переместить эти группы запекания в сторону, так что они не получат группу в группе AO.
Опция Dither добавляет небольшое количество шума, который будет бороться с артефактами в виде полос. Когда опция Dither активна, для получения хороших результатов запекания, может использоваться меньшее количество лучей.
Карта Diffuse Lighting
Вывод Diffuse Lighting запекает освещение и тени от Sky Light и направленных источников света ( direct lights ) в сцене. Свойства поверхности, определяемые материалами применяются к high poly объектам.
Карта Specular Lighting
Вывод Specular Lighting запекает зеркальные отражения ( specular reflections ) и тени от Sky Light и направленных источников света в сцене. Зеркально отраженный свет — это эффект, зависящий от положения камеры, и он не рендерится для задней части вашей модели.
Карта Complete Lighting
Вывод Complete Lighting запекает цвет материала, диффузную составляющую освещения, тени и зеркальные отражения из вашей сцены. Свойства поверхности, определяемые материалами применяются к high poly объектам.
Категория ID’s & Masks
Карта Material ID
Вывод Material ID запекает уникальный цвет для каждого материала, назначенного на HP объект. Цвет применяется автоматически, а сами цвета выбираются таким образом, чтобы максимально отличаться от других. Если вам требуются конкретные ID цвета, вы можете применить их непосредственно к карте Albedo, в материале, который используется HP объектом. Затем, просто запеките карту Albedo.
Карта Group ID
Вывод Group ID запекает уникальный цвет для каждой группы материалов ( material group ).
Карта Object ID
Вывод Object ID запекает уникальный цвет для каждого объекта с определенным материалом.
Карта UV ID
Вывод UV ID запекает уникальный цвет для каждого UV островка.
Карта Wireframe
Вывод Wireframe запекает карту, которая представляет UV развёртку low poly объекта.
Карта Alpha
Вывод Alpha запекает карту отверстий, имеющихся на high poly меше.
Категория Material
Карта Albedo
Вывод Albedo запекает значение альбедо (это работает с простыми значениями цвета, входным изображением ( image input ), или обоими вариантами) из материалов HP объекта.
Карта Specular
Вывод Specular запекает значение Specular (это работает с простыми значениями цвета, входным изображением или обоими вариантами) из материалов HP объекта.
Карта Gloss
Вывод Gloss запекает значение глянца ( gloss value ). Это работает с простыми значениями цвета, входным изображением или обоими вариантами) из материалов HP объекта.
Карта Albedo (для Metalness подхода)
Roughness Map
Вывод Roughness запекает значение шероховатости ( roughness value ) взятое из материалаов HP объекта.
Карта Metalness
Карта Vertex Color
Изображение представлено Xavier Coelho-Kostolny
Вывод Vertex Color запекает цвета вершин ( vertex color ) или данные типа polypaint взятые из zBrush в изображение.
Карта Transparency
Вывод Transparency запекает карту основываясь на значениях прозрачности ( transparency ) заданных в материалах HP объекта.
Карта Emissive
Вывод Emissive запекает карту основываясь на значениях излучения/эмиссии ( emissive values ) заданных в материалах high poly объекта.
В следующей статье под названием «Запекание в Marmoset Toolbag. Основы запекания» расскажем об основах переноса нормалей и о том, как устранять типичные проблемы.
Научиться работать в Marmoset Toolbag под руководством опытного ментора вы сможете, выбрав блок «Retopology & UV & Baking» курса «ZBrush. Создание 3D-персонажа». Вы можете выбрать отдельные блоки, или пройти курс полностью, изучив все этапы создания 3D-персонажа — начиная с блокинга и до финальной визуализации.