FoliMesh

Rocas estilo Realista para Babylon.js

Babylon.js carga estas rocas GLB directamente con el cargador glTF de @babylonjs/loaders: ImportMeshAsync para un peñasco suelto y LoadAssetContainerAsync con instantiateModelsToScene cuando un montón de piedras necesita cientos de copias. La piedra realista usa el flujo PBR metal/roughness que Babylon.js muestra tal cual; los mapas de normales aportan estratos, grietas y musgo.

La selección reúne 7 objetos: Guijarros, Piedra, Peñasco, Losa de roca, Montón de piedras, Acantilado y Acantilado con peñascos. Todos llevan LOD0–LOD3, colisión y pivote en la base, algo que encaja en supervivencia, mundos abiertos y simuladores. Los niveles se encadenan con lod0.addLODLevel(30, lod1) y addLODLevel(80, lod2); null oculta la malla a partir de esa distancia. Al ser estáticas, las thin instances (thinInstanceAdd) dibujan toda una pedrera en una sola llamada por malla, y la malla de colisión invisible funciona con checkCollisions o la física Havok (PhysicsAggregate).

Modelos
7
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).

Packs

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores