FoliMesh

Babylon.js için Kaktüs ve sukulentler

Babylon.js'te çöl sahneleri genelde doku yüzünden değil, aynı anda yüklenen bitki sayısı yüzünden takılır. Beş model — Saguaro, Fıçı kaktüsü, Dikenli armut, Agav ve Aloe — GLB olarak gelir ve @babylonjs/loaders üzerinden yüklenir: tek bitki için ImportMeshAsync, aynı türü haritaya yüzlerce kez koyacaksanız instantiateModelsToScene ile LoadAssetContainerAsync.

Her modelde LOD0–LOD3, çarpışma ağı ve tabanda pivot bulunur: lod0.addLODLevel(30, lod1) ve addLODLevel(80, lod2) kamera uzaklaştıkça geometriyi düşürür, null değeri uzaktaki bitkiyi tamamen gizler. Yaprak ve diken kartları glTF MASK kullanır; Babylon.js bunu alpha testli PBRMaterial olarak okur. thinInstanceAdd ile binlerce agav mesh başına tek draw call'a sığar, her bitkinin seçilebilmesi gerekiyorsa createInstance devreye girer. Görünmez çarpışma ağı checkCollisions veya Havok PhysicsAggregate ile çalışır.

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

Babylon.js içinde kullanım

Babylon.js, GLB’yi @babylonjs/loaders içindeki glTF yükleyicisiyle yükler: ImportMeshAsync (eski kodda SceneLoader.ImportMeshAsync) ya da instantiateModelsToScene ile çok sayıda kopya gerektiğinde LoadAssetContainerAsync.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) vb.; mesh yerine null vermek nesneyi o mesafeden sonra gizler.
  • Binlerce ağaç: thin instance’lar (thinInstanceAdd ve matrisler) mesh başına tek draw call ile çizilir; her ağacın kendi picking’i veya mantığı gerekiyorsa normal createInstance kullanın.
  • Yapraklar: glTF MASK, alpha test’li bir PBRMaterial’e (MATERIAL_ALPHATEST) dönüşür.
  • Çarpışma mesh’i: isVisible = false yapın ve checkCollisions veya Havok fiziğiyle (MESH şekilli PhysicsAggregate) kullanın.

Paketler

Diğer kategoriler

Diğer tarzlarda aynısı

Diğer motorlar için aynısı