Blender

Blender

Not enough ratings
[RU] Foliages for Unreal Engine 5
By VARANEU
В этом руководстве вы узнаете: как создать foliage для импорта в Unreal Engine 5, с какими проблемами можно столкнуться, как сделать весовую маску с помощью Vertex Color, как установить ветер для травы итд.
   
Award
Favorite
Favorited
Unfavorite
Начало, создание Mesh и настройка материала в Blender
English version

Старт

Для начала нам необходимо создать Mesh сочетанием клавиш Shift + A и выбрать Plane.

Размеры выставляем 1 м, чтобы было проще ориентироваться дальше при работе с Mesh'ом. После создания переходим во вкладку Shading, создаём новый материал. Советую сразу выставить Specular на 0, а Roughness на 1, чтобы визуально текстура отображалась точно так же, как и в любом другом редакторе текстур.

Текстуры

В моём случае я буду использовать нарисованные собственноручно текстуры в стилистике Pixelart, но вы можете взять текстуры с интернета на бесплатных сервисах. Рассмотрим на примере создания рогоза. Во вкладке Shading в существующем материале добавляем нод Image Texture и прикрепляем к нему нашу текстуру.


После переходим в UV Editing и подгоняем нашу UV под необходимую область. Далее при необходимости мы можем разрезать нашу текстуру на несколько квадратов (я обычно такое делаю чтобы сохранить пропорции и не допустить разнопикселя, для создания большего разнообразия объекта, а так же создать больше Vertex для дальнейшей работы с ними, о чём я обязательно расскажу) ПКМ по объекту -> Subdivide -> выбираем количество разрезов (в моём случае на 1 метр приходится 128 пикселей, поэтому разрезаю область 7 раз чтоб вышли квадраты 16px)

Возможные проблемы
Уже на данном этапе вы могли бы столкнуться с рядом проблем. Не переживайте, всё решаемо.
  • Я не вижу текстуры! - Z -> Material Prewiew (если не помогло, проверьте материал и подключение нодов. Если всё в порядке, то, возможно, при создании Mesh убрали галочку с пункта Generate UV, просто сделайте её в соответствующем окне)
  • Мои текстуры не прозрачные, а чёрные! - Подключаем ноду с текстурой к альфа каналу, заходим в Layout -> Material -> Setting -> Blend Mode и переключаем на Alpha Blend. Есть вероятность, что это не поможет, попробуйте переключаться между окнами, Texture Painting к примеру.

  • Мне не хватило размера Mesh! - Экструдируйте, растягивайте, скейлите, творите - подстраивайте под необходимый размер. О подобных вещах вы, скорее всего, уже знаете.
Творим Foliage
Распределение частей foliage
Теперь у нас готова текстура, материал и есть все необходимые кусочки нашего рогоза. Выделяем отдельный листочек, стебель итп, нажимаем Y. Таким образом, мы отделили именно эти фейсы от всей сетки, проверьте это передвинув (G) этот вырезанный кусочек. Если он не цепляет ничего за собой, то всё сделано правильно. Делаем так с каждой частью представляемого растения.

Конструирование модели
Далее составляем наше растение. Совет: дублируйте плоскость объектов, чтобы соединить две одинаковые части под 90 градусов "+". Таким образом, вы покажете объём со всех сторон. Так выполнена большая часть травы и растений в играх, взять тот же майнкрафт :)

Листочки можем сгибать и изображать дугой, в общем, используем референсы и делаем нашу задумку, проявляйте фантазию и своё пространственное мышление!

Лишнее можно удалить Delete - Faces
Vertex Color или "Как придать массу объекту"
Предварительная подготовка
После того, как foliage удовлетворяет нашим эстетическим требованиям, его необходимо подготовить к экспорту. Нам очень сильно поможет аддон Vertex Color Master by Andrew Palmer.
Сам аддон[blender-addons.org]

Работа с Vertex Color
Переходим в режим редактирования Vertex Paint. Выбираем Viewport Shading закрашенный круг.

Всего есть три цвета: красный, зелёный и синий (какая неожиданность), а так же альфа-канал. Я использую красный цвет, вы можете выбрать любой из трёх.

Настроив кисть, мы получаем: красный = 1, чёрный = 0. То есть, мы выставляем массу вертексов от 0 до 1, где 0 - неподвижная часть, 1 - самая подвижная часть. Имея достаточное количество вертексов, начинаем выставлять массу нашего рогоза. Я сделаю очень просто: ставлю 0 у корня с плавным переходом на 1. Таким образом, чем выше веточка/листочек, тем сильнее его будет качать на ветру. Ах да, мы это всё делаем ради того, чтобы ветер в Unreal Engine 5 работал правильно.

Возможные проблемы 2.0
Итак, если у вас при смене Viewport Shading появляется как текстура, так и красно-чёрная маска, то вы молодец и находитесь на финишной прямой. Если у вас возникли проблемы, вы сейчас с лёгкостью их решите.
  • Вертексы не красятся, цвет не выбирается, ничего не работает! - Возможно, в вашей версии Blender автоматически не создаётся Vertex Group. Для создания переходим в Data -> Vertex Groups и создаём нажатием на "+" группу вертексов. Теперь всё ТОЧНО должно работать.
  • Я выбрал другой цвет. Это критично? - Если это цвет не из отряда RGB, то я бы не стал рисковать и просто выбрал бы то, что предлагает аддон.
  • Сохранится ли эта маска на модели? - Да, в формате .fbx она точно сохранится.
Экспорт .fbx, импорт в UE5
Теперь экспортируем файл из Blender в формате .fbx. Для этого переходим File -> Export -> .fbx

Советую экспериментировать с настройками, единственное, что стоит сделать, это убрать галочку с Add Leaf Bones и Bake Animation. Это лишнее и нам не потребуется. Во вкладке Geometry мы видим Vertex Colors -> sRGB. Оставляем так, как есть.

Далее переходим в UE5, создаём или открываем проект, нажимаем Import, выбираем наш Mesh.fbx. Разберём настройки импорта.
Mesh
Я убираю галочки со всего, так как это не нужно. Но если вы делаете высокополигональную растительность с текстурами высокого разрешения, то советую ознакомиться с Nanite (пусть и работает эта система и не везде, но она действительно полезна и интересна в освоении, я вас тут покидаю).

Advanced
Тут всё просто: LOD - Foliage, и заменяем наш Vertex Color, дабы всё работало.

Material

Miscellaneous
Немаловажная часть импорта. Если вы создаёте не один foliage на сцене, а несколько, то необходимо выключить Convert Scene, чтобы ваши объекты были на координате 0;0;0. При "засеивании" местности это поможет вам избежать летающих фолиаджей на возвышенностях.


В целом, это всё, нажимаем Import и готово!
Возможные проблемы 3.0
  • Объекты развернуло относительно осей! - При экспорте измените ось Forward -> X Forward, а Up -> Z Up. Если это не помогло, но что-то поменялось - экспериментируйте.

  • Не импортировался/импортировалось слишком много материал(ы)! - Проверьте заново файл в Blender, а так же сверьте настройки импорта в UE5. Если вы после импорта увидели слишком много дубликатов материалов, то их следует удалить в Blender, а всем объектам присвоить необходимые материалы.
  • Объекты появились как Sceleton Mesh! - Проверьте настройки экспорта в Blender и пункт выше (Экспорт)
Настройка текстуры, материала, фолиаджей в UE5
Переходим к самому сладкому - тотальной проверке правильности наших действий. Сразу скажу, что если вы делаете пиксельные текстуры, то:
1. Перейдите в текстуру. Справа видим Level of Detail ->Texture Group и ставим там 2DPixels(Unfiltered). Это уберёт все фильтры сглаживания с текстуры, решит вопрос с размыливанием.

2. Листаем ниже и видим Compression -> Compression Settings и ставим UserInterface2D(RGBA). Это позволит нам избавиться от искажения цвета нашей текстуры.


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

Материал
Что касается настройки материала: ваша фантазия в ваших руках! Или в голове... Не важно. Я покажу лишь ту базу, которая поможет вам в создании ветра путём применения Vertex Color и SimpleGrassWind.
В самом материале в окне слева выставляем Blend Mode -> Masked и Two Sided true. Первое делает нашей текстуре прозрачность (аналогично той настройке в Blender), а вторая позволяет отрисовать текстуру с обеих сторон, чтобы наши фолиаджи были объёмнее и не резались перед взглядом игрока.

Повторяем всё, что указано на скриншоте. Как видим, Vertex Color мы подключаем именно тот цвет, который вы выбрали к Intensivity, что укажет на интенсивность ветра в тех или иных вертексах. Speed и Weight это Скорость воспроизведения ветра и Вес ветра, эти скаляры вы можете изменять, чтобы подобрать лучшее значение для себя.

Рисование фолиаджами. Итог
Итак, мы подходим к концу. Осталось разобраться как же нам всё-таки выставлять наш рогоз. Заходим в UE5 в Landscape Mode (Shift + 2) и создаём ландшафт: выбираем нужный размер и жмём Create.

Далее переходим в Foliage Mode (Shift + 3). Перетаскиваем наш Mesh из Content Browser во вкладку слева Add Foliage Here. Настраиваем кисть и рисуем нашими фолиаджами. Обязательно проверяем работоспособность ветра!




На этом всё, спасибо за поддержку, удачи на пути. See you!
Автор
Originally posted by Varaneu:
Varaneu Creatures: https://t.me/varaneuscreatures
VP|VC in Discord: https://discord.gg/TzeZtehVdE
3 Comments
Малильбек ♿ 28 Nov, 2023 @ 12:54pm 
Спасибо, понятно объяснил
sunny senya 28 Nov, 2023 @ 2:56am 
капец ты умненький:steamhappy:
ltdceo 27 Nov, 2023 @ 1:03pm 
коротко и по делу!