FoliMesh

Arbustos para three.js

Para cargar un arbusto GLB usa GLTFLoader de three/addons; los demás loaders solo se necesitan si el archivo trae compresión Draco o KTX2. Los ocho modelos — Bambú, Arbusto, Boj, Cerca viva, Enebro, Rosa silvestre, Frambuesa, Avellano — incluyen LOD0–LOD3: con lod.addLevel(mesh, distance) en THREE.LOD el nivel de detalle cambia según la distancia de la cámara, y la malla de colisión se mantiene invisible para Rapier o cannon-es.

En el borde de un bosque o en un parque urbano, InstancedMesh dibuja miles de copias en una sola draw call y BatchedMesh combina varias variantes; como THREE.LOD no funciona por instancia, conviene agrupar las instancias por LOD en cada chunk. Las hojas con alphaMode MASK se convierten en material.alphaTest y los materiales de doble cara reciben THREE.DoubleSide de forma automática. Todo corre en WebGLRenderer y WebGPURenderer, y cada semilla nueva da otra distribución.

Modelos
8
Niveles de detalle
LOD0 – LOD3
Formatos
GLB · FBX · OBJ

Uso en three.js

En three.js, carga el GLB con GLTFLoader de three/addons; agrega DRACOLoader o KTX2Loader solo si un archivo usa esas extensiones.

  • LOD por distancia: THREE.LOD con lod.addLevel(mesh, distance) para LOD0–LOD3; cambia de nivel según la distancia a la cámara en cada cuadro.
  • Bosques: InstancedMesh dibuja miles de copias en un solo draw call y BatchedMesh combina varias variaciones de árboles. THREE.LOD no funciona por instancia, así que agrupa tú las instancias por LOD en cada chunk.
  • Follaje: el alphaMode MASK de glTF se convierte en material.alphaTest y los materiales de doble cara reciben side: THREE.DoubleSide automáticamente.
  • Malla de colisión: déjala invisible y pásala a una biblioteca de física como Rapier o cannon-es.

Funciona tanto con WebGLRenderer como con WebGPURenderer.

Packs

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores