FoliMesh

Packs de assets 3D para Babylon.js

O Babylon.js carrega a vegetação em GLB pelo loader glTF de @babylonjs/loaders: ImportMeshAsync para uma cena específica e LoadAssetContainerAsync quando você precisa instanciar muitas cópias com instantiateModelsToScene. Cada modelo vem com LOD0–LOD3, então encadear lod0.addLODLevel(30, lod1) e addLODLevel(80, lod2) mantém o bosque rodando liso no navegador do celular.

As folhas usam mapas MASK, resolvidos como PBRMaterial com alpha test (MATERIAL_ALPHATEST); a malha de colisão fica oculta com isVisible = false e serve para checkCollisions ou Havok com PhysicsAggregate. Para milhares de árvores, thinInstanceAdd com matrizes deixa um draw call por malha, e createInstance vale quando cada árvore precisa de picking próprio. Os 8 pacotes —Floresta temperada, Floresta de coníferas, Praia tropical, Savana e terras secas, Kit deserto, Iniciante low-poly, Rochas e penhascos e a Amostra gratuita— atendem exploração, sobrevivência e jogos de construção.

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

O mesmo em outros estilos

O mesmo para outras engines