FoliMesh

Underwater for three.js

Light GLB vegetation for the web: load it with GLTFLoader, wire the LOD meshes into THREE.LOD and your scene has a forest. This group covers underwater plants and reef forms for seabeds, lagoons and shallow water: staghorn coral, red coral, brain coral and sea fans, plus kelp, seaweed and water lilies. Used together, they create the layered look of a reef or a sheltered lake bottom. Each model ships with LOD0 to LOD3, collision and a pivot at the base, so corals stay anchored to the seabed and do not float. Kelp and seaweed carry sway weights for gentle movement. Every seed gives a different branching shape or frond arrangement, and the models export as GLB, FBX and OBJ for Unity, Unreal Engine, Godot and Bevy. 7 game-ready models in this selection. Every model has LOD0–LOD3, collision and a pivot at the base, and each new seed gives a new variation of the same species.

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

Using it in three.js

In three.js, load GLB with GLTFLoader from three/addons; add DRACOLoader or KTX2Loader only if a file uses those extensions.

  • Distance LOD: THREE.LOD with lod.addLevel(mesh, distance) for LOD0–LOD3; it switches levels by camera distance every frame.
  • Forests: InstancedMesh draws thousands of copies in one draw call, and BatchedMesh mixes several tree variations. THREE.LOD does not apply per instance, so group instances by LOD per chunk yourself.
  • Leaves: glTF alphaMode MASK becomes material.alphaTest, and double-sided materials get side: THREE.DoubleSide automatically.
  • Collision mesh: keep it invisible and pass it to a physics library such as Rapier or cannon-es.

Works with both WebGLRenderer and WebGPURenderer.

Other categories

Same in other styles

Same for other engines