FoliMesh

Bodenvegetation im Stil Realistisch für Bevy

Bodenvegetation bringt eine Bevy-Szene erst richtig zum Leben, und der Importweg ist kurz: asset_server.load(GltfAssetLabel::Scene(0).from_asset("farn.glb")), gespawnt als SceneRoot. GLB ist hier das Format der Wahl — FBX und OBJ brauchen zusätzliche Crates. Farn, Grasbüschel und Schilf liefern jeweils LOD0–LOD3, eine Kollisionsmesh und einen Pivot an der Basis, sodass Waldböden, Wiesen und Ufer für Survival- und Open-World-Spiele sauber gefüllt werden.

Da die Assets realistisch sind, nutzen Rinde und Blätter den Metal/Roughness-Workflow. Blattkarten sind maskiert, glTF alphaMode MASK wird also zu AlphaMode::Mask(cutoff) auf dem StandardMaterial: Sie schreiben Tiefe, brauchen keine Sortierung und werfen korrekte Schatten. VisibilityRange an den LOD-Entitäten sorgt für den geditherten Crossfade. Geteilte Meshes und Materialien werden automatisch gebatcht und instanziert, was tausende Grasbüschel günstig hält; Kollisionen entstehen aus der Kollisionsmesh mit Avian oder bevy_rapier.

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

Über den Stil Realistisch

Realistische Modelle nutzen den PBR-Workflow Metal/Roughness, den glTF 2.0, Unity, Unreal, Godot und three.js direkt lesen.

  • Rinde: Base-Color-, Normal- und Roughness-Maps auf Stamm und Ästen.
  • Blätter: alpha-getestete (Masked) Cards mit Blattbüschel-Texturen statt Alpha-Blending – sie schreiben Tiefe, brauchen keine Sortierung und werfen korrekte Schatten.
  • Rinde und Laub haben getrennte Materialien; die Zahl der Draw Calls bleibt planbar und GPU-Instancing funktioniert problemlos.
  • LOD0 ist für die Nahansicht; LOD1–LOD3 entfernen Äste und Blatt-Cards, die letzte Stufe ist leicht genug für große Entfernungen.

Ideal für First- und Third-Person-Spiele, Survival, Open Worlds und Simulationen auf PC und Konsole. Auf Mobilgeräten LOD1 oder LOD2 als nächste Stufe verwenden und den Overdraw des Laubs im Blick behalten.

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.

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines