FoliMesh

PlayCanvas için Low-poly tarzında Zemin bitkileri

PlayCanvas, GLB'yi container tipi asset olarak işler: Eğrelti otu, Çim tutamı veya Kamış'ı Editor'e yüklediğinizde model hiyerarşisini içeren bir template elde edersiniz; editörsüz kodda app.assets.loadFromUrl(url, 'container') ve asset.resource.instantiateRenderEntity() kullanılır. Yerleşik bir LOD bileşeni olmadığı için kısa bir script kamera mesafesini karşılaştırıp LOD0–LOD3 varlıklarının render bileşenlerini açar kapatır. LOD0'da modeller birkaç yüz ile iki bin üçgen arasında kalır.

Low-poly zemin bitkilerinde renk vertex renklerinde (glTF COLOR_0) durur ve flat shading kullanılır; doku yok, UV çalışması yok, video belleği neredeyse hiç harcanmaz. Yapraklar alpha kart değil katı geometridir: alpha test ve şeffaf overdraw yoktur, bu da mobil GPU'larda önemlidir. Tek bir materyal tüm bitkilere yetebilir; böylece eğrelti otları, çimler ve kamışlar batch group ile birleşir veya instancing ile çizilir.

Modeller
3
Detay seviyeleri
LOD0 – LOD3
Formatlar
GLB · FBX · OBJ

Low-poly tarzı hakkında

Low-poly bitki örtüsü, hem render hem de build boyutu açısından en ucuz stildir.

  • Düz gölgelendirme: yüz başına tek normal net, köşeli görünümü verir; normal map yoktur.
  • Renk vertex’lerde saklanır (glTF COLOR_0): doku yok, UV işi yok, neredeyse hiç video belleği yok.
  • Yapraklar alpha kart değil, katı geometridir: alpha test ve şeffaf overdraw yoktur; bu, mobil GPU’larda önemlidir.
  • Sahnedeki tüm modeller tek bir materyali paylaşabilir, böylece ağaçlar kolayca batch’lenir ve instance’lanır.
  • LOD0 için tipik bütçe birkaç yüz ile birkaç bin üçgen arasındadır.

Mobil, WebGL/WebGPU, VR, strateji, şehir kurma ve stilize bağımsız oyunlar için uygundur. Motorda vertex rengiyle çarpan bir materyal kullanın.

PlayCanvas içinde kullanım

PlayCanvas, GLB’yi bir container asset olarak ele alır. Editörde GLB yükleyin (FBX içe aktarımda GLB’ye dönüştürülür) ve model hiyerarşisini içeren bir template elde edin; yalnızca motor kodunda app.assets.loadFromUrl(url, 'container') ve asset.resource.instantiateRenderEntity() kullanın.

  • LOD: Yerleşik bir LOD bileşeni yoktur; küçük bir script kamera mesafesini karşılaştırır ve LOD0–LOD3 entity’lerinin render bileşenlerini açıp kapatır.
  • Statik ağaçlar draw call’ları birleştirmek için bir batch group paylaşabilir; büyük ormanlarda meshInstance.setInstancing() ve dönüşüm içeren bir vertex buffer ile donanım instancing kullanın.
  • Yapraklar: glTF MASK, StandardMaterial’de alphaTest’i ayarlar; çift yüzlü yapraklar için cull mode none kullanın.
  • Çarpışma mesh’i: mesh tipinde collision bileşeni ve statik bir rigidbody; render bileşeni kapalı.

Diğer kategoriler

Diğer tarzlarda aynısı

Diğer motorlar için aynısı