Запекание 3д модели что это
Перейти к содержимому

Запекание 3д модели что это

  • автор:

Запекание визуализации¶

Запекание – в общем случае, это акт предварительного вычисления чего-либо для того, чтобы ускорить последующий процесс. Визуализация с нуля, в зависимости от выбранных вами параметров, занимает много времени.Поэтому 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, как указано в панелях «Окружающая среда (мир)». Игнорирует все источники освещения в сцене.

../../_images/render_blender-render_bake_ambient-occlusion.png

С нормализацией Нормализация без использования настроек материала.

Тень¶

Запекает тени и освещение.

Нормали¶

Bakes tangent and camera-space normals (among many others) to an RGB image.

../../_images/render_blender-render_bake_normals.png

Пространство нормалей

Нормали могут быть запечены в различных пространствах:

Камера Метод по умолчанию. Окружающая среда (мир) Нормали в координатах объекта, зависящие от преобразований и деформации объекта. Объект Нормали в координатах объекта, не зависящие от преобразований объекта, но зависящие от его деформации. Тангенс Нормали в координатах касательного пространства, не зависящие от трансформации или деформации объекта. Это пространство – новое умолчание и верный выбор в большинстве случаев, поскольку такая карта нормалей так же может использоваться для анимированных объектов.

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

Текстуры¶

Запекает только цвета материалов и текстуры, без затенения.

Смещения¶

Так же как и при запекании карты нормалей, при помощи параметра Выделение к активному можно запечь карты смещений с высокополигонального объекта в развёртку для низкополигонального объекта.

../../_images/render_blender-render_bake_displacement.png

С нормализацией Нормализация на расстояние.

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.

Излучение¶

Запекает цвета излучения или свечения материала.

Альфа¶

Запекает альфа-значения (прозрачность) материала.

Цвета отражения и Интенсивность отражения¶

Запекает цвета отражения или значения интенсивности отражения.

Цвета бликов и Интенсивность бликов¶

Запекает цвета бликов или значения интенсивности бликов.

../../_images/render_blender-render_bake_full-render.png

Дополнительные параметры¶

Очистить Если параметр включён, очищает изображение выбранным цветом фона (по умолчанию это чёрный цвет) перед запеканием визуализации. Отступ 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).

Полисетки должны быть видимы при визуализации

Если полисетка не видима при основной визуализации, например, потому что она исключена из визуализации в «Структуре проекта», либо к ней применено дублирование вершин, она не сможет быть запечена.

Рабочий процесс¶

  1. In a 3D View editor, select a mesh and enter UV/Face Select mode.
  2. Unwrap the mesh object .
  3. В редакторе UV/изображений либо создайте новое изображение, либо откройте существующее. Если ваш 3D-вид настроен на отображение в режиме текстур, вы должны увидеть изображение, спроецированное на полисетку. Убедитесь, что выбраны все грани.
  4. In the Bake panel at the bottom of the Render menu, bake your desired type of image (Full Render, etc.).
  5. Когда визуализация будет завершена, Blender заменит исходное изображение на запечённое.
  6. Сохраните изображение.
  7. 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 .
  8. Уточните изображение, используя вышеописанный процесс, либо украсьте его Texture Paint или во внешнем редакторе изображений.

© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License.

Большая идея: «Запекание»

baking

«Запекание» представляет собой часто используемый термин в компьютерной графике (CG) когда речь идет о разработке компьютерных игр и традиционном рендеринге, не в режиме реального времени (Cycles или Blender Render). Но «запекание» приносит с собой определенные коннотации в реальный мир, которые вводят в заблуждение. Моя цель в этой статье состоит в том, чтобы согласовать этот термин и уточнить, что на самом деле означает запекание.

Различные типы запекания

Существует несколько различных видов запекания. Но прежде чем я начну перечислять и обсуждать их, хочу предложить общее резюме термина, то как оно относится к CG. Думайте о запекании, как о консолидации системы данных в упрощенной, более постоянной форме. Эта концепция обычно применяется тремя способами:

