FoliMesh

Couvre-sol de style Low-poly pour PlayCanvas

PlayCanvas traite le GLB comme un asset de type container : déposez une Fougère, une Touffe d'herbe ou un Roseau dans l'Editor pour obtenir un template avec la hiérarchie du modèle, ou appelez app.assets.loadFromUrl(url, 'container') puis asset.resource.instantiateRenderEntity() en code pur. Le moteur n'ayant pas de composant LOD, un petit script compare la distance à la caméra et bascule les composants de rendu des entités LOD0–LOD3 ; le LOD0 reste entre quelques centaines et deux mille triangles.

En low-poly, la couleur vit dans les vertex colors (glTF COLOR_0) avec un flat shading : aucune texture, aucun travail d'UV, une empreinte de mémoire vidéo minime. Les feuilles sont de la géométrie pleine et non des alpha cards — pas d'alpha test ni d'overdraw transparent, ce qui compte sur GPU mobile. Un seul matériau peut servir toutes les plantes : le couvre-sol se regroupe en batch group ou s'instancie facilement.

Modèles
3
Niveaux de détail
LOD0 – LOD3
Formats
GLB · FBX · OBJ

À propos du style Low-poly

Le low poly est le style le moins coûteux, au rendu comme en taille de build.

  • Flat shading : une normale par face donne l’aspect à facettes net ; pas de normal maps.
  • La couleur est dans les sommets (glTF COLOR_0) : pas de textures, pas de travail d’UV, presque pas de mémoire vidéo.
  • Le feuillage est de la vraie géométrie, pas des cartes alpha : ni alpha test ni overdraw transparent, ce qui compte sur les GPU mobiles.
  • Un seul matériau peut servir à tous les modèles de la scène, les arbres se batchent et s’instancient facilement.
  • Les budgets typiques vont de quelques centaines à environ deux mille triangles au LOD0.

Adapté au mobile, à WebGL/WebGPU, à la VR, aux jeux de stratégie, aux city builders et aux jeux indés stylisés. Dans le moteur, utilisez un matériau qui multiplie par la couleur de sommet.

Utilisation dans PlayCanvas

PlayCanvas traite le GLB comme un asset container. Dans l’éditeur, importez le GLB (le FBX est converti en GLB à l’import) pour obtenir un template avec la hiérarchie du modèle ; en code moteur seul, utilisez app.assets.loadFromUrl(url, 'container') puis asset.resource.instantiateRenderEntity().

  • LOD : il n’y a pas de composant LOD intégré ; un petit script compare la distance à la caméra et active ou désactive les composants render des entités LOD0–LOD3.
  • Les arbres statiques peuvent partager un batch group pour fusionner les draw calls ; pour de grandes forêts, utilisez l’instanciation matérielle avec meshInstance.setInstancing() et un vertex buffer de transformations.
  • Feuillage : le MASK de glTF règle alphaTest sur le StandardMaterial ; utilisez le cull mode none pour des feuilles double face.
  • Maillage de collision : composant collision de type mesh avec un rigidbody statique, composant render désactivé.

Autres catégories

Le même dans d'autres styles

Le même pour d'autres moteurs