FoliMesh

Packs de assets 3D estilo Realista para Bevy

No Bevy, esses packs entram como cenas glTF: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")) e, na sequência, SceneRoot. FBX e OBJ exigem crates de terceiros, então o GLB é o caminho prático — os sete packs, do Sampler gratuito a Rochas e penhascos, já vêm nesse formato e com o pivô na base.

Cada árvore, arbusto e pedra traz LOD0–LOD3, o que permite aplicar um VisibilityRange nas entidades e deixar a troca por distância com o crossfade dithering do Bevy. A casca usa mapas PBR de cor base, normal e rugosidade, e as folhas são cards com alpha test que viram AlphaMode::Mask(cutoff): gravam profundidade e projetam sombras corretas. Malha e material compartilhados são instanciados automaticamente, o que sustenta cenas de survival e mundo aberto. O Bevy não tem física embutida: o collider sai da malha de colisão com Avian ou bevy_rapier.

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) no StandardMaterial, 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.

Pacotes

O mesmo em outros estilos

O mesmo para outras engines