FoliMesh

Vegetazione del suolo in stile Realistico per PlayCanvas

PlayCanvas tratta il GLB come container asset: trascina il file nell'editor oppure chiama app.assets.loadFromUrl(url, 'container') nel codice e crea l'entità con asset.resource.instantiateRenderEntity(). Ogni modello include LOD0–LOD3; poiché il motore non ha un componente LOD, basta uno script breve che confronta la distanza dalla camera e attiva i componenti di render.

Lo stile realistico segue il workflow PBR metal/roughness: materiali separati per la corteccia (colore base, normal, roughness) e per le foglie su card mascherate — imposta cull mode none per il fogliame a due facce. Felce, Ciuffo d'erba e Canna palustre vanno bene per FPS, survival e open world. Raggruppa i ciuffi statici in un batch group e usa meshInstance.setInstancing() per le grandi superfici. La collisione è un componente mesh più un rigidbody statico con il render disattivato.

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

Altre categorie

Lo stesso in altri stili

Lo stesso per altri motori