FoliMesh

Arbustos estilo Low-poly para PlayCanvas

Arraste o GLB para o editor do PlayCanvas — o FBX é convertido na importação — e você recebe um asset do tipo container com a hierarquia do modelo; em projetos só de engine, use app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity(). Os 8 modelos — Bambu, Arbusto, Buxo, Cerca viva, Zimbro, Rosa-brava, Framboeseira e Aveleira — vêm com LOD0–LOD3 e pivô na base.

O PlayCanvas não tem componente de LOD nativo, então um script curto compara a distância da câmera e liga os componentes de render de cada nível. O low-poly é o estilo mais barato aqui: sombreamento flat, cor em vertex colors (COLOR_0), sem texturas nem normal maps, folhas como geometria sólida em vez de cartões alfa — sem alphaTest e sem overdraw em GPU de celular. Um único material atende a cena inteira, então cercas vivas podem dividir um batch group ou usar meshInstance.setInstancing(). O LOD0 fica entre algumas centenas e dois mil triângulos.

Modelos
8
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 PlayCanvas

O PlayCanvas trata GLB como um container asset. No editor, envie o GLB (FBX é convertido para GLB na importação) e você terá um template com a hierarquia do modelo; em código só de engine, use app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity().

  • LOD: não há componente de LOD embutido, então um pequeno script compara a distância da câmera e liga ou desliga os componentes render das entidades LOD0–LOD3.
  • Árvores estáticas podem compartilhar um batch group para juntar draw calls; em florestas grandes, use instancing por hardware com meshInstance.setInstancing() e um vertex buffer de transformações.
  • Folhas: o MASK do glTF define alphaTest no StandardMaterial; use cull mode none para folhas de dupla face.
  • Malha de colisão: componente collision do tipo mesh mais um rigidbody estático, com o componente render desativado.

Pacotes

Outras categorias

O mesmo em outros estilos

O mesmo para outras engines