FoliMesh

Arbustos estilo Low-poly para three.js

Arbustos low-poly são a forma mais barata de preencher o chão entre troncos em uma cena three.js. O GLB é carregado com GLTFLoader de three/addons e, em seguida, as malhas LOD0–LOD3 vão para o THREE.LOD via lod.addLevel(mesh, distance); os níveis trocam conforme a distância da câmera a cada quadro. Aqui as folhas são geometria sólida com cores de vértice, não cartões alfa: sem alpha test e sem overdraw transparente, o que pesa em GPUs de celular.

O conjunto traz Bambu, Arbusto, Buxo, Cerca viva, Zimbro, Rosa-brava, Framboeseira e Aveleira. O flat shading mantém o LOD0 na faixa de algumas centenas a cerca de dois mil triângulos, e um material compartilhado permite que InstancedMesh e BatchedMesh desenhem cercas vivas longas com pouquíssimas chamadas. Mantenha a malha de colisão invisível e entregue-a ao Rapier ou cannon-es — para estratégia, city builders e VR estilizado com WebGLRenderer ou WebGPURenderer.

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 three.js

No three.js, carregue o GLB com GLTFLoader de three/addons; adicione DRACOLoader ou KTX2Loader só se o arquivo usar essas extensões.

  • LOD por distância: THREE.LOD com lod.addLevel(mesh, distance) para LOD0–LOD3; o nível muda conforme a distância da câmera a cada frame.
  • Florestas: InstancedMesh desenha milhares de cópias em um único draw call, e BatchedMesh mistura várias variações de árvores. THREE.LOD não atua por instância, então agrupe você mesmo as instâncias por LOD em cada chunk.
  • Folhas: o alphaMode MASK do glTF vira material.alphaTest, e materiais de dupla face recebem side: THREE.DoubleSide automaticamente.
  • Malha de colisão: deixe invisível e passe para uma biblioteca de física como Rapier ou cannon-es.

Funciona com WebGLRenderer e com WebGPURenderer.

Pacotes

Outras categorias

O mesmo em outros estilos

O mesmo para outras engines