FoliMesh

Plantas de suelo estilo Realista para Babylon.js

Babylon.js lee estos modelos glTF 2.0 directamente del GLB: cárgalos con ImportMeshAsync de @babylonjs/loaders o con LoadAssetContainerAsync cuando quieras replicar un helecho, una mata de hierba o un carrizo por toda una pradera mediante instantiateModelsToScene. La corteza PBR y las tarjetas de hojas con alpha test mantienen pocos materiales, así que las thin instances se agrupan 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 con la distancia, y la malla de colisión oculta funciona con checkCollisions o Havok PhysicsAggregate. Estas plantas de suelo realistas encajan en juegos en primera y tercera persona, supervivencia, mundos abiertos y simuladores; en móvil empieza por LOD1 o LOD2 y vigila el overdraw de las tarjetas de hojas.

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

Sobre el estilo Realista

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

  • Corteza: mapas de color, normales y rugosidad en el tronco y las ramas.
  • Hojas: tarjetas con alpha test (masked) y texturas de grupos de hojas, no alpha blend: escriben profundidad, no necesitan ordenación y proyectan sombras correctas.
  • Corteza y hojas usan materiales separados, así el número de draw calls es predecible y el instancing por GPU funciona bien.
  • LOD0 es para primeros planos; LOD1–LOD3 eliminan ramas y tarjetas de hojas, y el último nivel es lo bastante ligero para la distancia.

Ideales para juegos en primera y tercera persona, supervivencia, mundos abiertos y simuladores en PC y consola. En móviles, usa LOD1 o LOD2 como nivel más cercano y vigila 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 antiguo), 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.
  • Hojas: 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