Запекание визуализации¶
Запекание – в общем случае, это акт предварительного вычисления чего-либо для того, чтобы ускорить последующий процесс. Визуализация с нуля, в зависимости от выбранных вами параметров, занимает много времени.Поэтому Blender позволяет «запечь» некоторые части изображения, чтобы сократить время визуализации выбранных объектов. После нажатия на кнопку «Визуализация» вся сцена отрисовывается намного быстрее, поскольку не нужно пересчитывать цвета запечённых объектов.
Запекание создаёт двумерные растровые изображения полисетки отображаемой поверхности объекта. Эти изображения могут быть повторно спроецированы на объект при помощи UV-координат. Запекание производится для каждой полисетки индивидуально и может быть выполнено только при наличии UV-развёртки у полисетки. Хотя оно и требует некоторого времени для настройки и отрисовки, оно сильно экономит время основной визуализации. Если вы отрисовываете длительную анимацию, время, потраченное на запекание, может быть гораздо меньше времени, требуемого на визуализацию всех её кадров.
Используйте запекание для решений, интенсивно использующих свет и тень, например, для AO или мягких теней от ламп-областей. Если вы запечёте AO для всех основных объектов, вам не придётся включать его при полной визуализации, что сэкономит вам время отрисовки.
Use Full Render or Textures to create an image texture; baked procedural textures can be used as a starting point for further texture painting. Use Normals to make a low resolution mesh look like a high resolution mesh. To do that, UV unwrap a high resolution, finely sculpted mesh and bake its normals. Save that normal map, and Mapping (texture settings) the UV of a similarly unwrapped low resolution mesh. The low resolution mesh will look just like the high resolution, but will have much fewer faces/polygons.
- Можно значительно снизить время визуализации.
- Рисование по текстуре становится проще.
- Уменьшение количества полигонов.
- Повторяющиеся визуализации выполняются быстрее, что кратно увеличивает экономию времени.
- Объект должен иметь UV-развёртку.
- Если запекаются тени, источники света и объект не смогут перемещаться друг относительно друга.
- Большие текстуры (например, с разрешением 4096×4096) могут занимать много памяти, в результате чего визуализация будет не быстрее прямого решения «в лоб».
- Для создания развёрток, запекания и сохранения файла с последующим примененим текстур к каналам требуется ручной труд.
Параметры¶
Режим запекания¶
Полная визуализация¶
Запекает все материалы, текстуры и освещение, за исключением бликового и подповерхностного рассеивания.
Ambient Occlusion¶
Запекает ambient occlusion, как указано в панелях «Окружающая среда (мир)». Игнорирует все источники освещения в сцене.
С нормализацией Нормализация без использования настроек материала.
Тень¶
Запекает тени и освещение.
Нормали¶
Bakes tangent and camera-space normals (among many others) to an RGB image.
Пространство нормалей
Нормали могут быть запечены в различных пространствах:
Камера Метод по умолчанию. Окружающая среда (мир) Нормали в координатах объекта, зависящие от преобразований и деформации объекта. Объект Нормали в координатах объекта, не зависящие от преобразований объекта, но зависящие от его деформации. Тангенс Нормали в координатах касательного пространства, не зависящие от трансформации или деформации объекта. Это пространство – новое умолчание и верный выбор в большинстве случаев, поскольку такая карта нормалей так же может использоваться для анимированных объектов.
В материалах в настройках изображения текстуры могут быть выбраны те же самые пространства под существующей настройкой Карта нормалей. Для получения правильных результатов, данная настройка должна совпадать с настройкой, используемой для запекания.
Текстуры¶
Запекает только цвета материалов и текстуры, без затенения.
Смещения¶
Так же как и при запекании карты нормалей, при помощи параметра Выделение к активному можно запечь карты смещений с высокополигонального объекта в развёртку для низкополигонального объекта.
С нормализацией Нормализация на расстояние.
When using this in conjunction with a Subdivision Surface and Displacement modifiers within Blender, it is necessary to temporarily add a heavy Subdivision Surface Modifier to the „low-res“ model before baking. This means that if you then use a Displacement Modifier on top of the Subdivision Surface, the displacement will be correct, since it is stored as a relative difference to the subdivided geometry, rather than the original base mesh (which can get distorted significantly by a Subdivision Surface). The higher the render subdivision level while baking, the more accurate the displacements will be. This technique may also be useful when saving the displacement map out for use in external renderers.
Излучение¶
Запекает цвета излучения или свечения материала.
Альфа¶
Запекает альфа-значения (прозрачность) материала.
Цвета отражения и Интенсивность отражения¶
Запекает цвета отражения или значения интенсивности отражения.
Цвета бликов и Интенсивность бликов¶
Запекает цвета бликов или значения интенсивности бликов.
Дополнительные параметры¶
Очистить Если параметр включён, очищает изображение выбранным цветом фона (по умолчанию это чёрный цвет) перед запеканием визуализации. Отступ Baked result is extended this many pixels beyond the border of each UV «island», to soften seams in the texture. Разбиение Фикс Разбивать квадраты по правилу (0, 1, 2) (0, 2, 3). Fixed Alternate Разбивать квадраты по правилу (1, 2, 3) (1, 3, 0). Автоматический Разбивать квадраты для минимизации искажений при запекании. Выделение к активному
Включение запекания информации с других объектов на активный объект.
Расстояние Controls how far a point on another object can be away from the point on the active object. Only needed for Selected to Active. A typical use case is to make a detailed, high-poly object, and then bake its normals onto an object with a low polygon count. The resulting normal map can then be applied to make the low-poly object look more detailed. Погрешность Bias towards further away from the object (in Blender units).
Полисетки должны быть видимы при визуализации
Если полисетка не видима при основной визуализации, например, потому что она исключена из визуализации в «Структуре проекта», либо к ней применено дублирование вершин, она не сможет быть запечена.
Рабочий процесс¶
- In a 3D View editor, select a mesh and enter UV/Face Select mode.
- Unwrap the mesh object .
- В редакторе UV/изображений либо создайте новое изображение, либо откройте существующее. Если ваш 3D-вид настроен на отображение в режиме текстур, вы должны увидеть изображение, спроецированное на полисетку. Убедитесь, что выбраны все грани.
- In the Bake panel at the bottom of the Render menu, bake your desired type of image (Full Render, etc.).
- Когда визуализация будет завершена, Blender заменит исходное изображение на запечённое.
- Сохраните изображение.
- Apply the image to the mesh as a UV texture. For displacement and normal maps, refer to Bump and Normal Maps . For full and texture bakes, refer to Textures .
- Уточните изображение, используя вышеописанный процесс, либо украсьте его Texture Paint или во внешнем редакторе изображений.
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License.
Большая идея: «Запекание»
«Запекание» представляет собой часто используемый термин в компьютерной графике (CG) когда речь идет о разработке компьютерных игр и традиционном рендеринге, не в режиме реального времени (Cycles или Blender Render). Но «запекание» приносит с собой определенные коннотации в реальный мир, которые вводят в заблуждение. Моя цель в этой статье состоит в том, чтобы согласовать этот термин и уточнить, что на самом деле означает запекание.
Различные типы запекания
Существует несколько различных видов запекания. Но прежде чем я начну перечислять и обсуждать их, хочу предложить общее резюме термина, то как оно относится к CG. Думайте о запекании, как о консолидации системы данных в упрощенной, более постоянной форме. Эта концепция обычно применяется тремя способами:
1. Запекание текстур
Наиболее распространенным способом является запекание текстур (или карта запекания). Преимущество запекания текстуры заключается в способности перенести характеристики 3D-геометрии на 2D-изображение.
Существует много признаков, которые могут быть запеченны, от изолированных атрибутов (Ambient Occlusion, нормали, цвета вершин, и т.д.) до их комбинаций, включая материалы, текстуры и освещение запеченные в одну текстуру. На изображенный ниже приведен пример последнего:
И это очень здорово! Сложные материалы и комплексное освещение могут быть объединены в одной текстуре и это является отличным трюком. Вы, наверное, можете себе представить насколько полезным является этот метод для игр и других приложений реального времени. Но важно понимать, что это ограниченная статичная текстура, не динамическая. Другими словами, если вы переместите голову обезьянки, то тень от нее останется в том же месте, где и была, вместо того, чтобы обновляться в режиме реального времени, как это происходит во время рендеринга в окне 3D-вида с помощью движка рендеринга Cycles. Таким образом, данная методика ограничена, хотя и чрезвычайно полезна при грамотном использовании.
В дополнение к запеканию результатов визуальных характеристик, таких как освещение и материалы, мы можем также аппроксимировать геометрию высокого разрешения на низкополигональную модель благодаря запеканию нормалей. Это экономит огромные ресурсы за счет незначительных различий воспринимаемых между низким и высоким разрешениями. Опять же, вы можете себе представить, сколько выгоды от данной техники получают игры. Вот пример:
Наконец, запекание некоторых атрибутов может помочь в процессе разукрашивания текстуры. Например, вместо того, чтобы вручную рисовать темные области в щелях объекта, вы можете запечь текстуру окружающей окклюзии (AO) и она все сделает за вас. Точно также, если вы хотите создать эффект потертости на краях объекта, можно запечь текстуру цветов вершин (dirty vertex colors). И таких примеров еще можно привести огромное количество.
2. Запекание анимации / симуляции
Та же идея консолидации системы данных в упрощенной форме продолжается в анимации и симуляции. Если подумать о ключевых кадрах анимации персонажа, то существует огромное количество работы, которую должен выполнить компьютер, чтобы мы в итоге могли увидеть результат. Риг персонажа со всей своей иерархией, ограничителями и деформациями мешей вместе с сотнями или даже тысячами ключевых кадров, каждый из которых имеет собственный тип интерполяции. Это очень много работы.
Существует несколько способов упростить все это с помощью запекания. Во-первых, в Blender вы можете выполнить операцию под названием «Bake Action». Это просто добавляет ключевой кадр для всех преобразований каждой кости для каждого кадра анимации. Хотя это может показаться «не особо то и проще», это, на самом деле, упрощает анимацию, так как она больше не зависит от ограничителей костей и других реляционных зависимостей. Bake Action также служит своеобразным «блокировщиком» анимации, что позволяет сохранить ее целостность.
Если пойти еще дальше, то анимация может быть запечена в геометрическую последовательность или «кэш», что окончательно избавляет нас от рига персонажа. Итак, представьте, что вы на 100% довольны своей анимацией и готовы перейти к следующей стадии, а именно стадии рендеринга. Очень удобно избавиться от ненужных расчетов комплексного рига в обмен на чистую последовательность геометрии. Таким образом, ваша сцена не загромождена тоннами ключевых кадров, которые никогда не будут изменены — потому что вы на 100% довольны результатом, не забывайте об этом. Вы можете просто сосредоточитесь на освещении и рендеринге анимированной геометрии, которая еще и будет немного быстрее проигрываться, так как компьютер не должен рассчитать все тонкости рига. В Blender это стало возможным с помощью экспорта кэша в формат .MDD и модификатора Mesh Cache.
Эффекты симуляции, такие как: огонь, дым, частицы и ткань также могут быть запечены. Это по сути тоже самое, что и кэш для анимации мешей. Симуляция требует много расчетов (значительно больше анимации) и, за исключением, некоторых случаев, она никогда не работают в режиме реального времени. Таким образом, чтобы увидеть созданный вами эффект на полной скорости, вы должны сначала запечь его. По умолчанию кэш храниться в оперативной памяти компьютера (RAM), но также он может быть сохранен на жесткий диск. Пример запекания симуляции ткани вы можете видеть на изображении справа.
3. Запекание света
Этот тип запекания более специфичен для игровых движков. Но так как игры тесно связаны с более широкой областью компьютерной графики, я думаю, что будет уместно коснуться еще одного варианта термина «запекание».
Целью в данном случае является сохранение ресурсов, поэтому игра должна работать настолько эффективно, насколько это возможно. Существует два типа освещения, которые могут использоваться для создания игр: статичное и динамическое. Динамическое освещение реагирует на все изменения в сцене, такие как смещение тени и информация о материале, на который они падают. Статичное освещение является стационарным и может быть исключено из расчетов динамического освещения для экономии ресурсов.
Мобильные и веб-игры часто используют запеченные карты света, которые предоставляют информацию об освещении всей сцены или конкретного уровня игры. Это означает, что вы можете создать хорошо освещенные места лишь за незначительную часть стоимости (ресурсов) динамического освещения. При запекании карт света, как статичное, так и динамическое освещения могут быть использованы одновременно, чтобы создать более реалистичную среду.
Unity использует систему светового зонда которая позволяет не статичному (анимированный или динамический) объекту получать информацию из запеченных карт света, что позволяет сэкономить ресурсы с их помощью при симуляции динамического освещения.
- Fundamentals of Texturing
- Texturing and Shading a Stylistic Character
Запечка (bake) стилизованного персонажа
Привет! Мы продолжаем цикл статей по пайплайну разработки стилизованных персонажей.
Сегодня ты узнаешь, как устроен четвёртый этап ААА-пайплайна — запечка (bake), на примере нашей модели.
Что такое запечка
Этап запекания (bake) — полностью технический этап ААА-пайплайна, цель которого заключается в переносе детализации с хайполи модели на лоуполи с помощью специальных карт.
Для запекания карты необходимо загрузить хайполи и лоуполи-модель в любую программу для 3D-моделирования или специальную программу для запечки.
Все эти карты необходимы для следующего этапа — текстурирования.
Когда мы добавим эти карты к лоуполи-модели, они перенесут дополнительную детализацию, взятую с хайполи модели.
Каждая запечённая карта содержит определённую информацию о хайполи-модели. Это может быть информация о нормалях, глубинах и высотах, цветах и других параметрах.
Наиболее полезны эти карты:
— Normal Map
— Normal (Object)
— AO (Ambient Occlusion)
— Curvature
— Vertex Color (Color ID)
Прошлая статья про запечку описывала теорию этого этапа и процесс переноса детализации. Сегодня мы сфокусируемся на практике и особенностях именно стилизованных персонажей.
Для запечки необходимо иметь:
- Хайполи модель (в нашем случае, это скульпт)
С неё алгоритмы запечки будут снимать детализацию. - Лоуполи модель, созданную на этапе ретопологии
К ней мы добавим запечённые карты и тем самым перенесём информацию с хайполи модели. - Готовую развертку,
Все карты пекутся именно на неё. - Программу для «запечки»
Marmoset/Substance Painter/Maya/3Ds Max или любую другую.
Ключевая мысль этой статьи
Процесс «запечки» написан на очень сложных и чувствительных алгоритмах.
У этих алгоритмов есть целый ряд требований к модели. А любая ошибка приводит к артефактам, которые могут испортить всю проделанную работу.
Секрет простой и успешной запечки кроется в том, чтобы на всех предыдущих этапах пайплайна учитывать особенности этого процесса.
Зная особенности алгоритмов запечки, мы поставили персонажа в позу, при которой не пересекается геометрия, а также правильно расставили хард и софт эджи.
Если ты следовал нашим рекомендациям в прошлых статьях, этап запечки будет крайне простым. В твоих руках — готовый алгоритм по полному циклу создания стилизованных персонажей.
Подготовка хайполи под бейк
Ранее, когда мы показывали процесс скульптинга, сразу перед началом ретопологии, мы совершили два простых действия в ZBrush:
1. Прижали геометрию
Что такое запекание текстур
Разбираем одно из ключевых понятий в 3D-моделировании и все основные операции, связанные с ним.
Скриншот: Damon Woods / ArtStation / Skillbox Media
Леон Балбери
Считает игры произведениями искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.
В производстве игр важно найти баланс между производительностью и качеством картинки. Для лучшей оптимизации будущего проекта разработчики прибегают к процессу запекания, но не кулинарных творений, а данных, связанных с визуальной составляющей, — освещения, симуляций, анимаций и, конечно же, текстур.
Почему процесс называют запеканием
Термин «запекание» или «запечка» — буквальный перевод с английского слова baking. В контексте 3D-моделирования под этим подразумевается перенос комплексных данных в статичную форму. В данном случае — в текстурные карты. Эти текстуры формируют поверхность будущего материала.
Причины, по которым запекают текстуры
1. Создание уникальных материалов. В качестве основы может быть как фото, так и изображение, нарисованное вручную или созданное процедурным методом с помощью нодов. Художник запекает набор текстурных карт, свойства которых зависят от того, как должен выглядеть итоговый материал после экспорта в игровые движки или системы рендеринга. Также в процессе запекания текстуры можно спроецировать на готовую UV-развёртку модели.
2. Запекание упрощает рендеринг в реальном времени, так как игровой движок должен просчитать все тени, освещение и полигоны в каждом кадре. Запечённые текстуры уже содержат в себе информацию об отражении, освещении, объёме и прочих свойствах объекта, которые создают ощущение реализма.
3. Когда художник продаёт или делает на заказ модель с использованием PBR-материалов , загруженных с какого-либо ресурса, он рискует нарушить авторское право. Например, на большинство бесплатных материалов портала BlenderKit распространена лицензия Royalty Free, согласно которой пользователь может использовать загруженный контент в своих работах в коммерческих целях, но не в первозданном виде. И в этом случае запекание текстур помогает художнику избежать неприятностей при использовании лицензированного контента: у будущего покупателя не будет доступа к исходникам. Вместо этого он получит наборы текстур, содержащие лишь фрагменты сторонних материалов.
4. В игровые движки и системы рендеринга нерационально загружать модели, содержащие несколько миллионов полигонов. В целях оптимизации и экономии ресурсов создаётся low-poly-версия high-poly-модели, а все мелкие детали переносятся в виде текстурных карт.
Какие текстуры запекают
Существует много вариаций текстур, и каждая из них наделяет поверхность объекта особыми свойствами. Такое разнообразие связано с тем, что у каждого ПО разные системы шейдеров и наборы инструментов. Задача художника состоит в том, чтобы подготовить собственный набор карт, исходя из специфики игрового движка, системы рендеринга и общего визуального стиля проекта.
Текстуры, которые чаще всего используют в работе
Diffuse Map / BaseColor Map (Albedo/Color Map) — основная карта, которая определяет цвет и изображение поверхности меша. Исходя из названия, несложно сделать вывод, что у этой текстуры множество названий. Пользователи часто считают их синонимами, ведь данный тип карт обычно подключают в один и тот же слот шейдеров. Однако диффуз-карта и карта альбедо отличаются друг от друга как визуально, так и по свойствам. Поэтому начинающие 3D-художники часто путают понятия, когда речь заходит о создании базовой текстуры. В чём же отличие?
На стандартных диффуз-картах изображение содержит светлые участки и тени. Это приводит к тому, что при наличии дополнительных источников света и технических карт на объекте могут появиться лишние тени или засветы. В контексте реалистичной графики это может негативно повлиять на итоговую картинку.
В последние годы художники часто используют PBR-материалы с картой альбедо в качестве основы. По сравнению с диффуз-текстурой она достаточно блёклая: на изображении отсутствуют затенения и яркие участки, но остаётся информация о цвете будущего материала. Все расчёты по освещению выполняет движок или система рендеринга в сочетании с картой Ambient Occlusion, речь о которой пойдёт ниже. Из-за этого поверхность объекта выглядит более яркой и естественной.
Normal Map — карта нормалей с информацией о направлении каждого пикселя. Визуально она выглядит как цветная текстура с RGB-каналами. Красный отвечает за направление по оси X, зелёный — за ось Y и, соответственно, синий — за ось Z («выдавливает» нормали из поверхности). В зависимости от направления света в сцене карта нормалей придаёт объекту рельеф, создавая иллюзию высокополигональной модели. Форму рельефа можно отрегулировать, настроив RGB-каналы вручную.
Примечание
Bump Map — более ранняя версия карты нормалей. Это 8-битная карта, поддерживающая оттенки белой, чёрной и серой гаммы. При сером пространстве поверхность остается неизменной. Белый цвет создает имитацию выпуклых деталей, а чёрный, наоборот, «вдавливает» их внутрь. Тем не менее в некоторых системах шейдеров всё ещё существует поддержка Bump Map, и вместо неё можно подключить современную Normal Map.
Displacement Map — карта смещения, которая добавляет поверхности объём и эффект глубины. В отличие от Normal Map и Bump Map она не просто создает иллюзию объёма от освещения, но и смещает геометрию объекта, в результате чего он приобретает видимый объём.
Примечание
Height/Parallax Map — карта высот/параллакса — аналог Displacement Map. Она тоже создаёт эффект рельефа, выходящего за пределы меша. Карту высот часто используют для текстурирования ландшафта, так как её свойства изменяют высоту вершин. За счёт этого некоторые участки меша визуально кажутся выше, чем другие, в зависимости от того, с какого ракурса зритель или игрок смотрит на текстурированную поверхность.
AO (Ambient Occlusion) Map — текстура, придающая мягкое затенение поверхности объекта, как при рассеянном освещении в облачную погоду. Она содержит данные о том, какие участки текстуры будут меньше или больше освещаться. Ambient Occlusion влияет только на диффузные (не зеркальные) отражения поверхности и зависит от общего света окружения, а не от отдельных источников.
Примечание
Сейчас многие игровые движки поддерживают эффект Ambient Occlusion в реальном времени. Эта техника известна как SSAO (Screen-Space Ambient Occlusion).
Specular Map — текстура с данными отражения от источников освещения. Обычно она выглядит как карта в серых тонах, где светлые участки сильнее отражают свет. Если нужно подчеркнуть отражение сложных металлических поверхностей — например, металлов со ржавчиной, — можно использовать цветную текстуру и таким образом оттенить отражение, что характерно для подобных материалов.
Glossiness Map — карта глянцевитости (не блеска), которая используется в сочетании с картой Specular. Она определяет, какие области поверхности дают больше глянца, а какие — меньше, в зависимости от интенсивности цветов карты. Чёрные области текстуры создают полный глянец, белые убирают его, а серые дают промежуточное значение свойства.
Metallic Map — альтернатива карте Specular, указанной выше. Эта чёрно-белая текстура работает как маска основной карты и сообщает системе рендеринга, какие участки поверхности объекта металлические, а какие — нет.
Roughness Map — карта шероховатости, которая идёт в сочетании с Metallic Map. Прямая противоположность карты глянцевитости, поэтому текстура инвертирована.
Примечание
Существует два подхода к текстурированию металлов PBR-материалами — Diffuse/Specular/Glossiness и Albedo/Metallic/Roughness.
В первом случае необходимо самостоятельно отрегулировать Specular Map, чтобы отражение не получилось слишком цветным и рассеянным, так как у металлов нет таких свойств. Для более реалистичного отображения металлов тёмные участки Specular-текстуры получают основной оттенок поверхности, а неметаллические — серый. В свою очередь, участки диффуз-текстуры закрашивают чёрным в тех местах, где предполагается металлическая поверхность.
Подход с картой Metallic намного проще: система рендеринга самостоятельно посчитает оттенок отражения элементов, отмеченных белым. Цвет металла зависит от базового цвета карты, а остальные элементы будут отмечены чёрным.
Если все условия соблюдены, итоговый результат обоих подходов будет практически неотличим. Но стоит учитывать, что в этом случае Specular-подход потребует больше производительности из-за наличия цвета в карте отражений, и художнику придётся больше работать над покраской текстур, чтобы достичь нужного эффекта реализма.
Curvature/Concavity/Convexity Map — карта кривизны в серых тонах, которая содержит информацию о выпуклых (белый цвет) и вогнутых (тёмно-серый цвет) участках. Нейтральные области отмечены серым цветом. Чаще всего используется в качестве маски, когда нужно подчеркнуть мелкие трещины, изношенность, щели и швы, в которых скопилась грязь.
Opacity/Transparency/Alpha Map — чёрно-белая карта (иногда с оттенками серого), определяющая непрозрачность текстуры. Чёрный цвет — прозрачные участки, белый — непрозрачные. Чаще всего используется для текстурирования решёток, растительности и волос.
Transfluency Map — цветная карта прозрачности. Внешне похожа на диффуз-карту, но её оттенок более яркий. Свойство прозрачности позволяет источникам света пропускать сквозь материал часть лучей. Transfluency Map используют в работе, когда нужно подчеркнуть реализм в сценах, где лучи солнца или яркого фонаря просвечивают листья деревьев, лепестки цветов, ткани и другие тонкие меши. Цветную карту прозрачности сочетают с картой Opacity для определения границ эффекта от текстуры.
Примечание
Перед тем как исправлять артефакты, вызванные швами, оцените, насколько они критичны в контексте текущей задачи. Если модель сделана не для ассета на маркетплейсе и не для игры, а рассчитана на использование в статичном рендере или расположена в сцене таким образом, что данные недочёты не увидит зритель, возможно, рациональнее уделить внимание каким-то более важным вещам.
Ещё одна частая проблема — некорректное отображение нормалей в результате запекания. Полученный рельеф кажется либо слишком вдавленным, либо нечётким, либо его вообще нет. Это связано с тем, что лучи, исходящие от low-poly-объекта, не могут правильно считать информацию о рельефе high-poly-объекта из-за того, что его меш расположен слишком близко или слишком далеко. Эту проблему может исправить корректировка расстояния во время запекания.
С более подробным списком проблем, связанных с запеканием карт нормалей и их решением, можно ознакомиться в четвёртой части туториала This is normal от художника Карлоса Лемонса на ArtStation. На Habr размещён неофициальный перевод этой главы на русский язык.
Примечание
Существуют техники, при которых необязательно запекать все мелкие детали высокополигональной модели. Достаточно обзавестись специальным набором кистей и использовать их в программах, которые поддерживают альфа-кисти и карты высот.
Презентация набора sci-fi альфа-кистей от художника Йонаса Роннегарда и их наложение на поверхность объекта
Полезные ссылки на материалы о запекании текстур
В рамках ознакомительного материала невозможно разобрать все тонкости запекания в каждой программе для 3D-моделирования. Но можно узнать о них больше, ознакомившись с небольшой подборкой обучающих материалов.
3ds Max:
- официальная документация;
- подборка уроков (канал Autodesk 3ds Max Learning Channel).
Maya:
- видеоурок по компоновке UV-развёртки персонажа и запеканию текстур (канал TutorCG);
- видеоурок по переносу деталей с high-poly на low-poly (канал Figura).
Blender:
- пошаговое руководство по UV-развёртке и запеканию текстур (сайт Brandon’s Drawings 2D/3D-художника Брэндона Стокинга);
- видеоурок по запеканию нормалей с высокополигонального объекта на низкополигональный (канал Blender Guru);
- видеоурок по запеканию разных деталей на одну карту (канал Ryan King Art).
Substance Painter:
- официальная документация;
- видеоурок (канал Flipped Normals Marketplace).
Marmoset Toolbag:
- официальная документация по запеканию деталей высокополигональной модели на низкополигональную;
- официальный видеоурок.
3DCoat:
Итог
Существует много причин, по которым запекают текстуры. В любом случае этот процесс помогает оптимизировать объекты, поверхность которых наделена множеством свойств.
Окончательный вид текстуры формируют технические карты — Normal, Specular, Ambient Occlusion и многие другие.
Набор текстур зависит от визуального стиля проекта, специфики ПО и предполагаемой фактуры самих материалов.
При переносе деталей high-poly-модели на low-poly необходимо проверить наличие швов на жёстких рёбрах, настроить правильную дистанцию между проецируемыми мешами и использовать кейдж.
Запекание текстур доступно во всех программах для 3D-моделирования, но сам процесс в каждой из них происходит по-разному. Выберите для себя самый оптимальный и понятный инструмент, внимательно изучите его и приступайте к освоению «кулинарных» навыков в 3D.
Материалы, обеспечивающие физически корректный рендеринг в соответствии с тем, как они взаимодействуют со светом (что зависит от их свойств).