FoliMesh

Alberi in stile Realistico per three.js

Gli alberi realistici entrano in una scena three.js con GLTFLoader da three/addons: il GLB arriva con le mesh LOD0–LOD3 pronte per THREE.LOD. Registrando ogni livello con lod.addLevel(mesh, distance), il renderer cambia livello in base alla distanza della camera a ogni frame — utile quando una Quercia, un Pino silvestre o un Salice piangente si trovano davanti a una camera in prima persona.

Nei boschi InstancedMesh tiene migliaia di tronchi in una sola draw call e BatchedMesh mescola varianti di Abete rosso, Betulla e Acero; dato che THREE.LOD lavora per oggetto, conviene raggruppare le istanze per livello in ogni chunk. Le foglie sono card con alpha test (alphaMode MASK diventa material.alphaTest e i materiali double-sided ricevono THREE.DoubleSide): nessun ordinamento e ombre corrette. Le mesh di collisione restano invisibili per Rapier o cannon-es; tutto gira con WebGLRenderer e WebGPURenderer.

Modelli
14
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 three.js

In three.js carica il GLB con GLTFLoader da three/addons; aggiungi DRACOLoader o KTX2Loader solo se un file usa quelle estensioni.

  • LOD a distanza: THREE.LOD con lod.addLevel(mesh, distance) per LOD0–LOD3; il livello cambia in base alla distanza dalla camera a ogni frame.
  • Foreste: InstancedMesh disegna migliaia di copie in una sola draw call, e BatchedMesh mescola più varianti di alberi. THREE.LOD non agisce per istanza, quindi raggruppa tu le istanze per LOD in ogni chunk.
  • Foglie: l’alphaMode MASK di glTF diventa material.alphaTest, e i materiali double-sided ricevono automaticamente side: THREE.DoubleSide.
  • Mesh di collisione: lasciala invisibile e passala a una libreria fisica come Rapier o cannon-es.

Funziona sia con WebGLRenderer sia con WebGPURenderer.

Pacchetti

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori