FoliMesh

Buissons de style Low-poly pour three.js

Les buissons low-poly sont la façon la moins coûteuse de remplir le sol entre les troncs dans une scène three.js. On charge le GLB avec GLTFLoader depuis three/addons, puis on confie les maillages LOD0–LOD3 à THREE.LOD via lod.addLevel(mesh, distance) : les niveaux changent selon la distance caméra à chaque frame. Les feuilles sont ici de la géométrie pleine avec couleurs par sommet, pas des cartes alpha : aucun alpha test ni overdraw transparent, ce qui compte sur GPU mobile.

La sélection comprend Bambou, Buisson, Buis, Haie, Genévrier, Églantier, Framboisier et Noisetier. Le flat shading maintient le LOD0 entre quelques centaines et deux mille triangles, et un matériau partagé permet à InstancedMesh et BatchedMesh de dessiner de longues haies en très peu d'appels. Gardez la collision invisible et transmettez-la à Rapier ou cannon-es — pour la stratégie, les city builders et la VR stylisée sous WebGLRenderer ou WebGPURenderer.

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 three.js

Dans three.js, chargez le GLB avec GLTFLoader depuis three/addons ; ajoutez DRACOLoader ou KTX2Loader seulement si un fichier utilise ces extensions.

  • LOD par distance : THREE.LOD avec lod.addLevel(mesh, distance) pour LOD0–LOD3 ; le niveau change selon la distance à la caméra à chaque image.
  • Forêts : InstancedMesh dessine des milliers de copies en un seul draw call, et BatchedMesh mélange plusieurs variantes d’arbres. THREE.LOD ne s’applique pas par instance : regroupez vous-même les instances par LOD et par chunk.
  • Feuillage : l’alphaMode MASK de glTF devient material.alphaTest, et les matériaux double face reçoivent automatiquement side: THREE.DoubleSide.
  • Maillage de collision : gardez-le invisible et passez-le à une bibliothèque physique comme Rapier ou cannon-es.

Fonctionne avec WebGLRenderer comme avec WebGPURenderer.

Packs

Autres catégories

Le même dans d'autres styles

Le même pour d'autres moteurs