FoliMesh

Bodenvegetation für three.js

Farn, Grasbüschel und Schilf kommen als GLB: ein Aufruf von GLTFLoader aus three/addons genügt, und die Modelle stehen in der Szene. Die Stufen LOD0–LOD3 lassen sich über lod.addLevel(mesh, distance) in THREE.LOD einhängen, das pro Frame nach Kameradistanz umschaltet; DRACOLoader oder KTX2Loader sind nur nötig, wenn eine Datei diese Erweiterungen tatsächlich nutzt.

Für Wiesen und Waldböden zeichnet InstancedMesh tausende Kopien in einem einzigen Draw Call, BatchedMesh mischt Varianten. Da THREE.LOD nicht pro Instanz greift, gruppiert man Instanzen je Chunk nach LOD. glTF alphaMode MASK wird zu material.alphaTest, doppelseitige Blätter erhalten side: THREE.DoubleSide. Die unsichtbare Kollisionsmesh geht an Rapier oder cannon-es, und alles läuft mit WebGLRenderer wie WebGPURenderer.

Modelle
3
Detailstufen
LOD0 – LOD3
Formate
GLB · FBX · OBJ

Verwendung in three.js

In three.js GLB mit dem GLTFLoader aus three/addons laden; DRACOLoader oder KTX2Loader nur ergänzen, wenn eine Datei diese Extensions nutzt.

  • Distanz-LOD: THREE.LOD mit lod.addLevel(mesh, distance) für LOD0–LOD3; die Stufe wechselt jeden Frame nach Kameraabstand.
  • Wälder: InstancedMesh zeichnet Tausende Kopien in einem Draw Call, BatchedMesh mischt mehrere Baumvarianten. THREE.LOD wirkt nicht pro Instanz, daher Instanzen pro Chunk selbst nach LOD gruppieren.
  • Laub: glTF-alphaMode MASK wird zu material.alphaTest, doppelseitige Materialien erhalten automatisch side: THREE.DoubleSide.
  • Kollisionsmesh: unsichtbar lassen und an eine Physik-Bibliothek wie Rapier oder cannon-es übergeben.

Funktioniert mit WebGLRenderer und WebGPURenderer.

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines