FoliMesh

3D-Asset-Packs im Stil Realistisch für Babylon.js

Realistische Packs dieser Auswahl kommen als GLB: In Babylon.js lädt man einen Baum über ImportMeshAsync aus @babylonjs/loaders, oder LoadAssetContainerAsync, wenn ein Wald aus vielen Kopien per instantiateModelsToScene entsteht. Alle sieben Packs — Kostenlose Probe, Gemäßigter Wald, Nadelwald, Tropenstrand, Savanne & Trockengebiete, Wüsten-Kit und Felsen & Klippen — liefern LOD0–LOD3, Kollision und einen Pivot an der Basis.

Rinde und Blattkarten nutzen getrennte PBR-Materialien: maskierte Blatttexturen werden zu einem alpha-getesteten PBRMaterial, schreiben also Tiefe, brauchen kein Sortieren und werfen korrekte Schatten. LOD-Stufen verkettet man mit lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2); null blendet das Mesh dahinter aus. Tausende Stämme laufen über thin instances in einem Draw Call. Passend für Survival, Open Worlds und Simulationen; auf Mobil startet man bei LOD1 und achtet auf Blatt-Overdraw.

Über den Stil Realistisch

Realistische Modelle nutzen den PBR-Workflow Metal/Roughness, den glTF 2.0, Unity, Unreal, Godot und three.js direkt lesen.

  • Rinde: Base-Color-, Normal- und Roughness-Maps auf Stamm und Ästen.
  • Blätter: alpha-getestete (Masked) Cards mit Blattbüschel-Texturen statt Alpha-Blending – sie schreiben Tiefe, brauchen keine Sortierung und werfen korrekte Schatten.
  • Rinde und Laub haben getrennte Materialien; die Zahl der Draw Calls bleibt planbar und GPU-Instancing funktioniert problemlos.
  • LOD0 ist für die Nahansicht; LOD1–LOD3 entfernen Äste und Blatt-Cards, die letzte Stufe ist leicht genug für große Entfernungen.

Ideal für First- und Third-Person-Spiele, Survival, Open Worlds und Simulationen auf PC und Konsole. Auf Mobilgeräten LOD1 oder LOD2 als nächste Stufe verwenden und den Overdraw des Laubs im Blick behalten.

Verwendung in Babylon.js

Babylon.js lädt GLB über den glTF-Loader aus @babylonjs/loaders: ImportMeshAsync (oder SceneLoader.ImportMeshAsync in älterem Code) bzw. LoadAssetContainerAsync, wenn viele Kopien per instantiateModelsToScene nötig sind.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) usw.; null als Mesh blendet das Objekt jenseits dieser Distanz aus.
  • Tausende Bäume: Thin Instances (thinInstanceAdd mit Matrizen) rendern mit einem Draw Call pro Mesh; normale createInstance nutzen, wenn jeder Baum eigenes Picking oder eigene Logik braucht.
  • Laub: glTF-MASK wird zu einem alpha-getesteten PBRMaterial (MATERIAL_ALPHATEST).
  • Kollisionsmesh: isVisible = false setzen und mit checkCollisions oder Havok-Physik (PhysicsAggregate mit MESH-Shape) nutzen.

Pakete

Dasselbe in anderen Stilen

Dasselbe für andere Engines