FoliMesh

Vegetación de suelo estilo Realista para Babylon.js

Babylon.js lee estos modelos glTF 2.0 directo del GLB: cárgalos con ImportMeshAsync de @babylonjs/loaders o con LoadAssetContainerAsync cuando necesites replicar un helecho, una mata de pasto o un junco por toda una pradera usando instantiateModelsToScene. La corteza PBR y los cartones de hojas con alpha test mantienen pocos materiales, así que las thin instances se juntan en una sola draw call por malla.

El LOD0 conserva el detalle completo de frondas y briznas; lod0.addLODLevel(30, lod1) y addLODLevel(80, lod2) toman el relevo según se aleja la cámara, y la malla de colisión invisible funciona con checkCollisions o Havok PhysicsAggregate. Esta vegetación de suelo realista va bien en juegos en primera y tercera persona, supervivencia, mundos abiertos y simuladores; en dispositivos móviles arranca desde LOD1 o LOD2 y cuida el overdraw de los cartones de hojas.

Modelos
3
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 Babylon.js

Babylon.js carga GLB con el loader glTF de @babylonjs/loaders: ImportMeshAsync (o SceneLoader.ImportMeshAsync en código anterior), o LoadAssetContainerAsync cuando necesitas muchas copias con instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2), etc.; pasar null como malla oculta el objeto más allá de esa distancia.
  • Miles de árboles: las thin instances (thinInstanceAdd con matrices) se dibujan en un draw call por malla; usa createInstance normal cuando cada árbol necesite su propio picking o lógica.
  • Follaje: el MASK de glTF se convierte en un PBRMaterial con alpha test (MATERIAL_ALPHATEST).
  • Malla de colisión: isVisible = false y úsala con checkCollisions o la física Havok (PhysicsAggregate con forma MESH).

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores