À 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 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
alphaTestsur 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é.


















