FoliMesh

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

Low-Poly-Büsche kommen als reines GLB in Babylon.js: laden mit ImportMeshAsync aus @babylonjs/loaders oder mit LoadAssetContainerAsync plus instantiateModelsToScene, wenn dieselbe Hecke dutzendfach auftaucht. Die Blätter sind massive, facettierte Geometrie mit Flat Shading, die Farbe steckt in den Vertexfarben (COLOR_0) – kein Alpha-Testing, kein transparentes Overdraw, was auf mobilen GPUs zählt. Ein Material genügt für das ganze Set, also batchen Bambus, Hecke, Wacholder und Himbeere sauber, und Thin Instances zeichnen tausende Kopien in einem Draw Call pro Mesh.

Jeder Strauch liefert LOD0–LOD3, Kollision und einen Pivot an der Basis. Die Stufen verbindet man mit lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2); null blendet das Objekt ab dieser Distanz aus. LOD0 bleibt im Bereich von ein paar hundert bis rund zweitausend Dreiecken. Das unsichtbare Kollisionsmesh füttert checkCollisions oder ein Havok-PhysicsAggregate. Facettiertes Unterholz passt zu WebGL/WebGPU, VR, Strategie und City-Buildern.

Modelle
8
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