FoliMesh

3D-Asset-Packs für PlayCanvas

PlayCanvas lädt GLB als Container-Asset: Im Editor entsteht daraus ein Template mit der Modellhierarchie, im reinen Engine-Code nutzt man app.assets.loadFromUrl(url, 'container') und asset.resource.instantiateRenderEntity(). Die acht Packs — Gratis-Sampler, Laubwald, Nadelwald, Tropenstrand, Wüsten-Kit, Felsen & Klippen — liefern je Modell LOD0–LOD3, eine Kollisionsmesh und den Pivot an der Basis.

Eine LOD-Komponente gibt es in PlayCanvas nicht; ein kurzes Skript vergleicht die Kameradistanz und schaltet die Render-Komponenten von LOD0–LOD3 um. Statische Bäume lassen sich in einer Batch Group bündeln, große Wälder laufen über Hardware-Instancing mit meshInstance.setInstancing(). Blätter: glTF MASK setzt alphaTest, für zweiseitiges Laub cull mode none. Export als GLB, FBX oder OBJ, jeder neue Seed ergibt eine neue Variante.

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

Dasselbe in anderen Stilen

Dasselbe für andere Engines