Kısaca
- RVT, gölgelendirme verisini GPU ile çalışma anında üretip geniş alanlar için önbelleğe alır.
- Kurulumda RVT varlığı, RVT Volume ve veriyi yazıp okuyan materyaller birlikte kullanılır.
- Landscape, Landscape Splines ve statik mesh’ler RVT için uygun adaylar arasındadır.
- RVT ile SVT farklı ihtiyaçlara yöneliktir; SVT veriyi diskten yükler, RVT veriyi çalışma anında üretir.
Bu rehberde ne öğreneceksiniz?
Runtime Virtual Texturing (RVT), Unreal Engine’de dokuları geleneksel eşlemeye benzer biçimde kullanan; ancak texel verisini GPU ile çalışma anında üreten bir yöntemdir. Geniş alanlardaki gölgelendirme verisini önbelleğe alması, onu Landscape yüzeyleri, araziye uyumlu spline’lar ve katmanlı materyaller için kullanışlı kılar. Bu rehberde bir RVT varlığını sahneye bağlama, hacmi uygun alana yerleştirme, materyalleri veri yazıp okuyacak şekilde düzenleme ve sahne bileşenlerini RVT’ye yönlendirme akışı ele alınıyor.
RVT, her tür doku için tek seçenek değildir. Unreal Engine’in diğer sanal doku yöntemi Streaming Virtual Texturing (SVT), diskte hazırlanıp yüklenen büyük dokular için uygundur; ışık haritaları ve ayrıntılı sanatçı dokuları bu kapsamdaki örneklerdir. RVT ise çalışma anında üretilebilen prosedürel veya katmanlı materyaller ve Landscape’teki karışımlar gibi senaryolara yöneliktir.
Gereksinimler ve işe başlamadan önce
Epic Games’in dokümantasyonu bu kurulum için güncel ya da asgari bir Unreal Engine sürümü ve hesap türü belirtmiyor. Bununla birlikte sürüm geçmişine ilişkin bir uyumluluk notu var: Unreal Engine 4.23’te bulunan “Base Color, Normal” materyal türü 4.24’te kaldırılmış; bu türü kullanan varlıklar da yeni materyal türüne otomatik olarak dönüştürülmüş. Bu bilgi, sürüm gereksinimi değil, eski bir materyal türüyle ilgili geçiş notudur. Sanal doku desteği olmayan platformlarda alternatif materyal yoluna geçmek gerekebileceğinden, materyal kurulumunda geri dönüş seçeneği de değerlendirilmelidir.
Sahne için temel olarak şu öğelere ihtiyaç vardır:
Bir Runtime Virtual Texture varlığı (RVT Asset).
Bu varlığı sahneye yerleştiren bir Runtime Virtual Texture Volume.
RVT’ye yazacak ve/veya RVT’den örnek alacak şekilde hazırlanmış materyaller.
RVT varlığına atanmış ve hacim sınırları içinde bulunan uygun sahne bileşenleri.
RVT varlığı, materyalleri ve sanal dokuya veri gönderen sahne bileşenlerini birbirine bağlayan yapılandırma öğesidir. Hacim varlığı sahneye taşır; doğru materyal ve bileşen atamaları yapıldığında sahne öğeleri dokuya veri yazabilir.
Kurulum: adım adım
1. RVT varlığını oluşturun ve türünü belirleyin
Content Browser’da sağ tıklama menüsünü veya Add New düğmesini açın. Materials & Textures kategorisinden Runtime Virtual Texture seçerek bir varlık oluşturun. Varlığı açtıktan sonra sanal dokunun boyutunu, tile boyutunu ve destekleyeceği materyal özelliklerini belirleyin.
Materyal türünü, RVT’de saklanacak veriye göre seçin. Yalnızca Base Color saklayan seçenek ile Base Color, normal, roughness ve specular verilerini birlikte tutan seçenek farklı ihtiyaçlara karşılık gelir. YCoCg tabanlı Base Color kodlaması, yumuşak renk geçişlerinde görülebilen renk kayması ve bantlaşmayı azaltmaya yardımcı olabilir. Ancak Epic Games’in açıklamasına göre bu seçeneğin bellek maliyeti yüzde 25 daha yüksektir; sanal doku verisini örnekleme ve çözümleme işlemlerinde de ek performans maliyeti vardır. Seçim yapılırken görsel sonuç kadar bu kaynak kullanımı da dikkate alınmalıdır.
2. RVT Volume’ü sahneye ekleyin
Modes panelinden bir Runtime Virtual Texture Volume ekleyin. Volume’ün sınırları, RVT’ye yazması beklenen aktörü kapsamalıdır. Bu aktör çoğunlukla bir Landscape veya arazi benzeri yüzey olabilir. RVT’den örnek alan ya da RVT’ye yazan öğelerin de ilgili hacmin sınırları içinde bulunması gerekir.
Konum ve ölçeği bir aktöre göre ayarlamak için Volume seçiliyken Details panelindeki Transform from Bounds bölümünü kullanın. Source Actor alanında sahnedeki aktörü seçin veya damlalık aracına başvurun; ardından Set Bounds düğmesiyle hacmin sınırlarını düzenleyin. Sonradan RVT’ye yazacak başka bileşenler eklendiğinde bu işlem, hacmin ilgili bileşenleri de kapsamasına yardımcı olabilir.
3. Materyalleri RVT’ye yazacak ve okuyacak şekilde hazırlayın
RVT’ye veri gönderme ve RVT’den veri alma işlemleri materyal ifadeleriyle kurulur. Mevcut materyal mantığını Runtime Virtual Texture Output ifadesine bağlayarak materyalin RVT çıktısını oluşturun. RVT’den veri okumak için materyale, kullanılacak RVT varlığına bağlı bir Runtime Virtual Texture Sample ifadesi ekleyin.
Bir Material Instance içinden örneklenen RVT varlığını değiştirmek gerekiyorsa Runtime Virtual Texture Sample Parameter kullanılabilir. Bu parametredeki materyal türü, atanacak RVT varlığının türüyle eşleşmelidir. Varlığın materyal türü değiştirildikten sonra örnekleme düğümlerinde uyumsuzluk oluşursa, varlığın sağ tıklama menüsündeki Fix Material Usage işlemi ilgili materyal ve Material Function’ları bulup türleri eşleştirebilir.
4. Sahne bileşenlerini RVT’ye atayın
RVT’ye yazmasını istediğiniz bileşeni seçin ve Details panelindeki Render to Virtual Textures dizisine ilgili RVT varlığını ekleyin. Bir bileşen birden fazla RVT varlığına atanabilir. Yazma işlemi için varlığın sahnede bir RVT Volume’e atanması ve bileşenin materyallerinin de uygun biçimde hazırlanması gerekir.
Epic Games’in dokümantasyonu Landscape, Landscape Splines, statik mesh’ler ve instanced static mesh’leri uygun adaylar arasında sayıyor. RVT içeriği her karede bütünüyle güncellenmediği için statik hareketliliğe sahip bileşenler beklenir. İskeletli veya animasyonlu mesh’ler bu kullanım için uygun adaylar değildir.
5. Sonucu ve kapsamı kontrol edin
RVT Volume’ün hedef yüzeyi kapsadığını, bileşenin doğru RVT varlığına atandığını ve materyalin gerekli yazma veya örnekleme ifadelerini içerdiğini birlikte kontrol edin. RVT’ye yazan nesneler, hacmin negatif Z yönündeki ortografik izdüşümüyle işlenir. Bu nedenle hacmin konumu ve kapladığı alan kurulumun önemli parçalarıdır.
Sanal doku özelliği desteklenmeyen platformlar için alternatif bir materyal yolu oluştururken Virtual Texture Feature Switch kullanılabilir. RVT’ye özel farklı bir materyal mantığı gerekiyorsa Runtime Virtual Texture Replace ifadesi, yalnızca RVT çıktısına yönelik bir yol tanımlamaya yarar. Sonuç materyal ağacındaki bağlantılara bağlıdır; dokümantasyon her proje için geçerli tek bir materyal tarifi sunmuyor.
Sık yapılan hatalar
Hacmin hedef alanı kapsamaması: RVT Volume, veri yazacak bileşenleri içine almalıdır. Kapsamı Transform from Bounds ve Set Bounds ile gözden geçirin.
Materyal türlerini eşleştirmemek: RVT varlığı ile örnekleme ifadesinin türleri uyuşmadığında Material Instance üzerinden yapılan değişiklikler sorun çıkarabilir.
Her sahne öğesini RVT’ye yazdırmak: Animasyonlu ve iskeletli mesh’ler uygun aday değildir; RVT verisinin her karede bütünüyle yenilenmediği unutulmamalıdır.
RVT ve SVT’yi aynı amaçla kullanmak: RVT çalışma anında GPU ile üretilen veriye, SVT ise diskte hazırlanıp yüklenen büyük dokulara yöneliktir.
Bellek ve performans maliyetini göz ardı etmek: YCoCg kodlaması renk artefaktlarını azaltmaya yardımcı olabilir; ancak ek bellek ve örnekleme maliyeti getirir.
Mimarlık ve archviz iş akışına etkisi
Landscape içeren mimari görselleştirme sahnelerinde RVT; arazi, spline ve sahne öğeleri arasında materyal geçişleri oluşturmak için değerlendirilebilir. Geniş dış mekânlarda araziye uyumlu yollar veya başka yüzey öğeleriyle görsel bütünlük kuran iş akışları bu yöntemin hedeflediği kullanımlara yakındır. Bununla birlikte kaynaklar belirli bir archviz yazılımı entegrasyonu, performans artışı oranı ya da donanım tavsiyesi vermiyor.
Ofislerde ve öğrenci projelerinde karar verirken sahne ölçeği, materyal türü, hedef platformdaki sanal doku desteği ve bellek maliyeti birlikte ele alınmalı. YCoCg seçeneğinin ek kaynak kullanımı, olası görsel faydasından ayrı düşünülemez. Animasyonlu varlıklar da RVT’ye yazmak için uygun kabul edilmemelidir. Kurulum sonrasında farklı platformlardaki materyal geri dönüş yolunu ve hacim sınırlarını kontrol etmek, iş akışındaki olası uyumsuzlukları fark etmeye yardımcı olur.
Sonraki adımlar
İlk denemeyi bir Landscape ve tek bir RVT Volume ile sınırlayın; materyaldeki yazma ve örnekleme bağlantılarını ayrı ayrı doğrulayın. Temel akış çalıştıktan sonra başka sahne bileşenlerini RVT’ye ekleyip hacmin sınırlarını yeniden kontrol edin. Projenin ihtiyacı diskte hazırlanan büyük dokuları yüklemekse SVT’yi, çalışma anında üretilen veya birleştirilen materyal verisiyse RVT’yi değerlendirin.
Kaynak ve lisans
Bu rehber, Epic Games’in Unreal Engine için yayımladığı Runtime Virtual Texturing ve Virtual Texturing dokümantasyonuna dayanarak Türkçeye uyarlanmıştır. Her iki kaynak da serbest lisanslı olarak işaretlenmiştir; kaynak metinlerde lisansın adı belirtilmediğinden burada belirli bir lisans türü varsayılmamıştır.
Sık sorulan sorular
Unreal Engine Runtime Virtual Texturing ne işe yarar?
RVT, texel verisini çalışma anında GPU ile üretir ve gölgelendirme verisini geniş alanlarda önbelleğe alır. Landscape materyalleri, spline’lar ve katmanlı materyal karışımları için kullanılabilir.
RVT kurulumu için hangi temel öğeler gerekir?
Bir RVT varlığı, onu sahneye yerleştiren bir RVT Volume, uygun materyal ifadeleri ve RVT’ye atanmış sahne bileşenleri gerekir.
RVT ile Streaming Virtual Texturing arasındaki fark nedir?
RVT veriyi çalışma anında GPU ile üretir. SVT ise diskte hazırlanıp yüklenen, büyük dokular ve sanal doku ışık haritaları gibi kullanımlara yöneliktir.
Kaynaklar
2 kaynakKaynak metinler yeniden yayımlanmaz; kısa alıntılar tırnak içinde verilir, geri kalanı özgün özet ve yorumdur.
RVT, özellikle arazi, spline ve statik sahne öğeleri arasında materyal geçişleri kuran mimari görselleştirme işlerinde değerlendirilmeye değer. Ancak her projeye eklenmesi gereken genel bir performans çözümü gibi düşünülmemeli; kaynaklarda donanım alt sınırı veya belirli bir hız kazanımı verilmiyor.
Türkiye’deki ofis ve öğrenciler için en sağlıklı yaklaşım, küçük bir sahne parçasında önce işlevi doğrulamak. RVT türü seçilirken bellek ve örnekleme maliyetleri, hedef platform desteği ve animasyonlu varlıkların uygun olmaması hesaba katılmalı. Büyük dokular diskten yüklenecekse SVT seçeneği de göz önünde tutulmalı.




Yorumlar 0