FoliMesh

Felsen im Stil Realistisch für Babylon.js

Babylon.js lädt diese GLB-Felsen direkt über den glTF-Loader aus @babylonjs/loaders: ImportMeshAsync für einen einzelnen Felsblock, LoadAssetContainerAsync mit instantiateModelsToScene, wenn ein Steinhaufen hunderte Kopien braucht. Realistischer Stein nutzt den PBR-Metal/Roughness-Workflow, den Babylon.js unverändert darstellt; Normal Maps tragen Schichtungen, Risse und Moos.

Die Auswahl umfasst 7 Objekte — Kieselsteine, Stein, Felsblock, Felsplatte, Steinhaufen, Felswand und Felswand mit Felsbrocken. Jedes hat LOD0–LOD3, Kollision und den Pivot an der Basis, was für Survival-Karten, offene Welten und Simulatoren passt. Stufen werden mit lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) verkettet; null blendet das Mesh dahinter aus. Felsen sind statisch, deshalb zeichnen Thin Instances (thinInstanceAdd) ein ganzes Geröllfeld in einem Draw Call pro Mesh, und das unsichtbare Kollisionsmesh arbeitet mit checkCollisions oder Havok PhysicsAggregate.

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

Ü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

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines