FoliMesh

PlayCanvas için Gerçekçi tarzında Kayalar

PlayCanvas bu kayaları GLB konteyner asset olarak yükler: dosyayı editöre bıraktığınızda model hiyerarşisini içeren bir template alırsınız; sadece motor kodunda app.assets.loadFromUrl(url, 'container') ve asset.resource.instantiateRenderEntity() kullanılır. Seçkide yedi gerçekçi model var — Çakıl taşları, Taş, Kaya, Kaya levha, Taş yığını, Uçurum ve Kayalıklı uçurum — her biri dört LOD seviyesine, tabanda pivot noktasına ve GLB, FBX veya OBJ dışa aktarımına sahip.

PlayCanvas'ta hazır LOD bileşeni yok; kısa bir script kamera mesafesini karşılaştırıp LOD0–LOD3 varlıklarının render bileşenlerini açıp kapatır. Sabit kayalar bir batch group paylaşabilir, tekrarlanan yığınlar ise meshInstance.setInstancing() ile donanım instancing kullanır. PBR metal/roughness haritaları katmanları, çatlakları ve yosunu taşır. Mesh tipi collision bileşeni ve statik rigidbody ekleyip render'ı kapatınca uçurumlarda yürünebilir. Tarayıcıda survival, açık dünya ve birinci şahıs oyunlarına uyar.

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.

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ı