FoliMesh

Alberi in stile Low-poly per PlayCanvas

Un GLB FoliMesh caricato nell'editor di PlayCanvas diventa un container asset con la gerarchia del modello già pronta: i 14 alberi di questa selezione, dalla Quercia e dal Pino silvestre al Salice piangente, all'Ulivo e al Baobab, entrano subito nella scena. La geometria low-poly è flat shaded e prende tutto il colore dai vertex color: niente texture, nessun lavoro sulle UV e un solo StandardMaterial condiviso.

Ogni albero include LOD0–LOD3 e un pivot alla base. PlayCanvas non ha un componente LOD integrato, quindi basta uno script breve che confronta la distanza dalla camera e attiva il render component giusto. Gli alberi statici possono condividere un batch group; per un bosco esteso conviene l'instancing hardware con meshInstance.setInstancing(). I tronchi si gestiscono con una collision di tipo mesh e un rigidbody statico.

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

Informazioni sullo stile Low-poly

Il low poly è lo stile più economico da renderizzare e da distribuire.

  • Flat shading: una normale per faccia dà il look sfaccettato e netto, niente normal map.
  • Il colore è nei vertici (glTF COLOR_0): niente texture, niente lavoro sulle UV, quasi zero memoria video.
  • Il fogliame è geometria piena, non card con alpha: niente alpha test né overdraw trasparente, fondamentale sulle GPU mobile.
  • Un solo materiale può servire tutti i modelli della scena, quindi gli alberi si raggruppano e si istanziano facilmente.
  • I budget tipici vanno da qualche centinaio a un paio di migliaia di triangoli al LOD0.

Adatto a mobile, WebGL/WebGPU, VR, strategici, city builder e giochi indie stilizzati. Nel motore usa un materiale che moltiplichi per il colore ai vertici.

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