FoliMesh

Cactos e suculentas estilo Realista para PlayCanvas

O PlayCanvas carrega essas plantas como assets container GLB: envie o arquivo ao Editor e você recebe um template com a hierarquia do modelo, ou carregue por código com app.assets.loadFromUrl(url, 'container') e asset.resource.instantiateRenderEntity(). A linha realista — Saguaro, Cacto-barril, Figueira-da-índia, Agave e Aloé — usa materiais PBR metal/roughness, com mapas de normais e rugosidade no tronco e cards de folhas com alpha test.

O PlayCanvas não tem componente LOD nativo, então um script curto compara a distância da câmera e liga ou desliga os componentes render das entidades LOD0–LOD3; os níveis distantes descartam galhos e cards de folhas, o que segura cenas de deserto com centenas de plantas na tela. Folhas mascaradas escrevem profundidade, dispensam ordenação e projetam sombras corretas. Plantas estáticas entram num batch group, e campos densos de Saguaro vão bem com meshInstance.setInstancing(). Serve para survival em primeira e terceira pessoa, mundos abertos e simuladores de velho oeste no PC e no celular.

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

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 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