Sobre o estilo Realista
Os modelos realistas usam o fluxo PBR metal/roughness, lido diretamente por glTF 2.0, Unity, Unreal, Godot e three.js.
- Casca: mapas de cor, normais e rugosidade no tronco e nos galhos.
- Folhas: cards com alpha test (masked) e texturas de cachos de folhas, sem alpha blend: escrevem profundidade, não precisam de ordenação e projetam sombras corretas.
- Casca e folhas usam materiais separados, então o número de draw calls é previsível e o instancing na GPU funciona bem.
- LOD0 é para close; LOD1–LOD3 removem galhos e cards de folhas, e o último nível é leve o bastante para longas distâncias.
Ideais para jogos em primeira e terceira pessoa, sobrevivência, mundo aberto e simuladores em PC e console. No celular, use LOD1 ou LOD2 como nível mais próximo e fique de olho no overdraw da folhagem.
Como usar em Bevy
O Bevy carrega glTF/GLB pelo AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")), instanciado com SceneRoot; malhas e materiais individuais podem ser acessados por label. FBX e OBJ exigem crates de terceiros, então o formato indicado é GLB.
- LOD: dê às entidades LOD0–LOD3 um
VisibilityRange(margens de início e fim) para troca por distância com crossfade por dithering — o mecanismo de HLOD do Bevy. - Folhas: o alphaMode MASK do glTF vira
AlphaMode::Mask(cutoff)noStandardMaterial, e materiais de dupla face desativam o culling de faces traseiras. - Entidades que compartilham malha e material recebem batching e instancing automaticamente, então muitas cópias de árvores continuam baratas.
- Colisão: o Bevy não tem física embutida; crie um collider a partir da malha de colisão com Avian ou bevy_rapier.