
Модели, сгенерированные в Tencent Hunyuan 3D
Нейросетевые технологии также являются инструментом современного художника по окружению для создания текстур. Несколько кликов мышкой достаточно, чтобы сделать модели и текстуры для окружения, а интерактивность ИИ позволяет контролировать процесс генерации.
Чтобы сравнить текстуры, сгенерированные с помощью ИИ, с текстурами традиционного пайплайна, а также выделить преимущества и недостатки «нейросетевого» текстурирования, автор соберет третью локацию, состоящую исключительно из материалов с сгенерированными текстурами. Локация будет экстерьерная и состоящая из природных (деревянных, растительных и каменных) материалов.
Для того чтобы сделать процесс создания карты окружения еще более автоматизированным и интегрировать искусственный интеллект в максимальном количестве этапов, ассеты с текстурами для локации также будут произведены с помощью ИИ, а точнее новой китайской модели Tencent Hunyuan 3D.
Нодовая система в Tencent Hunyuan 3D
Tencent Hunyuan 3D — крупная 3D-генеративная нейросетевая модель, которая предоставляет современному 3D-художнику широкий инструментарий в 3D моделировании, скульптинге, текстурировании, анимации, а также в создании 3D окружений и генерации HDRI карт.
Входными данными (промптом) может быть как текст, так и картинка. Для более точного 3D моделирования исходных изображений может быть до 4, показывающих модель с 4-х ракурсов.
HDRI карты, сгенерированные в Tencent Hunyuan 3D
Для интеграции ИИ в процесс создания текстур автор создает кастомный workflow в Tencent Hunyuan 3D, который представляет собой рабочее пространство с нодами, в которые подключены возможности нейросетевых инструментов.
Для этого на верхней панели нужно выбрать раздел «3D application kit» — «Workflow» — «Create a new workflow».
Create a Workflow
Как и в Substance Designer, который также является нодовой программой, работа над созданием workflow в ИИ тоже достаточно интуитивная. Каждая нода отвечает за ту или иную задачу, и если специалист знает, функционал каждой ноды, собрать цельную нодовую систему не составит проблем. В то время как Hunyuan 3D удобен тем, что функции нод написаны под названием.
Load image Нода отвечает за входное изображение. Аналогом Load image является Prompt Augmentation, который задает входной текст (промпт).
Load Multi-views image и Load model соответственно задают исходные 4 картинки и исходную 3D модель.
Image Segmentation Image Segmentation вырезает нужный объект из фона Geometric Generation Отвечает за сам процесс генерации 3D модели из изображения. В результате получается высокополигональный меш.
Intelligent Surface Reduction Позволяет уменьшить число полигонов хай-поли модели.


Texture Generation Нода получает на входе два значения: меш и изображение. Ее выходным значением является меш с текстурами, как в исходной картинке. Texture Color Распределяет текстуры по картам.
Нодовая система с ИИ
В конце добавляется нода End, которая завершает процесс генерации, выдавая на выходе 3D модель в формате GBL или OBJ.
Для демонстрации работы нодовой системы на базе ИИ автор создает 3D модель на основе концепт арта Бенни Лу.


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


Low-poly | Wireframe


High-poly | Wireframe
Сравнивая сетку высоко- и низкополигональной модели, можно сделать вывод, что нода Intelligent Surface Reduction действительно сократила полигонаж, однако ее сетка схожа с результатом инструмента Decimate, а значит такая модель не может в дальнейшем анимироваться, тем не менее, в качестве Static Mesh выглядит весьма неплохо.
Сгенерированные в Tencent Hunyuan 3D ассеты
Таким образом были сгенерированы ассеты вместе с текстурами для небольшой локации джунглей.
Кроме того, в процессе генерации было замечено, что низкополигональные модели чаще выходят некачественными и ломанными. Для таких мешей предпочтение оказывалось их высокополигональным версиям.


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


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


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 и др.).
Создание Master Material для Vertex Paint
Чтобы можно было отображать на меше один материал, а «красить» другим, нужно создать два MakeMaterialAttributes, чтобы задать входные настройки каждого материала. В качестве примера к BaseColor подключаются два векторных параметра с цветом.
MakeMaterialAttributes
Затем, чтобы активировать Vertex Paint, два материала следует объединить через ноду MatLayerBlend_Standard — Base Material (MA) и Top Material (MA) соответственно. В Alpha (S) подключается нода Vertex Color. Результат действия ноды MatLayerBlend_Standard подсоединяется к Material Attributes, которая выводит финальный материал.
Создание Vertex Paint
Для того чтобы можно было воспользоваться функцией Vertex Paint, необходимо поменять режим Selection Mode на Mesh Paint Mode. Во вкладке Vertex Color с помощью инструмента Select нужно выбрать меш, через Paint — начать процесс «окрашивания». С зажатой клавишей Shift можно «стереть» paint.
Действие Vertex Paint
Теперь можно приступать к созданию материала с Vertex Paint для меша, сгенерированного с помощью нейросети. Для этого в качестве основного материала будет текстура BaseColor, созданная в ИИ. А материалом для «окрашивания» будет служить Moss, который был сделан ранее в главе c Material Layers.
Создание материала камня с Vertex Paint


Применение Vertex Paint на сгенерированном в нейросети меше
Чтобы немного разнообразить смешивание двух материалов, можно сделать переход от одного материала к другому через использованные ранее текстуры шума, которые будут служить в качестве маски. К Alpha (S) подключаются дополнительные ноды, которые отвечают за контрастность маски (параметр MaskContrast), контрастность самого перехода (Contrast) и размер текстуры (MaskTiling). Также нельзя забывать про ноду Vertex Paint, так как именно она активирует эту функцию.
Подключение маски
Создав Material Instance, можно быстро менять значения параметров. Они могут сделать переход более мягким или, наоборот, резким. Могут изменять размер маски. А если сделать карту шума параметром, то в Instance появится возможность выбрать другую текстуру.
Применение маски в Vertex Paint
Использование разных текстур шума в маске
Применение Vertex Paint в локации
В результате, применение функции Vertex Paint не только позволило скрыть артефакты и недостатки сгенерированных текстур, но и придало возможность быстро и вручную поправить прямо в Unreal Engine 5 текстуры, а также обеспечило вариативность в самом процессе создания текстур.
Генерации ИИ в окружении
Текстуры в окружении


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

