FoliMesh

Kakteen & Sukkulenten für Babylon.js

Wüstenkarten in Babylon.js scheitern selten an Texturen, sondern an der Anzahl der Pflanzen im Frame. Fünf Modelle — Saguaro, Kugelkaktus, Feigenkaktus, Agave und Aloe — kommen als GLB und laufen über @babylonjs/loaders: ImportMeshAsync für einzelne Pflanzen, LoadAssetContainerAsync mit instantiateModelsToScene, wenn dieselbe Kaktee hundertfach über die Map verteilt wird.

Jedes Modell bringt LOD0–LOD3, eine Kollisionsmesh und einen Pivot an der Basis mit; lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) reduzieren die Geometrie mit der Entfernung, ein null-Wert blendet entfernte Pflanzen ganz aus. Blatt- und Stachelkarten nutzen glTF MASK und werden als alpha-getestetes PBRMaterial geladen. Tausende Agaven laufen über thinInstanceAdd in einem Draw Call pro Mesh, createInstance bleibt für pickbare Pflanzen. Die unsichtbare Kollisionsmesh füttert checkCollisions oder eine Havok PhysicsAggregate.

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

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