FoliMesh

Rocks for Babylon.js

Babylon.js loads these rock GLBs through the glTF loader in @babylonjs/loaders — ImportMeshAsync, or LoadAssetContainerAsync when you need many copies via instantiateModelsToScene. Every asset ships LOD0–LOD3, so wiring lod0.addLODLevel(30, lod1) and addLODLevel(80, lod2) keeps cliff walls and boulder fields cheap in the browser. MASK foliage maps become alpha-tested PBRMaterial, and each model's hidden collision mesh works with checkCollisions or Havok's PhysicsAggregate.

The seven-piece set covers Pebbles, Stone, Boulder, Rock Slab, Rock Scatter, Cliff and Cliff with Boulders — pivots sit at the base for quick alignment to terrain. For dense scree fields, thinInstanceAdd with matrices renders one draw call per mesh, while createInstance suits boulders that need picking. New seeds give endless variations for realistic and low-poly scenes alike.

Models
7
Levels of detail
LOD0 – LOD3
Formats
GLB · FBX · OBJ

Using it in Babylon.js

Babylon.js loads GLB through the glTF loader in @babylonjs/loaders: ImportMeshAsync (or SceneLoader.ImportMeshAsync in older code), or LoadAssetContainerAsync when you need many copies via instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) and so on; passing null as the mesh hides the object beyond that distance.
  • Thousands of trees: thin instances (thinInstanceAdd with matrices) render in one draw call per mesh; use regular createInstance when each tree needs its own picking or logic.
  • Leaves: glTF MASK maps to alpha-tested PBRMaterial (MATERIAL_ALPHATEST).
  • Collision mesh: set isVisible = false and use it with checkCollisions or Havok physics (PhysicsAggregate with a MESH shape).

Packs

Other categories

Same in other styles

Same for other engines