FoliMesh

Vegetazione del suolo in stile Low-poly per PlayCanvas

In PlayCanvas il GLB è un asset di tipo container: caricando una Felce, un Ciuffo d'erba o una Canna palustre nell'Editor si ottiene un template con la gerarchia del modello; nel codice senza editor si usa app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity(). Non esiste un componente LOD integrato, quindi uno script breve confronta la distanza dalla camera e attiva o disattiva i componenti di render delle entità LOD0–LOD3. In LOD0 i modelli restano tra qualche centinaio e un paio di migliaia di triangoli.

Nella vegetazione del suolo low-poly il colore sta nei vertex color (glTF COLOR_0) con flat shading: niente texture, nessun lavoro sulle UV e memoria video quasi nulla. Le foglie sono geometria piena, non alpha card: nessun alpha test e nessun overdraw trasparente, un vantaggio sulle GPU mobile. Un solo materiale può servire tutte le piante, così felci, ciuffi d'erba e canne si uniscono in batch group o si istanziano facilmente.

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