FoliMesh

Vegetação rasteira estilo Low-poly para Bevy

O Bevy carrega esses modelos direto do GLB: asset_server.load(GltfAssetLabel::Scene(0).from_asset("samambaia.glb")), instanciado com SceneRoot, com cada malha e material acessível pelo seu label. FBX e OBJ exigem crates de terceiros, então o formato a usar é o GLB. Samambaia, Tufo de grama e Junco vêm com LOD0–LOD3, prontos para receber um VisibilityRange em cada nível com crossfade dithering.

O estilo low-poly combina com o renderizador do Bevy: flat shading, uma normal por face e cor nos vértices (COLOR_0), sem texturas, sem UV e sem alpha cards — nada de alpha testing nem de overdraw transparente em GPU de celular. Entidades que compartilham malha e material são agrupadas e instanciadas automaticamente, então a vegetação espalhada sai barata. O LOD0 fica entre algumas centenas e dois mil triângulos. Os colliders saem da malha de colisão via Avian ou bevy_rapier.

Modelos
3
Níveis de detalhe
LOD0 – LOD3
Formatos
GLB · FBX · OBJ

Sobre o estilo Low-poly

O low poly é o estilo mais barato de renderizar e de distribuir.

  • Flat shading: uma normal por face dá o visual facetado nítido, sem normal maps.
  • A cor fica nos vértices (glTF COLOR_0): sem texturas, sem trabalho de UV e quase sem memória de vídeo.
  • As folhas são geometria sólida, não cards com alfa: sem alpha test nem overdraw transparente, o que pesa em GPUs de celular.
  • Um único material serve para todos os modelos da cena, então as árvores fazem batching e instancing com facilidade.
  • Orçamentos típicos vão de algumas centenas a cerca de dois mil triângulos no LOD0.

Combina com mobile, WebGL/WebGPU, VR, estratégia, city builders e jogos indie estilizados. Na engine, use um material que multiplique pela cor de vértice.

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.

Outras categorias

O mesmo em outros estilos

O mesmo para outras engines