Генерация текстур окружения нейросетевыми технологиями
Original size 1600x2252

Генерация текстур окружения нейросетевыми технологиями

0

Модели, сгенерированные в Tencent Hunyuan 3D

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

Чтобы сравнить текстуры, сгенерированные с помощью ИИ, с текстурами традиционного пайплайна, а также выделить преимущества и недостатки «нейросетевого» текстурирования, автор соберет третью локацию, состоящую исключительно из материалов с сгенерированными текстурами. Локация будет экстерьерная и состоящая из природных (деревянных, растительных и каменных) материалов.

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

Нодовая система в Tencent Hunyuan 3D

Tencent Hunyuan 3D — крупная 3D-генеративная нейросетевая модель, которая предоставляет современному 3D-художнику широкий инструментарий в 3D моделировании, скульптинге, текстурировании, анимации, а также в создании 3D окружений и генерации HDRI карт.

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

0

HDRI карты, сгенерированные в Tencent Hunyuan 3D

Для интеграции ИИ в процесс создания текстур автор создает кастомный workflow в Tencent Hunyuan 3D, который представляет собой рабочее пространство с нодами, в которые подключены возможности нейросетевых инструментов.

Для этого на верхней панели нужно выбрать раздел «3D application kit» — «Workflow» — «Create a new workflow».

0

Create a Workflow

Как и в Substance Designer, который также является нодовой программой, работа над созданием workflow в ИИ тоже достаточно интуитивная. Каждая нода отвечает за ту или иную задачу, и если специалист знает, функционал каждой ноды, собрать цельную нодовую систему не составит проблем. В то время как Hunyuan 3D удобен тем, что функции нод написаны под названием.

Original size 2547x1305

Load image Нода отвечает за входное изображение. Аналогом Load image является Prompt Augmentation, который задает входной текст (промпт).

Load Multi-views image и Load model соответственно задают исходные 4 картинки и исходную 3D модель.

Original size 2544x1307
Original size 2545x1310

Image Segmentation Image Segmentation вырезает нужный объект из фона Geometric Generation Отвечает за сам процесс генерации 3D модели из изображения. В результате получается высокополигональный меш.

Original size 2542x1309

Intelligent Surface Reduction Позволяет уменьшить число полигонов хай-поли модели.

Texture Generation Нода получает на входе два значения: меш и изображение. Ее выходным значением является меш с текстурами, как в исходной картинке. Texture Color Распределяет текстуры по картам.

Original size 2544x1309

Нодовая система с ИИ

В конце добавляется нода End, которая завершает процесс генерации, выдавая на выходе 3D модель в формате GBL или OBJ.

Для демонстрации работы нодовой системы на базе ИИ автор создает 3D модель на основе концепт арта Бенни Лу.

Original size 2542x1297

ИИ текстуры и оригинальный концепт Бенни Лу

Low-poly | Wireframe

High-poly | Wireframe

Сравнивая сетку высоко- и низкополигональной модели, можно сделать вывод, что нода Intelligent Surface Reduction действительно сократила полигонаж, однако ее сетка схожа с результатом инструмента Decimate, а значит такая модель не может в дальнейшем анимироваться, тем не менее, в качестве Static Mesh выглядит весьма неплохо.

0
0

Сгенерированные в Tencent Hunyuan 3D ассеты

Таким образом были сгенерированы ассеты вместе с текстурами для небольшой локации джунглей.

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

Некачественные генерации

Сборка локации

Для демонстрации возможностей ИИ в environment art была собрана локация с джунглями и горами. Она состоит только из растительных моделей, вроде деревьев и кустов, а также камней, скал и гор. Тем не менее, в локации должно прослеживаться разнообразие геометрии растительных и каменных объектов, поэтому у одного ассета SM_Tree должно быть несколько вариантов модели: SM_Tree_01, SM_Tree_02, SM_Tree_03 и т. д.

Для быстрой генерации разнообразных мешей одного ассета используются нейросетевые технологии.

Original size 4116x2498

Блокинг локации

Vertex Paint

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

Чтобы поправить текстуры вручную, но при этом не открывать Substance Painter или другое ПО, автор использует возможности Unreal Engine 5. В программе есть функция Vertex Paint, которая позволяет «красить» текстуры не выходя из движка.

Original size 1908x1182

Vertex Paint в UE5

Чтобы использовать Vertex Paint, необходимо создать материал для основы (Master Material), но в панели Details, как и при создании базового материала для Material Layers, нужно включить функцию Material Attributes (Use Material Attributes).

В самом Material Editor также используется нода MakeMaterialAttributes, к которой могут подключаться базовые текстуры (Albedo/Base Color, Specular, Metallic, Roughness, Norma, AO, Height, Dispacement и др.).

Original size 2560x1388

Создание Master Material для Vertex Paint

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

0

MakeMaterialAttributes

Затем, чтобы активировать Vertex Paint, два материала следует объединить через ноду MatLayerBlend_Standard — Base Material (MA) и Top Material (MA) соответственно. В Alpha (S) подключается нода Vertex Color. Результат действия ноды MatLayerBlend_Standard подсоединяется к Material Attributes, которая выводит финальный материал.

Original size 2560x1390

Создание Vertex Paint

Для того чтобы можно было воспользоваться функцией Vertex Paint, необходимо поменять режим Selection Mode на Mesh Paint Mode. Во вкладке Vertex Color с помощью инструмента Select нужно выбрать меш, через Paint — начать процесс «окрашивания». С зажатой клавишей Shift можно «стереть» paint.

0

Действие Vertex Paint

Теперь можно приступать к созданию материала с Vertex Paint для меша, сгенерированного с помощью нейросети. Для этого в качестве основного материала будет текстура BaseColor, созданная в ИИ. А материалом для «окрашивания» будет служить Moss, который был сделан ранее в главе c Material Layers.

0

Создание материала камня с Vertex Paint

Применение Vertex Paint на сгенерированном в нейросети меше

Чтобы немного разнообразить смешивание двух материалов, можно сделать переход от одного материала к другому через использованные ранее текстуры шума, которые будут служить в качестве маски. К Alpha (S) подключаются дополнительные ноды, которые отвечают за контрастность маски (параметр MaskContrast), контрастность самого перехода (Contrast) и размер текстуры (MaskTiling). Также нельзя забывать про ноду Vertex Paint, так как именно она активирует эту функцию.

Original size 2560x1393

Подключение маски

Создав Material Instance, можно быстро менять значения параметров. Они могут сделать переход более мягким или, наоборот, резким. Могут изменять размер маски. А если сделать карту шума параметром, то в Instance появится возможность выбрать другую текстуру.

0

Применение маски в Vertex Paint

0

Использование разных текстур шума в маске

Original size 2560x1385
Original size 2560x1389
Original size 2560x1390

Применение Vertex Paint в локации

В результате, применение функции Vertex Paint не только позволило скрыть артефакты и недостатки сгенерированных текстур, но и придало возможность быстро и вручную поправить прямо в Unreal Engine 5 текстуры, а также обеспечило вариативность в самом процессе создания текстур.

Генерации ИИ в окружении

Original size 4116x2252

Текстуры в окружении

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

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

Генерация текстур окружения нейросетевыми технологиями
Chapter:
1
2
3
4
5
We use cookies to improve the operation of the HSE website and to enhance its usability. More detailed information on the use of cookies can be fou...
Show more