1. Запекание текстур

Наиболее распространенным способом является запекание текстур (или карта запекания). Преимущество запекания текстуры заключается в способности перенести характеристики 3D-геометрии на 2D-изображение.

Существует много признаков, которые могут быть запеченны, от изолированных атрибутов (Ambient Occlusion, нормали, цвета вершин, и т.д.) до их комбинаций, включая материалы, текстуры и освещение запеченные в одну текстуру. На изображенный ниже приведен пример последнего:

baking-2

И это очень здорово! Сложные материалы и комплексное освещение могут быть объединены в одной текстуре и это является отличным трюком. Вы, наверное, можете себе представить насколько полезным является этот метод для игр и других приложений реального времени. Но важно понимать, что это ограниченная статичная текстура, не динамическая. Другими словами, если вы переместите голову обезьянки, то тень от нее останется в том же месте, где и была, вместо того, чтобы обновляться в режиме реального времени, как это происходит во время рендеринга в окне 3D-вида с помощью движка рендеринга Cycles. Таким образом, данная методика ограничена, хотя и чрезвычайно полезна при грамотном использовании.

В дополнение к запеканию результатов визуальных характеристик, таких как освещение и материалы, мы можем также аппроксимировать геометрию высокого разрешения на низкополигональную модель благодаря запеканию нормалей. Это экономит огромные ресурсы за счет незначительных различий воспринимаемых между низким и высоким разрешениями. Опять же, вы можете себе представить, сколько выгоды от данной техники получают игры. Вот пример:

baking-4

Наконец, запекание некоторых атрибутов может помочь в процессе разукрашивания текстуры. Например, вместо того, чтобы вручную рисовать темные области в щелях объекта, вы можете запечь текстуру окружающей окклюзии (AO) и она все сделает за вас. Точно также, если вы хотите создать эффект потертости на краях объекта, можно запечь текстуру цветов вершин (dirty vertex colors). И таких примеров еще можно привести огромное количество.

2. Запекание анимации / симуляции

Та же идея консолидации системы данных в упрощенной форме продолжается в анимации и симуляции. Если подумать о ключевых кадрах анимации персонажа, то существует огромное количество работы, которую должен выполнить компьютер, чтобы мы в итоге могли увидеть результат. Риг персонажа со всей своей иерархией, ограничителями и деформациями мешей вместе с сотнями или даже тысячами ключевых кадров, каждый из которых имеет собственный тип интерполяции. Это очень много работы.

Существует несколько способов упростить все это с помощью запекания. Во-первых, в Blender вы можете выполнить операцию под названием «Bake Action». Это просто добавляет ключевой кадр для всех преобразований каждой кости для каждого кадра анимации. Хотя это может показаться «не особо то и проще», это, на самом деле, упрощает анимацию, так как она больше не зависит от ограничителей костей и других реляционных зависимостей. Bake Action также служит своеобразным «блокировщиком» анимации, что позволяет сохранить ее целостность.

Если пойти еще дальше, то анимация может быть запечена в геометрическую последовательность или «кэш», что окончательно избавляет нас от рига персонажа. Итак, представьте, что вы на 100% довольны своей анимацией и готовы перейти к следующей стадии, а именно стадии рендеринга. Очень удобно избавиться от ненужных расчетов комплексного рига в обмен на чистую последовательность геометрии. Таким образом, ваша сцена не загромождена тоннами ключевых кадров, которые никогда не будут изменены — потому что вы на 100% довольны результатом, не забывайте об этом. Вы можете просто сосредоточитесь на освещении и рендеринге анимированной геометрии, которая еще и будет немного быстрее проигрываться, так как компьютер не должен рассчитать все тонкости рига. В Blender это стало возможным с помощью экспорта кэша в формат .MDD и модификатора Mesh Cache.

baking-7

Эффекты симуляции, такие как: огонь, дым, частицы и ткань также могут быть запечены. Это по сути тоже самое, что и кэш для анимации мешей. Симуляция требует много расчетов (значительно больше анимации) и, за исключением, некоторых случаев, она никогда не работают в режиме реального времени. Таким образом, чтобы увидеть созданный вами эффект на полной скорости, вы должны сначала запечь его. По умолчанию кэш храниться в оперативной памяти компьютера (RAM), но также он может быть сохранен на жесткий диск. Пример запекания симуляции ткани вы можете видеть на изображении справа.

3. Запекание света

Этот тип запекания более специфичен для игровых движков. Но так как игры тесно связаны с более широкой областью компьютерной графики, я думаю, что будет уместно коснуться еще одного варианта термина «запекание».

Целью в данном случае является сохранение ресурсов, поэтому игра должна работать настолько эффективно, насколько это возможно. Существует два типа освещения, которые могут использоваться для создания игр: статичное и динамическое. Динамическое освещение реагирует на все изменения в сцене, такие как смещение тени и информация о материале, на который они падают. Статичное освещение является стационарным и может быть исключено из расчетов динамического освещения для экономии ресурсов.

Мобильные и веб-игры часто используют запеченные карты света, которые предоставляют информацию об освещении всей сцены или конкретного уровня игры. Это означает, что вы можете создать хорошо освещенные места лишь за незначительную часть стоимости (ресурсов) динамического освещения. При запекании карт света, как статичное, так и динамическое освещения могут быть использованы одновременно, чтобы создать более реалистичную среду.

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

  • Fundamentals of Texturing
  • Texturing and Shading a Stylistic Character

Можете просто и доходчиво объяснить, что такое UV, карты нормалей, запекание?

В общем, моделирую в blender, столкнулся с такими понятиями как «UV, карта нормалей, запекание текстур и т. п.» С UV-развёрткой ещё более менее понятно, UV-развёртку можно «разукрасить», а затем наложить на модель. С этим я работал. Но эти понятия «карты нормалей, какие-то ещё карты, запекание и т. п.» — они мне непонятны. Вообще сколько их этих карт? В одних источниках эти названия карт на английском, в других на русском из-за этого у меня создалось впечатление, что этих карт бессчётное количество. И отличаются ли эти карты в зависимости от 3D пакета? Может в 3D MAX свои карты, а в Blender свои? Но мне нужна информация именно про Blender.

Пожалуйста, максимально развёрнуто и понятно))))))

  • Вопрос задан более трёх лет назад
  • 31756 просмотров

5 комментариев

Простой 5 комментариев

Долго это писать придется. Ищите уроки/статьи.
Just_Graf @Just_Graf Автор вопроса

Если знаете ответ — напишите))
А, так, да, я искал ответы, но говорю же везде какая-то несогласованность в названиях этих карт. Ну. если у вас совсем нет времени, напишите мне сколько всего этих карт существует и как их нужно называть, если вас не затруднит.

p. s. Я отблагодарю вас, когда стану миллиардером.

Just_Graf @Just_Graf Автор вопроса

Egor Padalka, «Архитектор — занимаюсь проектированием зданий, визуализацией, сложным 3d моделированием.
В компьютерной графике с 1997г.» — Кто, если не ВЫ?

Just_Graf, с тебя миллион )
Just_Graf @Just_Graf Автор вопроса

Egor Padalka, Обязательно))) Ща допилю проект, заработаю триллион долларов, а если повезёт и квадраллион и обязательно закину вам на почту.

Решения вопроса 0
Ответы на вопрос 3

Для какого игрового движка контент создавать будешь? (Или не под движок?)
(для игр одно — это рендеринг в реальном времени и тут одни требования, для др. систем рендеринга другие требования)

Тебе надо разобраться с основными понятиями комп. графики. (модель\меш, полигон, вертекс, edge, топология, ретопология, нормали, RGBA, каналы, маски, альфа и др)
А вот когда с ними разберешься, можно посмотреть в сторону PBR (Physically-Based Rendering)(скорее всего контент «под него» будешь пилить)

«UV-развёртку можно «разукрасить», а затем наложить на модель.»
Всё не так, нужно разукрасить не UV-развёртку, а подготовить набор текстурных карт для наложения на модель.
Никому ведь модель только с одной диффузной текстурой не нужна

UV-map это проекция всех поверхностей 3d модели на плоскость (ведь сами текстуры то плоские)
Вспомни бумажные модели (например куба)
Вот такая развертка нужна чтобы построить куб из бумаги

spoiler

eea39eb602f327149c839ec5d56302b4.jpg

А чтобы получить UV-развёртку куба, нужно не собрать куб, а разрезать и развернуть.

Запекание (запекать можно много какие карты — Normal Map, AO и др)

Normal Map Baking
Вот есть у тебя модель ботинка (полигонов очень много) и тебе нужно перенести детализацию подошвы с этой самой модели ботинка, на более простую модель ботинка. (кто у персонажа подошвы ботинок разглядывает? Там ведь много полигонов не нужно)
Ты запекаешь карту нормалей (Normal Map) и на ней создается изображение подошвы. (Информация перешла с высокополигональной модели на карту нормалей) затем ты накладываешь её на простую модель ботинка и вуаля!
На почти плоской подошве появился псевдо рельеф
Освещение в движке реагирует на эту самую Normal Map и создает видимость рельефа, для наблюдателя. Смотришь и кажется что подошва богата на детали!
И так поступают со всей моделью.

«И отличаются ли эти карты в зависимости от 3D пакета? Может в 3D MAX свои карты, а в Blender свои?» — нет ничем не отличаются. Все подобные крупные 3d пакеты похожи и не уступают друг другу.
Но ты должен понимать что существуют специальное ПО для работы с текстурами. (MARI, Substance Painter и мн. д)
(обойтись естественно можно и без них, но новичку будет одинаково сложно что с ними, что без них)

«В одних источниках эти названия карт на английском, в других на русском» (там всё намного веселей!)
Введи в поисковик «Texture map terminology confusion»

Ищи статьи на русском где используется не перевод, а написание английских слов русскими буквами или просто где названия карт не переводятся.
Ни в коем случае не русифицируй свои программы (так ты всё только испортишь)

В зависимости от модели, от игрового движка или системы рендеринга тебе будут нужны разные «наборы» текстурных карт.
В движках есть редактор материалов и он может намекнуть какие текстурки он «кушает»

Например вот

5a0ed3d153d39855990575.png

(именно в этом редакторе там где написано Bump map пихают Normal map)

Вот карты для «старого метода» (Для PBR используются некоторые другие карты и «парочка» карт отсюда — например Normal map)

Diffuse maps — это просто текстура цвета объекта (без бликов и проч)
Normal map — уже написал про неё (псевдо рельеф)
Specular map – влияет на способность отражения материала (карта бликов)
Glossiness\gloss map — эта текстура отвечает насколько размыты будут отражения
Ambient occlusion map\AO map — эта текстура создаёт мягкое затенение модели (прямо на неё не направлен источник света)

Emissive map\emission map\glow map

5a0e671082a59675942102.jpeg

— определяет где расположены «светяшки» на модели (собственно сама маска и есть Emissive map) — если у тебя святяшек нет на модели, то и карта эта не нужна.
Displacement map — одна из многочисленных карт высот (выдавливает реальный рельеф на модели) — например морщины на лице можно «выдавить»

Текстурных карт очень много и про остальные нет смысла писать. (Про PBR тем более)

«Но мне нужна информация именно про Blender»
Тысячи видео на многих языках мира, сотни страниц из статей и книг к твоим услугам!
(Чтобы видео смотреть и понимать логику работы в программе, не нужно знать английский\японский\хинди — я например смотрел уроки на итальянском! И иногда слышал знакомые слова)
Это касается не только блендера.

p.s
Помни о правиле 80\20 (80% практика, 20% теория) если наоборот значит всё будет плохо. Утонешь в теории (ты не знаешь как к ней правильно подступиться)

Наши ответы тебе особо не помогут.
Пока сам не начнешь, не окунешься в работу. Не поймешь какие карты тебе нужны, и что ты вообще собрался делать.

Всё про Bake (Запечку) как этап ААА-пайплайна

Это пятая статья из цикла про ААА-пайплайн. Вот ссылки на все пять, выбирай ту, которая тебе нужна:

Эта статья поможет новичкам, которые хотят научиться делать запечку без артефактов. Ты узнаешь, что такое запечка, зачем она нужна и научишься переносить детализацию с high poly на low poly. Внимательное изучение статьи займет около 20 минут. Если возникнут вопросы — пиши в чат-бот (кнопка справа внизу). Там на связи живой менеджер 🙂 Он поможет разобраться. Ну что, давай начнем!

Что такое запечка в 3D

Взглянем на low poly модель нашего студента.

Низкополигональная модель, созданная на этапе ретопологии

Минимум полигонов и чистая сетка. Эта модель будет загружаться в игровой движок.

Есть ещё high poly модель с высокой детализацией и скульпт.

High poly модели под сабдив и скульпт
При помощи запечки мы переносим детали с high poly и скульпта на low poly модель.

В итоге, в игровом движке будет легкая low poly модель с минимальным количеством полигонов, но выглядеть она будет так, будто на ней куча деталей:

Что получается, если наложить карты на low poly модель

На low poly мы добавляем запеченные карты нормала и карту затенений. Это карты, которые обманывают поведение игрового света. Свет падает под определенным углом на модель и создает блик. В итоге нам кажется, что в модели много фасок, деталей и вырезов.

На этапе запечки наша задача — запечь 3 карты:

1) Normal map — карту неровностей
2) Ambient Occlusion (AO) — карту затенения
3) Color ID — цветные маски

Если добавим Normal map и AO на low poly модель — на ней появится детализация с high poly и скульпта. Благодаря Color ID модель легче разбить по материалам и текстурировать. Эти карты создают на основе развертки, которую мы делали этапом ранее. Помни, если есть ошибки на развертке или low poly модели — будет куча проблем с артефактами.

Как запекать карты

Как выглядит Normal Map

Normal Map создает виртуальные векторы направления в каждой точке low poly модели и меняет поведение света. Если наложить запеченный нормал на модель — она будет выглядеть почти как high poly.

Your browser does not support the video tag.

Пример low poly модели с включенным нормалом и без него

Новые полигоны не создаются, это лишь иллюзия формы:

Детализация это иллюзия

Чтобы создать Normal map, мы берем развертку с high poly или скульпта, загружаем в программу для запечки и нажимаем кнопку «bake».

Из чего печётся Normal map

Небольшие черные полосы на нормале — это нормально. Никто не будет разглядывать модель под микроскопом.

Пример черных полос

Из-за того, что игрок видит модель в игре на расстоянии, нам не нужно тратить несколько часов, чтобы убрать черные полоски на нормале:

Normal map создает иллюзию объема из-за трех карт в каналах текстуры: красной, зеленой, синей. Чтобы переключаться между каналами, откроем файл с нормалом в Photoshop и зайдем во вкладку Channels.

Вкладка Channels

Красный канал показывает искажение вертекс нормалей по горизонтали. Чем светлее пятно на красном канале — тем сильнее виртуальная поверхность наклонена вправо, а чем темнее — тем больше поверхность бликует влево.

Красный канал нормала

Зеленый канал работает так же, но искажает шейдинг по вертикали. Светлый блик поворачивается наверх, а темный вниз.

Зелёный канал нормала
Чтобы лучше понять разницу между этими двумя каналами, взглянем на эту часть модели:

У бочки на high poly фактура дерева

Затемнение идет только по одной из осей. Так как красный канал нормала показывает искажение вертекс нормалей по горизонтали, на нем будет много информации (скосы между досками как раз и отклоняются влево или вправо). Зеленый же канал показывает искажения по вертикали. Виртуальные плоскости не отклоняются вверх или вниз, поэтому затемнений и информации на нормале в этом канале почти нет:

Зелёный и красный канал нормала на примере бочки

Красный и зеленый каналы — основные для моделлеров. Но у нормала есть еще и синий канал. Он имитирует углубления в объекте, но в играх практически не используется. За счет изменения синего цвета на нормале создаются искажения на плоской поверхности. Если из-за синего канала на модели артефакты, мы можем просто выключить этот канал, он нам не нужен.

Синий канал нормала

Если после запечки есть артефакты, нормал нужно править руками. Иногда это делают сразу на всех трёх каналах, а иногда — на одном из них.

128х128х255 — нейтральный цвет нормала.

Если добавить полностью нейтральный нормал — особой разницы видно не будет. Модель будет шейдить так же, как обычная low poly.

В каком формате лучше хранить нормал?

После запечки часто приходится вносить изменения в нормал при помощи Фотошопа. Поэтому файл лучше сохранять в форматах Targa или TIF. При сохранении есть выбор, сохранять в 24 или 32 bit. Если есть Альфа-канал — сохраняем с 32 bit. Если Альфа-канала нет — в 24 bit.

Пример карты АО

Ambient occlusion (AO) — это карта затенения. Она показывает самые глубокие тени в объекте — в основном в углублениях и на пересечениях. Эту карту используют в игровых движках для создания корректного освещения и в текстурировании.

Например, без АО почти нереально сделать грязь. Но с картой АО мы легко сгенерируем маску углублений, чтобы забить их грязью.

Если добавить на low poly модель карту АО, на модели появятся самые глубокие тени
Так же как и нормал, карта АО печется на развертку модели из high poly и скульпта.

Карта AO создаётся из high poly и скульпта

По-умолчанию карта черно-белая, но на этапе текстурирования ее можно покрасить.

3. Карта Color ID

Пример Color ID

Наша модель молота состоит из разных материалов: металла, камня, дерева и ткани.
Во время текстурирования нам нужно быстро выделять геометрию, которую мы хотим затекстурить. Чтобы это сделать в один клик внутри Substance Painter, нужно запечь карту Color ID. Она поможет выделять большие куски модели. Это поможет легко затекстурить выбранную группу объектов.

Your browser does not support the video tag.

С помощью Color ID красим модель в разные цвета

Чтобы создать карту Color ID, нужно покрасить high poly модель в разные цвета. Один цвет — это одна группа объектов разбитая по материалам. Например, все дерево на Color ID — оранжевое, вся кожа — розовая, ржавый металл — синий, шерсть — голубая, а новый металл — зеленый.

Color ID — не цвета будущей модели, эта карта нужна для разделения на разные материалы.

Много дополнительных карт для запечки есть в Marmoset, а еще там можно печь цвета и материалы с других моделей и текстур, чтобы не переделывать с нуля. Но сейчас гораздо проще печь дополнительные карты прямо в Substance Painter.

Список карт, которые можно запечь

Дополнительные карты в Substance Painter

В Substance Painter в один клик можно из нормала и AO сделать идеальные карты для своих алгоритмов. Они откалиброваны и с ними без проблем работают генераторы и фильтры.

Если ты интересовался какой софт лучше использовать для запечки — это не важно. Принцип запечки во всех программах одинаковый. Просто выбирай, что больше нравится: Maya, Blender, 3D Max, Modo или Cinema 4D.

Как сделать самую быструю в мире запечку?

Шаг 1: Открываем Marmoset.
Шаг 2: Загружаем low poly и high poly, добавляем их в одну группу запечки (Baker).
Шаг 3: Нажимаем кнопку «Bake».

Когда карта будет готова, открываем Maya, добавляем на low poly карту нормалей.
Получается такой результат:

Самая быстрая запечка
Но посмотри сюда:

Странные пятна на картинке — артефакты. Замазать их в Photoshop не просто, потому лучше перепечь модель

Артефакты появились по целому ряду причин. Где-то low poly и high poly плохо совпадают. Где-то элементы запеклись друг на друга. Где-то кейдж недостаточно большой. Единственный способ исправить ситуацию — переделать модель.

Что делать, чтобы на модели не было артефактов

1. Правильно подготовить low poly к запечке

Для этого мы следим за шейдингом модели. Вот пример плохого и хорошего шейдинга:

Шейдинг у левой книги — плохой и никогда не запечётся. А с правой книгой всё окей.

Секрет хорошего шейдинга — в правильной работе с хардами и софтами:

  1. Если угол 90 градусов — ставим хард.
  2. Если угол меньше 90 градусов — ставим хард.
  3. Если угол больше 90 градусов — ставим софт. Даже если угол 91 градус, ставим софт.

Так выглядит софт эдж

Есть нюанс: если начал делать луп хардами, нужно продолжать хардами по всей его длине, иначе появятся артефакты:

Вся окружность из хардов

2. Убирать зазоры между геометрией

Следим, чтобы не было дырок между геометрией:

Your browser does not support the video tag.

В таких местах нужно слегка притопить геометрию внутрь другой

3. Триангулировать модель

Проверив всю low poly модель, обязательно включаем функцию триангуляции.
Если не триангулировать модель перед запечкой — в разном софте она будет смотреться по-разному.

Your browser does not support the video tag.

Что учитывать на high poly?

Если high poly шейдит некрасиво — дорабатываем геометрию. С high poly вся детализация будет переноситься на low poly.

Нормальный шейдинг

Следи, чтобы фаски не были тонкими, иначе они не запекутся. Вот пример хороших и тонких фасок:

Скошенная геометрия лучше печется на плоскости. А геометрия без скосов не печется совсем.

Сделали угол скошенный, а не 90 градусов, потому что алгоритму запечки проще работать со скосами
Вот пример того, как можно скосить геометрию и повысить выразительность:
Your browser does not support the video tag.

Крутой лайфхак в мире моделлеров — парящая геометрия.

Такая форма шейдит как единое целое
Но вшивать эти цилиндры в крест — то ещё удовольствие. Поэтому мы их ставим поверх модели.

Геометрия висит в воздухе. Такую проще моделить, и она хорошо печется на нормал.

Проверяем, совпадают ли high poly и low poly

High poly и low poly должны максимально совпадать. Вот пример, когда они не совпадают:

Your browser does not support the video tag.

Чтобы увидеть места, где high poly и low poly не совпадают, покрасим high poly в яркий контрастный цвет, а low poly — в белый:

Your browser does not support the video tag.

Затем проверяем, совпадают ли фаски. Для этого назначаем на low poly бликующий материал и делаем его прозрачным.

Что делать перед тем, как начать запечку

Мы уже подготовили low poly, high poly и развертку к запечке. Но прежде чем нажимать волшебную кнопку, нужно выполнить еще три простых действия, которые помогут в дальнейшем.

Правильный нейминг сэкономит гору времени во время работы с группами запечки — лишний мусор не будет мешать при работе. Проверяем, совпадает ли нейминг внутри группы low poly с неймингом внутри high poly.

lowpoly -> barrel
sculpt -> zbrush_barrel
highpoly -> high_barrel

В Maya есть полезная функция File → Optimize Scene Size, которая удаляет из сцены мусор, который нигде не используется. Лишние слои, материалы и пустые группы.

Backup похож на резервное копирование, он поможет не потерять проделанную работу. Во время запечки иногда приходится править часть геометрии. Где-то добавятся фаски, где-то поддержки, и так далее. Поэтому может начаться настоящий хаос, если не сохранить исходник модели.

Перед запечкой создаем отдельную папку «Bake» и сохраняем туда бэкап исходного файла до начала запечки — на всякий случай.

Подготовка сцены в Marmoset

Ставим более высокое разрешение

Прежде чем делать запечку, указываем какого размера будут карты. Ставим разрешение карт в 2 раза выше, чем будет у финальной модели. Так часто делают в продакшене, так как текстура в 2к уменьшенная до 1к и выглядит лучше, чем текстура, сделанная сразу в 1к.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *