FoliMesh

Palme in stile Low-poly per PlayCanvas

PlayCanvas importa il GLB come asset di tipo container: i cinque modelli di palme diventano nell'editor un template con la gerarchia, da istanziare con instantiateRenderEntity(). Il look Low-poly sfaccettato tiene il colore nei vertex color (COLOR_0): niente texture e pochissima memoria video, mentre le foglie sono geometria piena, quindi niente alpha test né overdraw trasparente.

Budget da qualche centinaio a un paio di migliaia di triangoli in LOD0, con LOD0–LOD3 su ogni modello, adatti alle scene browser: Palma da cocco, Palma da dattero, Palma delle Canarie, Washingtonia e Palma nana per spiagge, isole e oasi. PlayCanvas non ha un componente LOD, quindi un breve script commuta i componenti di render in base alla distanza della camera; le palme uguali condividono un batch group o usano meshInstance.setInstancing(). La collisione è un componente di tipo mesh con rigidbody statico.

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

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori