FoliMesh

Наборы 3D-ассетов для Bevy

Bevy читает glTF и GLB напрямую через AssetServer, поэтому каждый набор отсюда подключается как сцена: asset_server.load(GltfAssetLabel::Scene(0).from_asset("conifer.glb")), а спавн идёт через SceneRoot. FBX и OBJ требуют сторонних крейтов, так что берите GLB. Восемь наборов — Temperate Forest, Conifer Forest, Tropical Beach, Savanna & Dry Lands, Desert Kit, Rocks & Cliffs, Low-Poly Starter и бесплатный Sampler: деревья, пальмы, кактусы, кустарник, напочвенный покров и камни.

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

Как использовать в 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.

Наборы

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

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