FoliMesh

Rocce in stile Realistico per Babylon.js

Babylon.js carica queste rocce GLB direttamente con il loader glTF di @babylonjs/loaders: ImportMeshAsync per un masso singolo, LoadAssetContainerAsync con instantiateModelsToScene quando un cumulo di sassi richiede centinaia di copie. La pietra realistica segue il workflow PBR metal/roughness che Babylon.js mostra così com'è; le normal map restituiscono strati, crepe e muschio.

La selezione comprende 7 modelli: Ciottoli, Pietra, Masso, Lastra di roccia, Cumulo di sassi, Scogliera e Scogliera con massi. Ognuno ha LOD0–LOD3, collisione e pivot alla base, adatto a survival, mondi aperti e simulatori. I livelli si concatenano con lod0.addLODLevel(30, lod1) e addLODLevel(80, lod2); null nasconde la mesh oltre quella distanza. Essendo statiche, le thin instance (thinInstanceAdd) disegnano un'intera pietraia in una sola draw call per mesh, e la mesh di collisione invisibile funziona con checkCollisions o la fisica Havok (PhysicsAggregate).

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

Informazioni sullo stile Realistico

I modelli realistici usano il workflow PBR metal/roughness, letto direttamente da glTF 2.0, Unity, Unreal, Godot e three.js.

  • Corteccia: mappe di colore, normali e roughness su tronco e rami.
  • Foglie: card in alpha test (masked) con texture di gruppi di foglie, non in alpha blend: scrivono la profondità, non richiedono ordinamento e proiettano ombre corrette.
  • Corteccia e fogliame hanno materiali separati, quindi le draw call restano prevedibili e il GPU instancing funziona bene.
  • LOD0 è per i primi piani; LOD1–LOD3 eliminano rami e card di foglie, e l’ultimo livello è abbastanza leggero per la distanza.

Ideali per giochi in prima e terza persona, survival, open world e simulatori su PC e console. Su mobile usa LOD1 o LOD2 come livello più vicino e tieni d’occhio l’overdraw del fogliame.

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