FoliMesh

Bäume im Stil Low-Poly für Babylon.js

Low-Poly-Bäume kommen als GLB in Babylon.js: geladen mit ImportMeshAsync aus @babylonjs/loaders, für viele Kopien mit LoadAssetContainerAsync und instantiateModelsToScene. Jede Datei bringt LOD0–LOD3 und einen Pivot an der Basis mit, sodass lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) die Distanzausblendung ohne Zusatzarbeit erledigen.

Der facettierte Look entsteht aus Flat Shading und Vertexfarben (COLOR_0) statt Texturen – ein Material genügt für Eiche, Waldkiefer, Fichte, Birke und die übrigen der 14 Bäume; im Shader muss es die Vertexfarbe multiplizieren. Blätter sind Volumengeometrie, also kein Alpha-Testing und kein Transparenz-Overdraw, und Thin Instances zeichnen tausende Bäume in einem Draw Call pro Mesh. LOD0 liegt zwischen einigen Hundert und rund zwei tausend Dreiecken – passend für WebGL, WebGPU, Mobile, VR, Strategie und City Builder.

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

Über den Stil Low-Poly

Low-Poly-Vegetation ist der günstigste Stil – beim Rendern wie bei der Build-Größe.

  • Flat Shading: eine Normale pro Fläche ergibt den klaren Facetten-Look, Normal Maps entfallen.
  • Die Farbe liegt in den Vertex-Farben (glTF COLOR_0): keine Texturen, keine UV-Arbeit, kaum Grafikspeicher.
  • Das Laub ist echte Geometrie statt Alpha-Cards: kein Alpha-Test und kein transparenter Overdraw – wichtig für mobile GPUs.
  • Ein einziges Material reicht für alle Modelle einer Szene, Bäume lassen sich daher leicht batchen und instanzieren.
  • Übliche Budgets für LOD0 liegen zwischen einigen hundert und rund zweitausend Dreiecken.

Passt zu Mobile, WebGL/WebGPU, VR, Strategie, Aufbauspielen und stilisierten Indie-Games. In der Engine ein Material verwenden, das mit der Vertex-Farbe multipliziert.

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