Найти в Дзене

Текстурирование: подходы, технологии, будущее

Оглавление

Текстурирование — ключевой процесс в 3D-графике, который добавляет моделям детали и материалы, делая их правдоподобными. Текстуры отвечают за цвет, рельеф, блеск, отражения и множество других характеристик объектов. Без качественных текстур даже самая детализированная 3D-модель выглядела бы плоской и неестественной.

-2

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

Краткая история текстурирования

В 90-е годы, на заре развития 3D-графики в видеоиграх, текстуры были низкого разрешения, а тени и освещение часто прорисовывались вручную. На консолях Sony PlayStation и Nintendo 64 текстуры использовали для изображения базовых цветов и простых узоров. Метод был далёк от реализма, так как не учитывал физических свойств материалов.

-3

С развитием технологий текстурирование прошло через несколько важных этапов. В эпоху PS2 и Xbox появилось динамическое освещение и текстуры более высокого разрешения. Например, в игре Silent Hill 2 впервые были применены динамические тени, что делало атмосферу игры более жуткой и реалистичной. Это стало прорывом для того времени.

-4

PBR (Physically Based Rendering)

Но самый значительный технологический прорыв произошёл с появлением PBR. Это стало ключевым этапом в развитии материалов и установило новый стандарт.

PBR — метод рендеринга, который основан на физических принципах взаимодействия света с различными материалами. Цель PBR — получить реалистичные результаты независимо от условий освещения.

PBR-материалы состоят из карт, которые управляют различными свойствами материала.

-5

Материалы делятся на металлы и неметаллы (диэлектрики):

  • Неметаллы обладают низкой отражательной способностью. Например, дерево, картон или пластик.
  • Металлы имеют высокую отражательную способность и отражают от 50 до 100% света.
-6

Основные рабочие процессы PBR

Specular (Спекулярный) — в этом процессе используются карты Diffuse, Specular и Glossiness для управления параметрами материала. Процесс предлагает больше возможностей для настройки. Но считается менее оптимизированным, так как сильнее грузит систему.

Metallic (Металлический) — более оптимизированный и интуитивный метод, который использует карты BaseColor, Metallic и Roughness. Считается более подходящим для новичков. Оказывает меньшую нагрузку на систему.

В обоих процессах можно использовать дополнительные карты, такие как Ambient Occlusion (AO), Normal Map и Bump Map.

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

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

Стилизованная графика и текстуры в Deadlock
Стилизованная графика и текстуры в Deadlock

Основные текстурные карты

BaseColor / Albedo / Diffuse Map — отвечает за цвет материала. Различия в названиях карты связаны лишь с разными рабочими процессами.

-8

В традиционных рабочих процессах Diffuse Map содержала информацию о цвете, тенях и освещении. Это создавало сложности при добавлении новых источников света в сцену. Для решения проблемы используют Albedo Map, которая содержит информацию лишь о цвете.

В металлическом рабочем процессе используется BaseColor Map, которая содержит цвета как для металлов, так и для неметаллов.

Слева материал со всеми картами. Справа включен только канал Base Color
Слева материал со всеми картами. Справа включен только канал Base Color

Specular Map — управляет отражательной способностью материала. Значение 0 полностью блокирует отражение света, а значение 1 делает поверхность отражающей.

-10

В реальном мире у всех объектов есть зеркальные отражения (specular). Даже у таких материалов, как ткань и картон. Вот ссылка на эксперимент с использованием самодельного поляризованного освещения, который наглядно это демонстрирует.

Metallic Map — отвечает за «металличность» материала. В большинстве случаев принимает одно из значений: либо металл, либо — неметалл.

-11

В одном материале могут сочетаться металл и неметалл. Например металлическая деталь, покрытая слоем краски. Краска — неметалл, поэтому значение Metallic для неё нужно выставить 0, а для основной детали значение должно быть 1.

-12

Делается это с помощью черно-белой маски, где чёрное — это значение «металл», а белое — «неметалл».

-13

Roughness / Glossiness Map — параметр, который отвечает за то, насколько шероховатой или гладкой будет поверхность. От него зависят резкость и размытость отражений на материале. Гладкие поверхности отражают свет более равномерно, что приводит к чётким отражениям и зеркальным бликам. Шероховатая поверхность рассеивает отражённый свет в большем количестве направлений, поэтому блики на поверхности сильнее размыты.

Карты позволяют добавить дополнительные детали: следы от пальцев, различные царапины и потертости
Карты позволяют добавить дополнительные детали: следы от пальцев, различные царапины и потертости

Bump Map — чёрно-белая карта, которая используется для имитации рельефа на поверхности. Светлые участки текстуры показывают выпуклости, а тёмные — впадины.

Normal Map — более продвинутая цветная карта, содержащая информацию о направлениях нормалей поверхности. Она позволяет гораздо точнее симулировать взаимодействие света с объектом, создавая детализированный рельеф. Существует ещё несколько типов Normal-карт. Например, Tangent Space, Object Space и World Space, которые различаются системами координат, на которые они опираются. Наиболее популярной является Tangent Space, которая имеет синие и розовые оттенки.

Слева Normal map. Справа Bump map
Слева Normal map. Справа Bump map

Обе технологии оказались революционными для своего времени. Они не влияют на геометрию объекта, а лишь создают иллюзию объема. Это позволяет добавлять детали, не увеличивая количество полигонов, что позволяет избежать большой нагрузки на CPU и GPU.

Пример того, как карты ведут себя на плоской поверхности:

Bump Map
Bump Map
Normal map
Normal map
Здесь хорошо видно, что обе карты создают лишь иллюзию объёма
Здесь хорошо видно, что обе карты создают лишь иллюзию объёма

Процесс создания Normal-карты обычно выглядит так:

  1. Создается высокополигональная модель (Hight Poly).
  2. Модель проходит процесс ретопологии (Low Poly).
  3. Все детали с HP «запекаются» на LP-модель и помещаются в Normal-карту.
Оптимизация игровой модели
Оптимизация игровой модели

Displacement Map — карта, которая действует схожим образом, но меняет геометрию объекта, а не создаёт иллюзию. Для работы с ней нужно большое количество полигонов, чтобы результат был более детализированным.

Различия Bump и Displacement
Различия Bump и Displacement

Height Map — похожа на Displacement, но обычно используется для хранения информации о высоте и глубине. А не для непосредственного изменения геометрии. Она часто сглажена и содержит меньше микродеталей. Обычно эта карта используется для генерации ландшафтов, а также создания масок.

-21

Ambient Occlusion Map (AO) — представляет области, где окружающий свет блокируется. Например, в трещинах или местах контакта объектов. Эта карта снижает влияние окружающего света на затемнённые области, создавая более реалистичную игру света и тени. AO-карта влияет только на диффузные отражения, но не затрагивает другие источники света.

Cavity Map — похожа на AO-карту, но работает только с небольшими зазорами и может блокировать как диффузные, так и спекулярные отражения.

Ambient Occlusion Map OFF / ON
Ambient Occlusion Map OFF / ON

Curvature Map — хранит информацию о вогнутости и выпуклости сетки в градациях серого. Она используется в качестве маски для упрощения покраски текстур:

  • Серый цвет — плоские участки.
  • Белый — выпуклые участки.
  • Чёрный — вогнутые участки.

Emissive Map — цветовая карта свечения материала.

-23

Opacity Map — карта, которая контролирует прозрачность объекта. Чёрный цвет обозначает 0% прозрачности, белый — 100%, а серые тона — переходы.

Opacity Map можно использовать для симуляции разрывов на ткани
Opacity Map можно использовать для симуляции разрывов на ткани

Translucency Map — используют для передачи свойств полупрозрачных материалов, когда свет проходит через объект. Это упрощённая версия эффекта Subsurface Scattering, который симулирует рассеивание света внутри объекта.

-25

Инструменты для текстурирования

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

Adobe Substance Painter

Один из наиболее мощных инструментов для создания PBR-текстур. Он позволяет художникам возможность видеть результат в реальном времени и при различных условиях освещения. Это значительно ускоряет процесс и улучшает контроль над качеством текстур.

-26

В Substance Painter активно используются умные материалы и маски. Инструмент отлично подходит для создания текстур сложных объектов, персонажей и окружения.

Его преимущества:

1. Интерактивность. Все изменения отображаются в реальном времени.

-27

2. Поддержка слоёв. Прямо как в Photoshop. Каждый элемент текстуры создаётся на отдельном слое, что позволяет с легкостью вносить изменения.

-28
-29

3. Интеграция с другими программами. Поддерживает импорт файлов из других программ. В недавнем обновлении добавили возможность импортировать векторные файлы прямо в проект без конвертации, что особенно удобно для работы с различными декалями.

4. Библиотека 3D-ресурсов. Доступ к библиотеке Adobe, которая содержит более 20 000 готовых материалов и текстур.

-31

Последние обновления внедрили возможности на базе Firefly:

  • Text to Pattern. Генерация узоров на основе текстовых запросов. Инструмент помогает быстро создавать уникальные материалы.
-32
-33
  • Image to Texture. Преобразование реальных изображений в бесшовные текстуры. Сильно ускоряет процесс создания материалов.

-34

Materialize

Инструмент для создания материалов на основе изображения. Он также позволяет импортировать имеющиеся текстуры и генерировать необходимые карты (альбедо, нормали, карты высот и т. д.). Materialize особенно полезен для создания бесшовных текстур, что делает его идеальным инструментом для работы с большими поверхностями в играх.

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

-35
-36
-37

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

-38
Вставляем изображение в Diffuse map
Вставляем изображение в Diffuse map
Создаём и настраиваем остальные карты
Создаём и настраиваем остальные карты
Получившийся материал
Получившийся материал

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

Quixel Megascans

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

-42

В экспериментальном проекте Ninety Days, созданном командой Epic Games и Quixel, более 40 типов окружений. Все текстуры, материалы и объекты были взяты из Megascans. На создание каждой локаций ушло всего несколько дней.

-43
-44
-45
-46
-47

Онлайн-генераторы текстур

В ближайшем будущем искусственный интеллект значительно повлияет на процесс создания текстур. Уже сегодня, чтобы сделать простой материал не обязательно устанавливать какой-то специальный софт. Ведь существуют онлайн-решения, работать с которыми можно прямо в браузере. Например, можно использовать нейросети Meshy Ai и Polycam.

Polycam. Текстовый запрос
Polycam. Текстовый запрос
Polycam. Получившиеся текстуры
Polycam. Получившиеся текстуры
Meshy Ai. Создание текстуры для персонажа
Meshy Ai. Создание текстуры для персонажа
Meshy Ai. Создание текстуры в разных стилистиках
Meshy Ai. Создание текстуры в разных стилистиках

Результат такой генерации, честно говоря, пока оставляет желать лучшего. Однако он ясно демонстрирует, какие возможности откроются перед нами в ближайшие несколько лет.

RTX Remix и DLSS нового поколения

С развитием технологий текстурирования появилась возможность значительно улучшать старые игры. ИИ-инструмент RTX Remix позволяет моддерам выпускать современные ремастеры игр на основе DirectX 8 и 9.

Ключевая особенность RTX Remix — использование тензорных ядер RTX-видеокарт для улучшения текстур с низким разрешением. ИИ способен повысить их детализацию в четыре раза. Инструмент также поддерживает физически корректный рендеринг (PBR). Так старые текстуры правильно реагируют на свет, а трассировка лучей обеспечивает реалистичные освещение и отражения.

-52
-53
-54

В будущем нас также ждёт следующее поколение DLSS (Deep Learning Super Sampling), которое будет использовать ИИ для генерации текстур, персонажей и объектов с нуля.

-55

На Computex 2024 генеральный директор корпорации NVIDIA Дженсен Хуанг рассказал, что будущие версии DLSS смогут самостоятельно генерировать текстуры и объекты в реальном времени. Это существенно упростит работу разработчиков и повысит производительность игр. Вычисления будут выполняться на тензорных ядрах, что разгрузит основные вычислительные ядра CUDA. Хуанг упомянул, что DLSS в будущем сможет создавать NPC с уникальными характерами и диалогами.

-56

Заключение

Технологии текстурирования стремительно развиваются. С постепенным внедрением ИИ-инструментов возможности художников и разработчиков становятся шире. Чтобы оставаться конкурентоспособными в этой развивающейся индустрии нужно следить за появлением новых инструментов, постоянно развивать навыки и иметь под рукой подходящее оборудование. Фрилансеры и профессионалы могут выбрать рабочие станции для решения своих задач на сайте компании DigitalRazor.