FoliMesh

Kakteen & Sukkulenten im Stil Low-Poly für Babylon.js

Babylon.js lädt diese Kakteen als GLB über den glTF-Loader aus @babylonjs/loaders: ImportMeshAsync für eine einzelne Pflanze, LoadAssetContainerAsync mit instantiateModelsToScene, wenn die Szene viele Kopien braucht. Saguaro, Kugelkaktus, Feigenkaktus, Agave und Aloe kommen mit LOD0–LOD3 und Kollisionsmesh, sodass lod0.addLODLevel(30, lod1) entfernte Pflanzen günstig hält, während das unsichtbare Kollisionsmesh weiter mit checkCollisions oder einer Havok PhysicsAggregate arbeitet.

Low-Poly heißt hier Flat Shading und Vertexfarben (COLOR_0): keine Texturen, keine Alpha-Karten, kein transparentes Overdraw – wichtig für mobile GPUs und WebGL/WebGPU-Builds. Blätter und Stacheln sind echte Geometrie, ein einziges Material färbt das ganze Set, und die Pflanzen lassen sich batchen oder als Thin Instances einfügen. Die Budgets liegen bei ein paar hundert bis rund zweitausend Dreiecken auf LOD0, passend für Strategie, Städtebau, VR und stilisierte Western.

Modelle
5
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.

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines