À 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 Bevy
Bevy charge glTF/GLB via l’AssetServer : asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), instancié avec SceneRoot ; maillages et matériaux sont accessibles individuellement par label. FBX et OBJ nécessitent des crates tierces : utilisez donc le GLB.
- LOD : donnez aux entités LOD0–LOD3 un
VisibilityRange(marges de début et de fin) pour un changement selon la distance avec fondu tramé — le mécanisme HLOD de Bevy. - Feuillage : l’alphaMode MASK de glTF devient
AlphaMode::Mask(cutoff)sur leStandardMaterial, et les matériaux double face désactivent le back-face culling. - Les entités partageant maillage et matériau sont batchées et instanciées automatiquement : de nombreuses copies d’arbres restent peu coûteuses.
- Collision : Bevy n’a pas de physique intégrée ; construisez un collider à partir du maillage de collision avec Avian ou bevy_rapier.











