FoliMesh

Modelos 3D estilo Realista para three.js

A vegetação realista entra no three.js sem conversão: o GLB é carregado com GLTFLoader de three/addons, e os materiais PBR metal/rugosidade — casca com mapas de cor base, normal e rugosidade, folhas como cards mascarados — aparecem exatamente como foram feitos. DRACOLoader ou KTX2Loader só são necessários se o arquivo usar essas extensões. As malhas LOD0–LOD3 entram no THREE.LOD com lod.addLevel(mesh, distance): a troca de nível acontece a cada frame pela distância da câmera.

Dos 42 modelos — Carvalho, Pinheiro-silvestre, Abeto, Bétula, Salgueiro-chorão, Oliveira, Coqueiro — dá para montar tanto floresta quanto deserto. O InstancedMesh desenha o volume, o BatchedMesh mistura várias espécies em um chunk; como o THREE.LOD não vale por instância, agrupe as instâncias por nível e chunk você mesmo. A malha de colisão fica invisível e vai para o Rapier ou o cannon-es. Serve para jogos em primeira e terceira pessoa, survival, mundos abertos e simuladores em PC e console; no celular, comece no LOD1 ou LOD2 e fique de olho no overdraw dos cards de folha.

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