FoliMesh

Bäume für Bevy

Bevy lädt GLB direkt über den AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("oak.glb")) liefert eine Szene, die per SceneRoot gespawnt wird; Meshes und Materialien bleiben über ihr Label adressierbar. Alle 14 Bäume — Eiche, Waldkiefer, Fichte, Birke, Trauerweide, Ahorn, Affenbrotbaum und die übrigen — kommen in diesem Format. FBX und OBJ brauchen in Rust Drittanbieter-Crates, GLB ist also der praktische Weg.

Jede Pflanze bringt LOD0–LOD3 mit: Hängt den LOD-Entities eine VisibilityRange an, übernimmt Bevy das Distanzumschalten mit gedithertem Crossfade. Blätter kommen als glTF alphaMode MASK und werden zu AlphaMode::Mask(cutoff); doppelseitige Materialien schalten Backface-Culling ab. Entities mit gemeinsamem Mesh und Material werden automatisch gebatcht und instanziert, dichter Wald bleibt dadurch günstig. Der Collision-Mesh passt zu Avian oder bevy_rapier, und jeder neue Seed erzeugt eine weitere Variante.

Modelle
14
Detailstufen
LOD0 – LOD3
Formate
GLB · FBX · OBJ

Verwendung in Bevy

Bevy lädt glTF/GLB über den AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), gespawnt mit SceneRoot; einzelne Meshes und Materialien sind per Label adressierbar. FBX und OBJ brauchen Third-Party-Crates, daher ist GLB das Format der Wahl.

  • LOD: Den Entities LOD0–LOD3 eine VisibilityRange (Start- und End-Margins) geben – Distanzwechsel mit gedithertem Crossfade, Bevys HLOD-Mechanismus.
  • Laub: glTF-alphaMode MASK wird zu AlphaMode::Mask(cutoff) im StandardMaterial, doppelseitige Materialien deaktivieren Backface Culling.
  • Entities mit gleichem Mesh und Material werden automatisch gebatcht und instanziert, viele Baumkopien bleiben also günstig.
  • Kollision: Bevy hat keine eingebaute Physik; einen Collider aus dem Kollisionsmesh mit Avian oder bevy_rapier erzeugen.

Pakete

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines