FoliMesh

Arbustos para Babylon.js

Oito arbustos — Bambu, Arbusto, Buxo, Cerca viva, Zimbro, Rosa-brava, Framboeseira e Aveleira — chegam em GLB, e o Babylon.js os carrega pelo carregador glTF de @babylonjs/loaders com ImportMeshAsync. Quando uma cerca viva precisa de dezenas de cópias, LoadAssetContainerAsync com instantiateModelsToScene evita reler o arquivo e mantém a memória baixa.

Cada modelo traz LOD0–LOD3 e o pivô na base: basta usar lod0.addLODLevel(30, lod1) e addLODLevel(80, lod2), ou null para esconder o arbusto depois do último nível. As folhas usam glTF MASK, que o Babylon converte em PBRMaterial com alpha test; a malha de colisão invisível (isVisible = false) funciona com checkCollisions ou Havok PhysicsAggregate. Para maciços densos, thinInstanceAdd deixa um draw call por malha; createInstance vale quando cada arbusto precisa responder ao picking.

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

Como usar em Babylon.js

O Babylon.js carrega GLB pelo loader glTF de @babylonjs/loaders: ImportMeshAsync (ou SceneLoader.ImportMeshAsync em código mais antigo), ou LoadAssetContainerAsync quando você precisa de muitas cópias via instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) e assim por diante; passar null como malha esconde o objeto além dessa distância.
  • Milhares de árvores: thin instances (thinInstanceAdd com matrizes) são desenhadas em um draw call por malha; use createInstance comum quando cada árvore precisar de picking ou lógica próprios.
  • Folhas: o MASK do glTF vira um PBRMaterial com alpha test (MATERIAL_ALPHATEST).
  • Malha de colisão: isVisible = false e use com checkCollisions ou física Havok (PhysicsAggregate com shape MESH).

Pacotes

Outras categorias

O mesmo em outros estilos

O mesmo para outras engines