FoliMesh

PlayCanvas için Low-poly tarzında 3D modeller

PlayCanvas, GLB'yi container asset olarak yükler: bir FoliMesh dosyasını editöre sürükleyin (FBX içe aktarımda dönüştürülür) ve modelin tüm hiyerarşisini içeren bir template elde edin; yalnızca motor kodunda app.assets.loadFromUrl(url, 'container') ve asset.resource.instantiateRenderEntity() kullanılır.

Motorda yerleşik bir LOD bileşeni yok, bu yüzden kısa bir script kamera mesafesini karşılaştırıp LOD0–LOD3 varlıklarının render bileşenlerini açıp kapatır; statik ağaçlar tek bir batch group paylaşır, büyük ormanlar ise meshInstance.setInstancing() ile hardware instancing kullanır. Flat shading ve vertex renkleri sayesinde doku ve UV çalışması yoktur: 42 modellik setten bir Meşe, bir Saguaro veya bir Bambu tek bir malzemeyi paylaşır ve bu malzeme vertex rengiyle çarpılır. LOD0'da birkaç yüz ile iki bin üçgen arasındaki bütçeler mobil WebGL, VR ve stilize strateji ya da şehir kurma oyunlarına uygundur.

Modeller
42
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ı.

Paketler

Diğer kategoriler

Diğer tarzlarda aynısı

Diğer motorlar için aynısı