FoliMesh

Cactus e piante grasse in stile Low-poly per PlayCanvas

In PlayCanvas un GLB è un container asset: caricato nell'editor diventa un template con tutta la gerarchia, mentre nel codice bastano app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity(). Saguaro, Cactus a botte, Fico d'India, Agave e Aloe arrivano con LOD0–LOD3, collisione e pivot alla base, quindi si posano sulla sabbia senza ritocchi.

Il low-poly qui rende bene: flat shading e colori per vertice (glTF COLOR_0) eliminano texture e UV, e un solo materiale copre l'intero set. PlayCanvas non ha un componente LOD, perciò uno script breve confronta la distanza della camera e attiva le entità LOD0–LOD3; le piante statiche si uniscono in un batch group e i grandi campi usano meshInstance.setInstancing(). Il LOD0 resta tra qualche centinaio e duemila triangoli.

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