FoliMesh

three.js için Gerçekçi tarzında Su altı

PBR kabuk ve yaprak dokuları, normal map’ler ve alpha test yapraklarla gerçekçi bitki örtüsü. Web için hafif GLB bitki örtüsü: GLTFLoader ile yükleyin, LOD mesh'lerini THREE.LOD'a bağlayın ve sahnenizde bir orman olsun. Bu grup, deniz tabanları, lagünler ve sığ sular için su altı bitkilerini ve resif formlarını kapsar: geyik boynuzu mercanı, kırmızı mercan, beyin mercanı ve deniz yelpazeleri; ayrıca deniz yosunu, yosun ve nilüferler. Birlikte kullanıldığında bir resifin ya da korunaklı bir göl tabanının katmanlı görünümünü oluştururlar. Her model LOD0'dan LOD3'e kadar seviyeler, çarpışma verisi ve taban noktasında pivot ile gelir; böylece mercanlar deniz tabanına bağlı kalır ve yüzmez. Deniz yosunu ve yosunlar yumuşak hareket için sallanma ağırlıklarına sahiptir. Her seed farklı bir dallanma biçimi ya da yaprak düzeni üretir; modeller Unity, Unreal Engine, Godot ve Bevy için GLB, FBX ve OBJ olarak dışa aktarılır. Bu seçkide 7 oyuna hazır model var. Her modelde LOD0–LOD3, çarpışma ve tabanda pivot bulunur; her yeni seed aynı türün yeni bir varyasyonunu verir.

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

Gerçekçi tarzı hakkında

Gerçekçi modeller, glTF 2.0, Unity, Unreal, Godot ve three.js’in doğrudan okuduğu PBR metal/roughness iş akışını kullanır.

  • Kabuk: gövde ve dallarda renk, normal ve pürüzlülük haritaları.
  • Yapraklar: yaprak kümesi dokulu alpha test (masked) kartlar; alpha blend değil, bu yüzden derinlik yazar, sıralama gerektirmez ve doğru gölge düşürür.
  • Kabuk ve yapraklar ayrı materyal kullanır; draw call sayısı öngörülebilir kalır ve GPU instancing sorunsuz çalışır.
  • LOD0 yakın plan içindir; LOD1–LOD3 dalları ve yaprak kartlarını azaltır, son seviye uzak mesafe için yeterince hafiftir.

PC ve konsolda birinci ve üçüncü şahıs oyunlar, hayatta kalma, açık dünya ve simülatörler için idealdir. Mobilde en yakın seviye olarak LOD1 veya LOD2 kullanın ve yaprakların overdraw’ına dikkat edin.

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.

Diğer kategoriler

Diğer tarzlarda aynısı

Diğer motorlar için aynısı