Создание материала в Unreal Engine
Для работы с эффектом в игровом движке необходимо грамотно подготовить полученную геометрию к экспорту

I. Экспорт анимации в Unreal Engine

— подготовка alembic-файла для дальнейшей настройки эффекта
post

Перед экспортом симуляции в формате alembic-файла необходимо удалить лишние атрибуты, за исключением параметров width и uv.

Для того чтобы иметь возможность добавить вариативность цвета, создав эффект плавного изменения оттенка всполохов от центра к внешним рядам, необходимо назначить группы. Используя Attribute Create, каждой группе необходимо присвоить уникальное значение, задав его в строке Value.

big
Original size 1147x411
post

Для записи alembic’а добавим ноду Alembic ROP.

III. Настройка сцены в Unreal Engine

— импорт эффекта

Для того чтобы импортировать эффект в Unreal Engine, в Content Drawer необходимо через «Import» выбрать ранее сохраненный alembic-файл. Для корректности процесса важно, чтобы путь к файлу не содержал кириллицы.

big
Original size 885x505

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

IV. Создание материала

— настройка параметров шейдера

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

IV.I. Добавление анимации перемещения огня

Для карты нормали необходимо создать анимацию движения, добавив сдвиг текстуры по uv-развертке.

Здесь и далее все промежуточные этапы настройки материала будут показаны через gif-анимации

Original size 1087x372
IV.II. Создание основной текстуры материала
post

Поверх полученной анимации смещения необходимо добавить Gradient Noise, добавляющий основную текстуру искажений.

post

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

Original size 1175x606
IV.III. Настройка базового цвета

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

Original size 1280x679
IV.IV. Настройка параметра Depth Fade
post

Для создания эффекта глубины резкости необходимо настроить параметр Depth Fade.

IV.V. Настройка параметра Fresnel
post

Для корректного отображения бликов необходимо настроить параметр Fresnel.

IV.VI. Настройка прозрачности текстуры
post

Для того чтобы смягчить рисунок текстуры и добиться наиболее реалистичного вида пламени, необходимо добавить параметр «softness».

Original size 963x619
IV.VII. Итоговая сборка материала
post

Для настройки цвета необходимо смешать созданную ранее цветную анимированную текстуру с параметром «myFresnel» и подсоединить полученный результат к выходу Base Color.

post

Для того чтобы материал излучал свет, подобно горящему объекту, необходимо настроить параметр Emissive, добавив его ко входу Emissive Color.

post

Для регулировки прозрачности используем ранее созданную маску «myAlpha», добавив ей цвет и подсоединив ко входу Opacity.

post

Настроим нормали через вход Normal.

post

Для корректного отображения текстуры в World Position Offset добавим узел VertexNormalWS.

post

Для создания эффекта «тепловой дымки», имитирующей искажение пространства вокруг источника огня, необходимо добавить параметр «Screen Distortion». Полученный результат необходимо подать на выход «Refraction».

Original size 1280x631

V. Финализация результата

V.I. Настройка передачи эмоций через смену цвета материала
post

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

Для более плавного изменения текстуры можно использовать разные LUT’ы для нескольких материалов. Ранее назначенные группы позволяют сделать анимацию изменения цвета основных всполохов более интенсивной.

Альфа-текстура, определяющая положение прозрачных участков

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

Original size 1920x1080
Создание материала в Unreal Engine
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