FoliMesh

Palme in stile Realistico per three.js

In three.js le palme realistiche sono la presenza più visibile di una spiaggia o di un'oasi, e anche la più pesante: le card fogliari con alpha test producono molto overdraw. I cinque modelli — Palma da cocco, Palma da dattero, Palma delle Canarie, Washingtonia e Palma nana — arrivano in GLB leggero, letto direttamente da GLTFLoader di three/addons.

Ogni file include LOD0–LOD3, il pivot alla base e una mesh di collisione separata per Rapier o cannon-es. Corteccia e foglie usano materiali PBR distinti: le card mascherate diventano material.alphaTest, scrivono la profondità e non richiedono ordinamento. I livelli si agganciano con THREE.LOD e lod.addLevel(mesh, distance), mentre le palme lontane si istanziano con InstancedMesh per chunk, su WebGLRenderer e WebGPURenderer.

Modelli
5
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