FoliMesh

Buissons de style Low-poly pour Babylon.js

Les buissons Low-poly s'importent dans Babylon.js comme de simples GLB : chargez-les avec ImportMeshAsync depuis @babylonjs/loaders, ou avec LoadAssetContainerAsync et instantiateModelsToScene quand une même haie se répète des dizaines de fois. Les feuilles sont de la géométrie solide et facettée en flat shading, la couleur vit dans les vertex colors (COLOR_0) : aucun alpha test, aucun overdraw transparent, ce qui compte sur GPU mobile. Un seul matériau suffit, donc Bambou, Haie, Genévrier et Framboisier se batchent facilement, et les thin instances dessinent des milliers de copies en un draw call par mesh.

Chaque buisson fournit LOD0–LOD3, une collision et un pivot à la base. Reliez les niveaux avec lod0.addLODLevel(30, lod1) et addLODLevel(80, lod2) ; null masque l'objet au-delà de cette distance. Le LOD0 reste entre quelques centaines et un ou deux milliers de triangles. Le mesh de collision invisible alimente checkCollisions ou un PhysicsAggregate Havok. Ce sous-bois facetté convient au WebGL/WebGPU, à la VR, aux jeux de stratégie et de city-builder.

Modèles
8
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 Babylon.js

Babylon.js charge le GLB via le loader glTF de @babylonjs/loaders : ImportMeshAsync (ou SceneLoader.ImportMeshAsync dans du code plus ancien), ou LoadAssetContainerAsync quand il faut de nombreuses copies via instantiateModelsToScene.

  • LOD : lod0.addLODLevel(30, lod1), addLODLevel(80, lod2), etc. ; passer null comme maillage masque l’objet au-delà de cette distance.
  • Des milliers d’arbres : les thin instances (thinInstanceAdd avec des matrices) se rendent en un draw call par maillage ; utilisez createInstance quand chaque arbre a besoin de son propre picking ou de sa logique.
  • Feuillage : le MASK de glTF devient un PBRMaterial en alpha test (MATERIAL_ALPHATEST).
  • Maillage de collision : isVisible = false, puis utilisez-le avec checkCollisions ou la physique Havok (PhysicsAggregate avec une forme MESH).

Packs

Autres catégories

Le même dans d'autres styles

Le même pour d'autres moteurs