FoliMesh

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

Low-Poly-Felsen sind der leichteste Content für eine Babylon.js-Szene: keine Texturen, keine UV-Arbeit, nur flach schattierte Facetten und Vertexfarben (COLOR_0). Die GLB-Datei kommt über ImportMeshAsync aus @babylonjs/loaders in die Szene — oder über LoadAssetContainerAsync mit instantiateModelsToScene, wenn Felswand, Felsplatte und Steinhaufen mehrfach im Level auftauchen.

Die 7 Modelle — Kieselsteine, Stein, Felsblock, Felsplatte, Steinhaufen, Felswand und Felswand mit Felsbrocken — liefern LOD0–LOD3, Kollision und einen Pivot an der Basis. Verkettet wird mit lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2); null blendet ein Mesh ganz aus. Thin Instances per thinInstanceAdd halten hunderte Felsen in einem Draw Call pro Mesh, während ein unsichtbares Kollisionsmesh (isVisible = false) mit checkCollisions oder einer Havok PhysicsAggregate arbeitet. Das LOD0-Budget liegt zwischen einigen hundert und rund zweitausend Dreiecken.

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