FoliMesh

Bäume im Stil Realistisch für PlayCanvas

Realistische Bäume kommen als GLB-Container-Assets in PlayCanvas: Datei in den Editor ziehen und man erhält ein Template mit vollständiger Hierarchie; im Code lädt app.assets.loadFromUrl(url, 'container') das Asset, instantiateRenderEntity() erzeugt die Entität. Jeder Baum bringt LOD0–LOD3, eine Mesh-Kollision mit statischem Rigidbody und einen Pivot am Stammfuß mit.

Rinde nutzt PBR-Maps für Grundfarbe, Normale und Rauheit; Blätter sind alpha-getestete Karten, schreiben Tiefe, brauchen keine Sortierung und werfen korrekte Schatten. Da PlayCanvas keine LOD-Komponente besitzt, schaltet ein kurzes Skript die LOD0–LOD3-Entitäten nach Kameradistanz um; Batch Groups oder setInstancing() bündeln Wälder aus Eiche, Waldkiefer, Fichte und Birke. Passend für Survival, Open World und Simulatoren.

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

PlayCanvas behandelt GLB als Container-Asset. Im Editor GLB hochladen (FBX wird beim Import in GLB konvertiert) und ein Template mit der Modellhierarchie erhalten; in reinem Engine-Code app.assets.loadFromUrl(url, 'container') und asset.resource.instantiateRenderEntity() verwenden.

  • LOD: Eine eingebaute LOD-Komponente gibt es nicht; ein kleines Skript vergleicht den Kameraabstand und schaltet die Render-Komponenten der Entities LOD0–LOD3 um.
  • Statische Bäume können eine Batch Group teilen, um Draw Calls zusammenzufassen; für große Wälder Hardware-Instancing mit meshInstance.setInstancing() und einem Vertex Buffer der Transformationen nutzen.
  • Laub: glTF-MASK setzt alphaTest am StandardMaterial; für doppelseitige Blätter Cull Mode none verwenden.
  • Kollisionsmesh: Collision-Komponente vom Typ Mesh plus statischer Rigidbody, Render-Komponente deaktiviert.

Pakete

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines