FoliMesh

Plantas de suelo para three.js

El helecho, la mata de hierba y el carrizo llegan en GLB: basta una llamada a GLTFLoader desde three/addons y los modelos ya están en la escena. Los niveles LOD0–LOD3 se conectan a THREE.LOD con lod.addLevel(mesh, distance), que cambia de nivel según la distancia de cámara en cada fotograma; DRACOLoader o KTX2Loader solo hacen falta si el archivo usa esas extensiones.

Para praderas y suelos de bosque, InstancedMesh dibuja miles de copias en una sola draw call y BatchedMesh mezcla variantes. Como THREE.LOD no se aplica por instancia, conviene agrupar las instancias por LOD en cada chunk. alphaMode MASK pasa a material.alphaTest y las hojas a doble cara reciben side: THREE.DoubleSide. La malla de colisión invisible se entrega a Rapier o cannon-es, y todo funciona con WebGLRenderer y WebGPURenderer.

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

Uso en three.js

En three.js, carga el GLB con GLTFLoader de three/addons; añade 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 fotograma.
  • Bosques: InstancedMesh dibuja miles de copias en un solo draw call y BatchedMesh mezcla varias variaciones de árboles. THREE.LOD no actúa por instancia, así que agrupa tú mismo las instancias por LOD en cada chunk.
  • Hojas: 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 librería de física como Rapier o cannon-es.

Funciona tanto con WebGLRenderer como con WebGPURenderer.

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores