FoliMesh

Palmen im Stil Realistisch für Babylon.js

Babylon.js lädt diese Palmen als GLB über den glTF-Loader in @babylonjs/loaders: ImportMeshAsync für einzelne Bäume oder LoadAssetContainerAsync, wenn viele Kopien über instantiateModelsToScene entstehen sollen. Kokospalme, Dattelpalme, Kanarische Dattelpalme, Washingtonia und Zwergpalme kommen mit LOD0–LOD3, sodass sich lod0.addLODLevel(30, lod1) und addLODLevel(80, lod2) verketten lassen; null blendet das Objekt dahinter aus. Der realistische Stil nutzt den PBR-Metal/Roughness-Workflow: getrennte Materialien für Rinde und Blätter, Normal- und Roughness-Maps am Stamm und alpha-getestete Blattkarten (MATERIAL_ALPHATEST), die Tiefe schreiben und korrekte Schatten werfen. Für Strände, Inseln und Oasen mit tausenden Stämmen halten Thin Instances (thinInstanceAdd) alles bei einem Draw Call pro Mesh; das unsichtbare Kollisionsmesh arbeitet mit checkCollisions oder Havok PhysicsAggregate. Auf Mobilgeräten ab LOD1 starten.

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

Pakete

Weitere Kategorien

Ü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.

Dasselbe in anderen Stilen

Dasselbe für andere Engines