FoliMesh

three.js için Low-poly tarzında Ağaçlar

Low-poly ağaçlar three.js'e düz GLB olarak gelir: three/addons içindeki GLTFLoader'ı dosyaya yöneltin, mesh zaten LOD0–LOD3 taşır. Seviyeleri lod.addLevel(mesh, distance) ile bağlayın; THREE.LOD her karede kamera mesafesine göre geçiş yapar. Flat shading ve vertex renkleri dokuların yerini alır, bu yüzden tek malzeme Meşe, Sarıçam, Ladin, Huş ve Salkım söğüt için yeter.

Yapraklar katı geometri: alpha testi ve şeffaf overdraw yok, bu mobil GPU'larda önemli. InstancedMesh içinde binlerce kopya tek draw call eder; BatchedMesh türleri karıştırır. LOD örnek başına çalışmaz, bu yüzden örnekleri chunk'lara göre gruplayın. Görünmez collision mesh'i Rapier veya cannon-es'e verin. LOD0'da birkaç yüz ile iki bin üçgen arası.

Modeller
14
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.

three.js içinde kullanım

three.js’te GLB’yi three/addons içindeki GLTFLoader ile yükleyin; DRACOLoader veya KTX2Loader’ı yalnızca dosya bu uzantıları kullanıyorsa ekleyin.

  • Mesafeye göre LOD: LOD0–LOD3 için lod.addLevel(mesh, distance) ile THREE.LOD; seviye her karede kamera mesafesine göre değişir.
  • Ormanlar: InstancedMesh binlerce kopyayı tek draw call’da çizer, BatchedMesh ise birkaç ağaç varyasyonunu karıştırır. THREE.LOD instance bazında çalışmaz; instance’ları her chunk için LOD’a göre kendiniz gruplayın.
  • Yapraklar: glTF alphaMode MASK, material.alphaTest’e dönüşür; çift yüzlü materyaller otomatik olarak side: THREE.DoubleSide alır.
  • Çarpışma mesh’i: görünmez tutun ve Rapier veya cannon-es gibi bir fizik kütüphanesine verin.

Hem WebGLRenderer hem de WebGPURenderer ile çalışır.

Paketler

Diğer kategoriler

Diğer tarzlarda aynısı

Diğer motorlar için aynısı