Материал ландшафта
С выходом Unreal Engine 5.8 стало доступно использовать новый плагин, который заменяет классический ландшафт на объемный Mesh Terrain. Посмотрев уроки на YouTube, я понял что запечённый вариант с масками тут не подходит. Нужно создавать динамический материал, который реагирует на форму ландшафта при скульптинге.
Структура материала
В начале я хотел взять за основу материал Sensei из его обучающего видео. Но посмотрев на его структуру, я понял что ограничен его форматом, мне нужно разработать гибкий и расширяемый формат материала.
Структура материала следующая.
- Слой - одна текстура с эффектами - шум, влияние высоты, наклона и другими. Пример слоя - мокрый песок, сухой песок, земля, камни.
- Канал - набор слоёв. Каждый канал содержит 4 слоя. Канал определяет тип поверхности. Например красный каньон, степь и так далее. Канал рисуется вручную.
- Смешивание слоёв - это отдельный граф материла, который находится между слоями. Он определяет то, как слои смешиваются с друг другом. Данные для смешивания могут быть разными и комбинироваться с друг другом. Например влияние высоты и наклона.
Слой материала
Каждый слой содержит PBR-текстуры и различные эффекты, которые имеют свои параметры. Я решил пока остановиться на нескольких эффектах.
- Вертикальный градиент - интенсивность влияния градиента рассчитывается на основе данных высоты. Можно ограничить максимальный и минимальный уровень. Также можно задать общую интенсивность и цвет.
- Шум - фрактальный шум, который делается через ноду Noise. Имеет степень "ширины" шума и размер. Также можно регулировать степень влияния и цвет.
- Карта высоты-наклона. 2D текстура с цветом, где одна ось определяет цвет в зависимости от наклона, а вторая в зависимости от высоты.
Все эти три эффекта смешиваются умножением с диффузным цветом слоя.
Что можно улучшить
Для диффузной текстуры обязательно будет подключен Texture Bombing чтобы устранить тайловость.
Для устранения эффекта маслянистости можно добавить дополнительный модификатор выборки из текстуры шума, к примеру сдвигать координаты выборки в зависимости от мировых координат в плоскости XY.



Комментарии (0)
Войдите, чтобы написать комментарий
Войти