FoliMesh

Rocas estilo Low-poly para Babylon.js

Las rocas low-poly son el contenido más liviano para una escena de Babylon.js: nada de texturas ni de trabajo de UV, solo caras planas y colores de vértice (COLOR_0). El GLB se importa con ImportMeshAsync desde @babylonjs/loaders, o con LoadAssetContainerAsync e instantiateModelsToScene si vas a repetir un acantilado, una losa de roca y un montón de piedras a lo largo del nivel.

La selección trae 7 modelos: Guijarros, Piedra, Roca grande, Losa de roca, Montón de piedras, Acantilado y Acantilado con rocas. Todos con LOD0–LOD3, colisión y pivote en la base. Se enlazan con lod0.addLODLevel(30, lod1) y addLODLevel(80, lod2); pasar null esconde el mesh por completo. Las thin instances (thinInstanceAdd) dejan cientos de rocas en un solo draw call por mesh, y un mesh de colisión invisible (isVisible = false) sirve para checkCollisions o para un PhysicsAggregate de Havok. El presupuesto en LOD0 va de unos cientos a dos mil triángulos.

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

Acerca del estilo Low-poly

El low poly es el estilo más económico para renderizar y para publicar.

  • Sombreado plano: una normal por cara da el look facetado nítido, sin mapas de normales.
  • El color está en los vértices (glTF COLOR_0): sin texturas, sin trabajo de UV y casi sin memoria de video.
  • El follaje es geometría sólida, no tarjetas con alfa: sin alpha test ni overdraw transparente, algo clave en GPU de celulares.
  • Un solo material sirve para todos los modelos de la escena, así que los árboles se agrupan e instancian fácilmente.
  • Los presupuestos típicos van de unos cientos a un par de miles de triángulos en LOD0.

Funciona muy bien en celulares, WebGL/WebGPU, VR, estrategia, city builders y juegos indie estilizados. En el motor, usa un material que multiplique por el color de vértice.

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

Packs

Otras categorías

Lo mismo en otros estilos

Lo mismo para otros motores