FoliMesh

Palmen im Stil Low-Poly für Babylon.js

Low-Poly-Palmen lassen sich in Babylon.js direkt als GLB laden: eine Datei über ImportMeshAsync aus @babylonjs/loaders, oder LoadAssetContainerAsync mit instantiateModelsToScene, wenn ein Strand viele Kopien braucht. Jedes Modell kommt mit LOD0–LOD3, Kollisionsmesh und Pivot an der Basis, sodass lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) entfernte Palmen sauber ausblenden. Der facettierte Look entsteht aus Flat Shading und Vertexfarben – ganz ohne Texturen. Ein einziger PBRMaterial mit Vertexfarben-Multiplikation deckt Kokospalme, Dattelpalme und Washingtonia gleichzeitig ab, und Thin Instances zeichnen Hunderte Stämme in einem Draw Call pro Mesh. Die Blätter sind Volumengeometrie, also kein Alpha-Testing und kein Overdraw auf Mobile-GPUs. Das LOD0-Budget liegt typisch bei einigen Hundert bis zwei Tausend Dreiecken – passend für Inseln, Aufbauspiele und WebGL/WebGPU-Szenen.

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

Weitere Kategorien

Ü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.

Dasselbe in anderen Stilen

Dasselbe für andere Engines