FoliMesh

Bodenvegetation im Stil Realistisch für PlayCanvas

PlayCanvas lädt GLB als Container-Asset: Datei in den Editor ziehen oder im Code app.assets.loadFromUrl(url, 'container') aufrufen und die Render-Entity über asset.resource.instantiateRenderEntity() erzeugen. Jedes Modell bringt LOD0–LOD3 mit; da die Engine keine LOD-Komponente hat, genügt ein kurzes Skript, das die Kameradistanz vergleicht und die Render-Komponenten umschaltet.

Realistisch heißt hier PBR Metal/Roughness: getrennte Materialien für Rinde (Basisfarbe, Normal, Roughness) und Blätter als alpha-getestete Masked-Karten — für zweiseitige Blätter cull mode none setzen. Farn, Grasbüschel und Schilf passen zu Ego-Shootern, Survival und Open Worlds. Statische Bestände in eine Batch Group legen, große Flächen per meshInstance.setInstancing() instanzieren. Kollision: Mesh-Komponente plus statischer Rigidbody ohne Rendering.

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

Weitere Kategorien

Dasselbe in anderen Stilen

Dasselbe für andere Engines