FoliMesh

Bäume für Babylon.js

Vierzehn Bäume — Eiche, Waldkiefer, Fichte, Birke, Trauerweide, Espe, Ahorn, Pappel, Olivenbaum, Zypresse, Pinie, Akazie, Affenbrotbaum und Toter Baum — kommen als GLB. In Babylon.js lädst du sie mit ImportMeshAsync aus @babylonjs/loaders; bei wiederkehrenden Kronen sind LoadAssetContainerAsync und instantiateModelsToScene sparsamer.

Jedes Modell hat LOD0–LOD3 und einen Pivot an der Basis, also bilden lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) dein Distanzbudget ab, und null blendet ein Mesh hinter der letzten Stufe aus. Blattkarten sind glTF-MASK-Maps und werden zu alpha-getestetem PBRMaterial — günstig im Transparenz-Pass. Realistische Wälder laufen über thin instances mit einem Draw Call pro Mesh, Low-Poly-Dörfer nutzen createInstance fürs Picking. Das unsichtbare Collision-Mesh füttern checkCollisions oder Havok.

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

Verwendung in Babylon.js

Babylon.js lädt GLB über den glTF-Loader aus @babylonjs/loaders: ImportMeshAsync (oder SceneLoader.ImportMeshAsync in älterem Code) bzw. LoadAssetContainerAsync, wenn viele Kopien per instantiateModelsToScene nötig sind.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) usw.; null als Mesh blendet das Objekt jenseits dieser Distanz aus.
  • Tausende Bäume: Thin Instances (thinInstanceAdd mit Matrizen) rendern mit einem Draw Call pro Mesh; normale createInstance nutzen, wenn jeder Baum eigenes Picking oder eigene Logik braucht.
  • Laub: glTF-MASK wird zu einem alpha-getesteten PBRMaterial (MATERIAL_ALPHATEST).
  • Kollisionsmesh: isVisible = false setzen und mit checkCollisions oder Havok-Physik (PhysicsAggregate mit MESH-Shape) nutzen.

Pakete

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines