FoliMesh

Vegetazione del suolo in stile Realistico per Babylon.js

Babylon.js legge questi modelli glTF 2.0 direttamente dal GLB: caricali con ImportMeshAsync di @babylonjs/loaders, oppure con LoadAssetContainerAsync quando devi moltiplicare una felce, un ciuffo d'erba o una canna palustre su tutto un prato con instantiateModelsToScene. Corteccia PBR e cartoncini fogliari con alpha test tengono basso il numero di materiali, così le thin instance restano in una sola draw call per mesh.

Il LOD0 conserva il dettaglio completo di fronde e fili d'erba; lod0.addLODLevel(30, lod1) e addLODLevel(80, lod2) subentrano con la distanza, e la mesh di collisione nascosta funziona con checkCollisions o Havok PhysicsAggregate. Questa vegetazione del suolo realistica è adatta a giochi in prima e terza persona, sopravvivenza, open world e simulatori; su mobile parti da LOD1 o LOD2 e controlla l'overdraw dei cartoncini fogliari.

Modelli
3
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).

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori