FoliMesh

Arbustos estilo Realista para three.js

Carga el GLB con GLTFLoader desde three/addons y registra cada malla en THREE.LOD mediante lod.addLevel(mesh, distance): Bambú, Cerca viva o Boj cambian entre LOD0–LOD3 según la distancia de la cámara. La corteza trae mapas PBR de color base, normal y rugosidad; las hojas son tarjetas alpha-tested, así que el MASK de glTF pasa a alphaTest, escriben profundidad, no requieren ordenamiento y dan sombras correctas.

Para cercas vivas y maleza entre los árboles, InstancedMesh dibuja miles de copias en una sola llamada; agrupa las instancias por LOD en cada chunk, ya que THREE.LOD no se aplica por instancia. Pasa la malla de colisión invisible a Rapier o cannon-es. Los 8 modelos —Enebro, Rosa silvestre, Frambuesa, Avellano— incluyen cuatro LOD, pivote en la base, exportación GLB/FBX/OBJ y variaciones nuevas con cada semilla, en WebGLRenderer y WebGPURenderer.

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

Acerca del estilo Realista

Los modelos realistas usan el flujo PBR metal/roughness, que glTF 2.0, Unity, Unreal, Godot y three.js leen de forma directa.

  • Corteza: mapas de color, normales y rugosidad en el tronco y las ramas.
  • Follaje: tarjetas con alpha test (masked) y texturas de racimos de hojas, no alpha blend: escriben profundidad, no requieren ordenamiento y generan sombras correctas.
  • Corteza y follaje tienen materiales separados, por lo que la cantidad de draw calls es predecible y el instancing por GPU funciona sin problemas.
  • LOD0 es para tomas cercanas; LOD1–LOD3 quitan ramas y tarjetas de hojas, y el último nivel es lo suficientemente liviano para la distancia.

Ideales para juegos en primera y tercera persona, supervivencia, mundos abiertos y simuladores en PC y consola. En celulares, usa LOD1 o LOD2 como nivel más cercano y controla el overdraw del follaje.

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