Blender 5.3, Gaussian splat'leri yerel olarak içe aktarıp işliyor ancak henüz dışa aktaramıyor
Sergey Sharybin, Blender'a yerel Gaussian splat desteği kazandıran pull request'i 16 Eylül'de birleştirdi. Blender 5.3 artık PLY veya SPZ dosyasındaki bir splat taramasını içe aktarabiliyor, yeni bir türle nokta bulutu olarak saklayabiliyor ve Workbench, EEVEE ve Cycles'ta işleyebiliyor. Alfa dönemi 30 Eylül'e kadar sürecek ve sürümün 10 Kasım'da yayımlanması planlanıyor. Şimdiye kadar Blender'da splat kullanmak; BlendSplat gibi bir eklentiye veya her nokta için kameraya dönük bir dörtgen çizen ve birkaç milyon noktadan sonra çöken bir geometri düğümleri numarasına başvurmak anlamına geliyordu. Pull request, 5.3 sürüm notları.

Blender 5.3 görünüm alanında bir splat taraması; sürüm notlarından. Görsel: Blender Foundation.
Neler eklendi?
Tasarım basit ve bilinmeye değer; çünkü splat sahneye girdikten sonra onunla neler yapabileceğinizi belirliyor. Bir splat, nokta bulutudur. PointCloud veri bloğuna Points ve 3D Gaussian Splats olmak üzere iki değere sahip bir Type seçeneği ekleniyor. İkinci tür, her nokta için ek nitelikler taşıyor: vektör olarak scale, kuaterniyon olarak rotation, temel renk ile opaklığı barındıran radiance:base ve splat'in farklı açılardan farklı görünmesini sağlayan daha yüksek küresel harmonik bantlar için bir radiance:sh_N serisi. Bu bir nokta bulutu olduğu için geometri düğümleri bu verilerin tamamını okuyup yazabiliyor.
İçe aktarma; içe aktarıcının bulduğu niteliklerden bir splat'i algıladığı PLY'yi ve 4'e kadar tüm SPZ sürümlerini kapsıyor. SPZ dosyalarının koordinat sistemi içe aktarılırken Blender'ın yukarı ve ileri yön düzenine dönüştürülüyor. Ancak notlarda, her aracın SPZ'yi spesifikasyona uygun yazmadığı belirtiliyor; dolayısıyla döndürme yapmanız gerekebilir. Geometri düğümleri tarafında yeni bir Set Point Cloud Type düğümü ve yeni bir Import SPZ düğümü bulunuyor. Import PLY düğümü de artık bir splat algıladığında nokta bulutu, aksi hâlde mesh çıktısı veriyor. USD içe aktarma özelliği de OpenUSD'nin standartlaştırdığı Gaussian splat şemasını destekliyor.
İşleme üç motorun tamamında çalışıyor. Varsayılan olarak bir splat, radiance niteliğinin yönettiği bir emisyon gölgelendiricisi üzerinden işleniyor ve bu malzemeyi kendiniz oluşturmanız gerekmiyor. Ancak bunu değiştirebilirsiniz ve yaratıcı sonuçlar doğuran kısım da bu. Niteliği bunun yerine bir Diffuse BSDF'ye bağladığınızda tarama, sahnenizdeki ışıklara tepki veriyor.

Bir taramayı yeniden ışıklandırma: radiance niteliği bir Diffuse BSDF'yi besliyor ve böylece sahne ışığı taranmış masanın üzerine düşüyor. Görsel: Blender Foundation.
Neler eklenmedi?
Dışa aktarma özelliği yok. Bir splat Blender'a giriyor ve orada kalıyor ya da piksel olarak işleniyor. Sürüm notları bunu açıkça belirtiyor ve mevcut diğer sınırlamalar da belgelenmiş durumda: performans henüz ekibin istediği seviyede değil; iş hattı sRGB varsaydığı için düşük opaklığa ve yüksek radiance değerine sahip bir splat, Cycles ve EEVEE'de hatalı işlenebiliyor; ayrıca Apply Transform henüz ölçek, döndürme veya küresel harmonik niteliklerini güncellemediğinden bir dönüşümü splat'e uygulamak veriyi bozuyor. Tasarım görevi, on milyon noktanın rahatça işlenmesini ve sonrasında yüz milyon noktaya doğru ilerlenmesini hedefliyor. Notlar da 5.3'ün bu yolculuğun varış noktası değil, ilk adımı olduğunu dürüstçe belirtiyor.
Tasarım görevi bunun nereye gittiğini de açıklıyor. Splat nokta bulutu türü, sonunda dönüşümlerin ve rig işlemlerinin nesne üzerindeki davranışını değiştirecek. Böylece ilk kez yaygın bir aracın yol haritasında “bir splat'e rig uygulama” hedefini görüyoruz. Format tercihleri de başka yerlerde yürütülen standartlaştırma çalışmalarıyla uyumlu: Niantic'in SPZ'si, Khronos'un KHR_gaussian_splatting glTF uzantısı ve OpenUSD şeması. Tasarım görevi #159470.
Bunun bize etkisi ne?
Splat'ler yaklaşık on sekiz ay içinde bir araştırma demosundan araç zincirine sahip bir formata dönüştü ve bu ay döngü tamamlandı. SuperSplat 3.0, bunları WebGPU üzerinden tarayıcıda düzenliyor. PlayCanvas ve Babylon.js, bunları bir oyun motorunda işliyor. Artık Blender da bunları mesh'lerinizle aynı sahneye yükleyip ışıklandırıyor. Eksik olan, Blender'dan dışarı çıkan ok. Bir splat'i web oyununa taşımanın pratik yolu hâlâ tarama, SuperSplat ve oyun motoru şeklinde ilerliyor; Blender ise iş hattının bir adımı olmaktan çok işleme ve görünüm geliştirme için kullanılıyor.
Blender eklentimizi kullanan içerik üreticileri için en yakın kullanım alanı sahne dekorasyonu. Bir odayı veya aksesuarı tarayın, sahneye yerleştirin, kendi ışıklarınızla aydınlatın ve gerçek bir ortamın önünde sabit görsellerinizi ve dönüş animasyonlarınızı işleyin. Bu taramayı oynanabilir bir oyuna aktarmak ise farklı bir sorun. Teknolojinin mevcut durumunu dürüstçe özetlemek gerekirse splat bir dekor unsurudur: yanından yürüyebilirsiniz ancak onunla çarpışamaz ve ona rig uygulayamazsınız. Blender'ın rig işlemlerini yol haritasına eklemesi, son kısmın değişebileceğine dair ilk işaret.
Genel olarak oyun geliştirme çalışmalarınızda Blender kullanıyorsanız oyun sanatçıları için Blender 5 rehberimiz 5.x serisinde nelerin değiştiğini açıklıyor. Eklentiler rehberi ise hangi işler için hâlâ eklenti gerektiğini ve hangileri için gerekmediğini listeliyor.
Kaynaklar
- Blender: PR #163102, G/Ç ve işleme için Gaussian splat entegrasyonu
- Blender: 5.3 sürüm notları, İşleme, 3D Gaussian Splat'ler
- Blender: tasarım görevi #159470, Gaussian splat entegrasyonu
- Radiance Fields: Blender 5.3, yerel 3D Gaussian splat içe aktarma ve işleme desteği sunacak
- 80.lv: Blender 5.3 yerel 3D Gaussian splat desteğine kavuşuyor