FoliMesh

Cespugli in stile Realistico per PlayCanvas

PlayCanvas tratta il GLB come asset di tipo container: gli otto cespugli realistici — bambù, bosso, siepe, ginepro — si trascinano nell'editor e generano un template con la gerarchia completa, oppure si caricano via codice con app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity(). La corteccia usa mappe di colore, normali e rugosità; le foglie sono carte mascherate con alphaTest e cull mode none, quindi scrivono la profondità e proiettano ombre corrette.

In PlayCanvas non esiste un componente LOD: un breve script confronta la distanza della camera e attiva i componenti di render delle entità LOD0–LOD3. Siepe e bosso sono statici, un batch group unisce le loro draw call; per lampone, rosa selvatica o nocciolo sparsi su un livello ampio conviene meshInstance.setInstancing(). La collisione è un componente mesh con rigidbody statico e render disattivato. Su mobile partite da LOD1 o LOD2 e controllate l'overdraw delle carte foglia.

Modelli
8
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 PlayCanvas

PlayCanvas tratta il GLB come un container asset. Nell’editor carica il GLB (l’FBX viene convertito in GLB all’importazione) e ottieni un template con la gerarchia del modello; nel codice solo engine usa app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity().

  • LOD: non esiste un componente LOD integrato, quindi un piccolo script confronta la distanza dalla camera e attiva o disattiva i componenti render delle entità LOD0–LOD3.
  • Gli alberi statici possono condividere un batch group per unire le draw call; per foreste estese usa l’instancing hardware con meshInstance.setInstancing() e un vertex buffer di trasformazioni.
  • Foglie: il MASK di glTF imposta alphaTest sullo StandardMaterial; usa cull mode none per foglie double-sided.
  • Mesh di collisione: componente collision di tipo mesh più un rigidbody statico, con il componente render disattivato.

Pacchetti

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori