FoliMesh

three.js için Low-poly tarzında Çalılar

Low-poly çalılar, bir three.js sahnesinde ağaç gövdeleri arasındaki boşluğu doldurmanın en ucuz yoludur. GLB dosyasını three/addons içindeki GLTFLoader ile yükleyip LOD0–LOD3 ağlarını lod.addLevel(mesh, distance) ile THREE.LOD yapısına verirsiniz; seviyeler her karede kamera mesafesine göre değişir. Buradaki yapraklar alfa kartı değil, tepe rengi taşıyan gerçek geometridir: alpha test ve şeffaf overdraw yok, bu da mobil GPU'larda önemlidir.

Set içinde Bambu, Çalı, Şimşir, Çit bitkisi, Ardıç, Yabani gül, Ahududu ve Fındık var. Flat shading LOD0'ı birkaç yüz ile iki bin üçgen aralığında tutar ve tek bir paylaşılan malzeme sayesinde InstancedMesh ile BatchedMesh uzun çitleri çok az çağrıyla çizebilir. Çarpışma ağını görünmez bırakıp Rapier veya cannon-es'e verin — WebGLRenderer ya da WebGPURenderer üzerinde strateji, şehir kurma ve stilize VR işleri için.

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