FoliMesh

Bodenvegetation im Stil Low-Poly für PlayCanvas

PlayCanvas behandelt GLB als Container-Asset: Farn, Grasbüschel oder Schilf in den Editor laden und man erhält ein Template mit der Modellhierarchie; im reinen Engine-Code lädt app.assets.loadFromUrl(url, 'container') das Asset, asset.resource.instantiateRenderEntity() erzeugt die Render-Entity. Eine LOD-Komponente ist nicht eingebaut, deshalb schaltet ein kurzes Skript anhand der Kameradistanz die Render-Komponenten der Entities LOD0–LOD3 um. LOD0 liegt im Bereich von ein paar Hundert bis rund zweitausend Dreiecken.

Low-Poly-Bodenvegetation trägt ihre Farbe in Vertexfarben (glTF COLOR_0) und arbeitet mit Flat Shading: keine Texturen, keine UV-Arbeit, kaum belegter Videospeicher. Die Blätter sind Volumenkörper statt Alpha-Karten, also kein Alpha-Test und kein transparentes Overdraw — das zählt auf mobilen GPUs. Ein einziges Material genügt für alle Modelle, weshalb sich Farn, Gras und Schilf leicht in einer Batch Group bündeln oder per Hardware-Instancing zeichnen lassen.

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

Über den Stil Low-Poly

Low-Poly-Vegetation ist der günstigste Stil – beim Rendern wie bei der Build-Größe.

  • Flat Shading: eine Normale pro Fläche ergibt den klaren Facetten-Look, Normal Maps entfallen.
  • Die Farbe liegt in den Vertex-Farben (glTF COLOR_0): keine Texturen, keine UV-Arbeit, kaum Grafikspeicher.
  • Das Laub ist echte Geometrie statt Alpha-Cards: kein Alpha-Test und kein transparenter Overdraw – wichtig für mobile GPUs.
  • Ein einziges Material reicht für alle Modelle einer Szene, Bäume lassen sich daher leicht batchen und instanzieren.
  • Übliche Budgets für LOD0 liegen zwischen einigen hundert und rund zweitausend Dreiecken.

Passt zu Mobile, WebGL/WebGPU, VR, Strategie, Aufbauspielen und stilisierten Indie-Games. In der Engine ein Material verwenden, das mit der Vertex-Farbe multipliziert.

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