FoliMesh

Cespugli per Babylon.js

Otto modelli — Bambù, Cespuglio, Bosso, Siepe, Ginepro, Rosa selvatica, Lampone e Nocciolo — arrivano in GLB, quindi Babylon.js li carica con il loader glTF di @babylonjs/loaders tramite ImportMeshAsync. Quando una siepe va moltiplicata in decine di copie, LoadAssetContainerAsync con instantiateModelsToScene evita di rileggere il file e tiene bassa la memoria.

Ogni modello include LOD0–LOD3 e il pivot alla base: basta scrivere lod0.addLODLevel(30, lod1) e addLODLevel(80, lod2), oppure null per nascondere l'oggetto oltre l'ultimo livello. Le foglie usano glTF MASK, che Babylon traduce in un PBRMaterial con alpha test; la mesh di collisione nascosta (isVisible = false) funziona con checkCollisions o con un Havok PhysicsAggregate. Per i cespugli fitti conviene thinInstanceAdd — un draw call per mesh — mentre createInstance serve dove ogni cespuglio deve rispondere al picking.

Modelli
8
Livelli di dettaglio
LOD0 – LOD3
Formati
GLB · FBX · OBJ

Uso in Babylon.js

Babylon.js carica il GLB con il loader glTF di @babylonjs/loaders: ImportMeshAsync (o SceneLoader.ImportMeshAsync nel codice meno recente), oppure LoadAssetContainerAsync quando servono molte copie tramite instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) e così via; passare null come mesh nasconde l’oggetto oltre quella distanza.
  • Migliaia di alberi: le thin instance (thinInstanceAdd con matrici) si disegnano con una draw call per mesh; usa createInstance normale quando ogni albero richiede picking o logica propri.
  • Foglie: il MASK di glTF diventa un PBRMaterial in alpha test (MATERIAL_ALPHATEST).
  • Mesh di collisione: isVisible = false e usala con checkCollisions o la fisica Havok (PhysicsAggregate con forma MESH).

Pacchetti

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori