FoliMesh

Растительность земли в стиле Реалистичный для Bevy

Растительность земли оживляет сцену на Bevy, и путь импорта короткий: asset_server.load(GltfAssetLabel::Scene(0).from_asset("paportnik.glb")) со спавном через SceneRoot. Для Bevy это GLB — FBX и OBJ требуют сторонних крейтов. Папоротник, Трава и Тростник поставляются с LOD0–LOD3, коллизионной сеткой и пивотом у основания, поэтому лесные подстилки, луга и берега заполняются аккуратно — типично для выживания и открытых миров.

Поскольку стиль реалистичный, кора и листья используют workflow metal/roughness. Листовые карты маскированные: glTF alphaMode MASK превращается в AlphaMode::Mask(cutoff) у StandardMaterial — они пишут глубину, не требуют сортировки и дают корректные тени. VisibilityRange на LOD-сущностях включает дизеренный кроссфейд. Общие меши и материалы батчатся и инстансируются автоматически, поэтому тысячи пучков травы дешевы; коллайдеры собираются из коллизионной сетки через Avian или bevy_rapier.

Модели
3
Уровни детализации
LOD0 – LOD3
Форматы
GLB · FBX · OBJ

О стиле Реалистичный

Реалистичные модели используют PBR-схему metal/roughness, которую напрямую читают glTF 2.0, Unity, Unreal, Godot и three.js.

  • Кора: карты цвета, нормалей и шероховатости на стволе и ветках.
  • Листва: карточки с текстурой веток листьев на alpha-test (masked), а не alpha-blend — пишут глубину, не требуют сортировки и дают правильные тени.
  • Кора и листва — отдельные материалы: число draw calls предсказуемо, GPU-инстансинг работает без проблем.
  • LOD0 — для крупного плана; LOD1–LOD3 убирают ветки и карточки листвы, последний уровень достаточно лёгкий для дальних планов.

Лучше всего подходят для игр от первого и третьего лица, выживания, открытых миров и симуляторов на ПК и консолях. На мобильных берите LOD1 или LOD2 как ближний уровень и следите за overdraw листвы.

Как использовать в Bevy

Bevy загружает glTF/GLB через AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")) и спавн через SceneRoot; отдельные меши и материалы доступны по меткам. Для FBX и OBJ нужны сторонние крейты, поэтому используйте GLB.

  • LOD: дайте сущностям LOD0–LOD3 компонент VisibilityRange (начальный и конечный отступы) — переключение по дистанции с дизерингом при переходе, это механизм HLOD в Bevy.
  • Листва: alphaMode MASK из glTF превращается в AlphaMode::Mask(cutoff) у StandardMaterial, а у двусторонних материалов отключено отсечение задних граней.
  • Сущности с общими мешем и материалом батчатся и инстансятся автоматически, так что множество копий деревьев обходится дёшево.
  • Коллизия: встроенной физики в Bevy нет; соберите коллайдер из меша коллизии с помощью Avian или bevy_rapier.

Другие категории

То же в других стилях

То же для других движков