FoliMesh

PlayCanvas için Low-poly tarzında Palmiyeler

PlayCanvas, GLB'yi container asset olarak alır: beş palmiye modeli editörde hiyerarşisiyle birlikte bir template'e dönüşür ve instantiateRenderEntity() ile örneklenir. Fasetalı Low-poly görünüm rengi vertex renklerinde (COLOR_0) saklar; doku yoktur, video belleği neredeyse hiç kullanılmaz. Yapraklar katı geometri olduğu için alpha test ve şeffaf overdraw da gerekmez.

LOD0'da birkaç yüz ile iki bin arası üçgen bütçesi ve her modelde LOD0–LOD3, tarayıcı sahneleri için uygundur: Hindistan cevizi palmiyesi, Hurma palmiyesi, Kanarya hurması, Washingtonia ve Cüce palmiye plajlar, adalar ve vahalar için. PlayCanvas'ta LOD bileşeni yoktur, bu yüzden kısa bir script kamera mesafesine göre render bileşenlerini değiştirir; tekrar eden palmiyeler batch group paylaşır ya da meshInstance.setInstancing() kullanır. Çarpışma, statik rigidbody'li mesh tipi collision bileşenidir.

Modeller
5
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ı