FoliMesh

Bäume für three.js

Jeder Baum ist eine leichte GLB-Datei, die du mit GLTFLoader aus three/addons lädst; DRACOLoader oder KTX2Loader brauchst du nur, wenn eine Datei diese Erweiterungen wirklich nutzt. Alle Modelle bringen LOD0–LOD3: Die vier Meshes übergibst du an THREE.LOD und schaltest sie mit lod.addLevel(mesh, distance) — danach wählt three.js die Stufe jeden Frame nach Kameraabstand, unter WebGLRenderer wie WebGPURenderer. Laub mit glTF alphaMode MASK wird zu material.alphaTest, zweiseitige Materialien stehen bereits auf side: THREE.DoubleSide.

Die 14 Bäume decken Wald, Park und Dorf ab: Eiche, Waldkiefer, Fichte, Birke, Trauerweide, Espe, Ahorn und Pappel für gemäßigte Karten, Olivenbaum, Zypresse und Pinie für den Mittelmeerraum, Akazie und Affenbrotbaum für trockene Biome, dazu ein Toter Baum. Der Pivot sitzt an der Basis, das Aufsetzen aufs Terrain ist also eine Positionsänderung. Tausende Kopien zeichnet InstancedMesh, BatchedMesh mischt Varianten in einem Aufruf; THREE.LOD gilt nicht pro Instanz, also gruppiere Instanzen pro Chunk nach Stufe. Das unsichtbare Kollisionsmesh geht an Rapier oder cannon-es.

Modelle
14
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.

Pakete

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines