FoliMesh

Arbres de style Réaliste pour three.js

Les arbres réalistes s'intègrent directement dans une scène three.js via GLTFLoader depuis three/addons : le GLB arrive avec les maillages LOD0–LOD3, prêts pour THREE.LOD. Enregistrez chaque niveau avec lod.addLevel(mesh, distance) et le rendu bascule selon la distance caméra à chaque image — utile quand un Chêne, un Pin sylvestre ou un Saule pleureur se trouve sur le passage d'une caméra à la première personne.

Pour une forêt, InstancedMesh garde des milliers de troncs en un seul draw call et BatchedMesh mélange les variantes d'Épicéa, de Bouleau et d'Érable ; THREE.LOD s'applique par objet, donc regroupez les instances par niveau dans chaque chunk. Les feuilles sont des cartes alpha-testées (alphaMode MASK devient material.alphaTest, les matériaux double face reçoivent THREE.DoubleSide) : aucun tri nécessaire et des ombres correctes. Les maillages de collision restent invisibles pour Rapier ou cannon-es ; tout tourne sous WebGLRenderer comme sous WebGPURenderer.

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

À propos du style Réaliste

Les modèles réalistes suivent le workflow PBR metal/roughness, lu directement par glTF 2.0, Unity, Unreal, Godot et three.js.

  • Écorce : textures de couleur, de normales et de rugosité sur le tronc et les branches.
  • Feuillage : cartes en alpha test (masked) avec des textures de grappes de feuilles, pas en alpha blend : elles écrivent la profondeur, ne demandent aucun tri et projettent des ombres correctes.
  • Écorce et feuillage ont des matériaux séparés : le nombre de draw calls reste prévisible et l’instanciation GPU fonctionne bien.
  • LOD0 sert aux plans rapprochés ; LOD1–LOD3 retirent branches et cartes de feuilles, le dernier niveau est assez léger pour le lointain.

Idéal pour les jeux à la première et à la troisième personne, la survie, les mondes ouverts et les simulateurs sur PC et console. Sur mobile, utilisez LOD1 ou LOD2 comme niveau le plus proche et surveillez l’overdraw du feuillage.

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