Коротко
- Procedural Foliage Spawner автоматически распределяет заданные типы foliage по выбранной области.
- Для примера из документации необходимо включить Procedural Foliage в Editor Preferences.
- С помощью Foliage Mode можно вручную добавлять растения Static Mesh, рисуя ими по ландшафту.
- Примеры Static Mesh Foliage группируются с помощью аппаратного инстансинга, тогда как интенсивное использование Actor Foliage может повлиять на производительность.
Чему вы научитесь в этом руководстве?
При создании экстерьерной сцены в Unreal Engine вместо того, чтобы размещать деревья по одному, можно автоматически распределить их по заданной области с помощью Procedural Foliage Spawner. В этом руководстве мы рассмотрим, как создать базовый Landscape, подключить тип foliage к spawner и изменить распределение с помощью настроек плотности, роста и группировки. Также вы узнаете о методе ручного размещения для небольших участков и о том, что важно учитывать для производительности сцены.
Процедурное распределение помогает быстрее выполнить первичное заполнение, особенно на больших ландшафтах и в сценах окружения. Результат зависит от настроек и характеристик используемых mesh; автоматическое распределение не отменяет необходимости контролировать дизайн. На крупных планах и в важных точках композиции может понадобиться ручная корректировка.
Что понадобится
В руководстве Epic Games пример Procedural Foliage рассматривается в UE5. Перед использованием инструмента в проекте откройте Edit > Editor Preferences, найдите раздел Experimental и включите параметр Procedural Foliage. Если эта настройка отключена, не переходите к описанному рабочему процессу со spawner.
Чтобы повторить примеры с деревьями из руководства, скачайте через Epic Games Launcher пакет контента Open World Demo Collection и добавьте его в проект. В примере используются Static Mesh HillTree_02 и ScotsPineTall_01 из этого пакета. Если вы планируете использовать в своей сцене другие mesh, они должны быть доступны в проекте; пакет нужен, чтобы точно повторить пример с указанными деревьями.
Перед началом подготовьте новый уровень проекта и Landscape, на котором будет выполняться распределение. Для первого теста ограничьте площадь и количество деревьев: так проще оценить результат изменений настроек.
Процедурное распределение деревьев: шаг за шагом
Создайте уровень и ландшафт. Откройте новый level; в качестве начального используется Default Template. Откройте панель Landscape через меню Modes и нажмите Create, чтобы добавить Landscape Actor. Именно на этой поверхности spawner будет распределять объекты.
Подготовьте ресурс spawner. Щёлкните правой кнопкой мыши в Content Browser; в разделе Foliage создайте Procedural Foliage Spawner и, как в примере, назовите его PFS_Example. Перетащите ресурс на level. В официальном примере spawner размещается в центре или в позиции 0,0,200, а его масштаб задаётся как 100,100,10. Эти значения относятся к конфигурации примера; не считайте, что они покроют ту же область на ландшафтах другого размера.
Добавьте тип foliage и назначьте mesh. В Content Browser создайте Static Mesh Foliage через Foliage > Static Mesh Foliage. Откройте ресурс spawner и нажмите кнопку с плюсом в списке Foliage Types, чтобы добавить элемент; назначьте ему созданный тип foliage. Откройте ресурс foliage и выберите HillTree_02 в поле Mesh. Затем выберите spawner на level и нажмите Resimulate в разделе Procedural Foliage на панели Details.
Настройте распределение, повторно запустив симуляцию. В ресурсе foliage можно включить параметры Align to Normal и Random Yaw в разделе Placement. Для дерева из примера значение Collision > Shade Radius устанавливается на 50. Если задать Num Steps равным 0 в разделе Clustering, шаги роста будут отключены, и в примере деревья останутся одного размера и возраста. Чтобы уменьшить плотность, установите Initial Seed Density на 0,25 и повторно запустите симуляцию. Далее в примере это значение сохраняется, а Num Steps снова устанавливается на 3.
Настройте рост и дистанцию видимости. Задайте Max Age равным 20,0, а Procedural Scale Max — 10,0 в разделе Growth. В разделе Instance Settings > Cull Distance установите значение Max на 20.000. Это настройки из демонстрационной сцены Epic; они не предлагаются как идеальные значения для прямого переноса в другие проекты. После каждого изменения повторно запускайте симуляцию spawner, чтобы проверить результат.
Добавьте разнообразие с помощью второго типа. Продублируйте первый тип foliage, сохраните его под именем Tree_01 и смените mesh на ScotsPineTall_01. Добавьте этот тип также в список Foliage Types spawner. В официальном примере для второго типа используются значения Num Steps: 4, Initial Seed Density: 0,125, Average Spread Distance: 100, Max Age: 15 и Overlap Priority: 1; кроме того, включаются параметры Can Grow in Shade и Spawns in Shade, а значение Procedural Scale Max устанавливается на 5,0. Затем повторно запустите симуляцию и оцените распределение двух типов вместе.
Ручная расстановка, производительность и типичные ошибки
Если не нужно автоматически заполнять весь ландшафт, Static Mesh можно размещать вручную с помощью Foliage Mode. Выберите Foliage в меню Modes или воспользуйтесь сочетанием клавиш Shift+3; перетащите mesh из Content Drawer в поле Mesh List на панели Foliage. В официальном примере для инструмента Paint используются настройки Brush Size 128, Paint Density 0,3, Radius 100 в параметрах foliage и Min 0,4 / Max 0,8 для Scale X. Это тоже стартовые настройки конкретного примера. Чтобы удалить выбранный тип, проведите по нему кистью, удерживая клавишу Shift.
С точки зрения производительности Static Mesh Foliage и Actor Foliage нельзя считать одинаковыми. Согласно документации Epic, Static Mesh можно отрисовывать группами с помощью hardware instancing; Actor Foliage имеет такую же стоимость рендеринга, как обычное размещение Actor, а высокая плотность может привести к проблемам с производительностью. Для больших площадей растительности разумно сначала протестировать Static Mesh Foliage, а Actor Foliage использовать с учётом потребностей и результатов тестирования производительности.
Одна из распространённых проблем — забыть повторно запустить симуляцию после изменения распределения. Другая — копировать значения из примера, не учитывая масштаб ландшафта. Кроме того, документация указывает, что после Resimulate для перестроения освещения нужно нажать кнопку Build на главной панели инструментов; если в сцене много Static Mesh, процесс может занять длительное время. До увеличения плотности проверьте, подходят ли mesh и ландшафт для вашей сцены.
Следующие шаги для архитектурного и archviz-процесса
Процедурное распределение может быть полезно архитектурным бюро, дизайнерам интерьеров и специалистам по archviz, которым нужно быстро заполнить обширное пространство на раннем этапе проектирования ландшафта или создать базовую расстановку растительности для рендера. Совместное тестирование распределения нескольких типов деревьев помогает оценить общий вид сцены. Однако в важных с точки зрения проектных решений местах — например, у входа, подъезда или рядом с камерой — автоматический результат следует проверить и при необходимости скорректировать вручную.
На следующем этапе сравните разные варианты плотности и сочетания типов в отдельных тестах; не добавляйте лишнюю растительность там, где её детали не видны издалека. Проверяйте производительность на целевом оборудовании. В документации Epic по Foliage Mode отдельно указано, что на mesh с включённым Nanite не влияют настройки дистанции culling и instance fading. Поэтому протестируйте поведение видимости и дистанции в сцене, прежде чем использовать его в проекте.
Источник и лицензия
Это руководство адаптировано по официальной документации Epic Games Procedural Foliage Tool и Foliage Mode. В предоставленной информации об источниках для обоих материалов указано лицензия=свободная.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных и визуализационных команд в Турции процедурная растительность может стать практичным способом ускорить первоначальное заполнение больших экстерьерных сцен. Тестирование разных типов деревьев в одном spawner помогает на раннем этапе оценить общий эффект оформления окружения; тем не менее проектные решения не стоит полностью оставлять на усмотрение автоматических настроек.
Перед началом работы важно проверить лицензии используемых mesh и производительность на целевом оборудовании. В источниках нет информации о стоимости, поэтому оценить расходы невозможно. Также отмечается, что перестроение освещения после повторного запуска симуляции может занять много времени. Это стоит учитывать в производственном графике и повышать плотность постепенно.
Частые вопросы
Как включить Procedural Foliage в Unreal Engine?
Согласно руководству Epic, параметр Procedural Foliage включается в разделе Experimental по пути Edit > Editor Preferences.
Какое сочетание клавиш открывает Foliage Mode в Unreal Engine?
Выберите Foliage в меню Modes или воспользуйтесь сочетанием клавиш Shift+3.
Что использовать в Foliage Mode: Static Mesh Foliage или Actor Foliage?
Согласно документации Epic, Static Mesh Foliage можно группировать с помощью аппаратного инстансинга. Actor Foliage имеет такую же стоимость рендеринга, как обычное размещение Actor, и высокая плотность может вызвать проблемы с производительностью.



