3B için USD Dosya Biçimi: Neden Bu Kadar Harika?

3D, Açık Kaynak olarak sınıflandırılmış , , , , , , , ile etiketlenmiş
Save and Share:

USD (Universal Scene Description – Evrensel Sahne Tanımı), Pixar tarafından dijital içerik oluşturma uygulamaları arasında 3B bilgisayar grafikleri sahnelerini değiştirmek için geliştirilen bir dosya biçimidir. 3B geometri, gölgelendirme, ışıklandırma, fizik ve diğer grafiklerle ilgili alanlar hakkında bilgi depolayabilen genişletilebilir bir açık kaynaklı dosya biçimidir. Ayrıca, birden çok kaynaktan gelen verileri birleştirip üzerine yazarak, tahribatsız bir şekilde düzenlenebilen tek bir sahne grafiği oluşturabilir.

USD, tasarım, mimari, animasyon ve oyun gibi birçok sektörde kullanılmaktadır ve Blender, Cinema 4D, Houdini, Maya ve Apple’ın SceneKit’i gibi birçok yazılım uygulaması tarafından desteklenmektedir. USD aynı zamanda Pixar’ın 3B grafik ardışık düzeninin ve Nvidia’nın Omniverse platformunun da temelini oluşturmaktadır.

Evrensel Sahne Tanımı (USD) spesifikasyonu çeşitli dosya biçimlerini kullanır:

  • .usd – ASCII veya ikili kodlanmış olabilir
  • .usda – ASCII kodlu
  • .usdc – İkili kodlu
  • .usdz – Sıfır sıkıştırmalı, şifrelenmemiş bir zip arşivi olarak biçimlendirilmiş bir paket dosyasıdır. .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3 ve .wav dosyaları içerebilir.

Blender (veya başka herhangi bir 3B yazılımı), yalnızca arayüzünü kullanarak birçok görevi yapmanıza izin vererek hayatınızı kolaylaştırır, ancak ardışık düzeninize başka yazılımlar eklemeye başladığınızda, sorunlar birbiri ardına ortaya çıkmaya başlar. Bu nedenle, muhtemelen bugün karşılaştığınız en büyük sorunlardan ve Pixar’ın bunların üstesinden gelmek için nasıl bir çözüm yarattığından bahsedelim.

KaizenTutorials’ın USD dosya biçimiyle ilgili videosu

Sorun

Daha önce Substance’ta bir modele doku giydirdiyseniz, çalışmanızı Unreal’e aktardıysanız veya farklı bir yazılımda çalışan biriyle bir proje paylaşmaya çalıştıysanız, muhtemelen bunun ne kadar can sıkıcı olabileceğini fark etmişsinizdir. Farklı dosya türleriyle uğraşmak, her bir yazılım için uygun dışa aktarma iş akışlarına sahip olmak ve bu süreçte değerli verileri kaybetmek, size tekrar tekrar bilerek kafanızı duvara vuruyormuşsunuz gibi hissettirebilir.

Ve inanın bana, bu, ister kendi özel ardışık düzenine sahip solo bir içerik oluşturucu olarak çalışıyor olun, ister Pixar gibi büyük bir stüdyoda çalışıyor ve oradaki diğer 1.232 kişi için uygun bir iş akışı sürdürmek için titiz ardışık düzen kısıtlamalarına uymak zorunda olun, her yerdeki tüm 3B sanatçılarının yaşadığı bir şeydir. Sorun aynı kalır.

Neden Böyle Oluyor?

Yine de mantıklı, değil mi? Her yazılım, kendi ihtiyaçları için çalışan tescilli bir dosya türü kullanır. Örneğin, Blender’dan bir dosya, Blender’da çalışacak şekilde kodlanmıştır, ancak Substance’ta çalışmaz. Açıkçası bir şirkette, her sanatçının bir projeye devam etmeyi kolay ve bazen de mümkün kılmak için bir dosyanın kendi seçtiği araçla uyumlu olması gerekir.

Bu nedenle, farklı bir yazılıma geçerken veya projenizi bir sonraki kişiye devrederken FBX veya OBJ gibi daha evrensel bir dosya türüne aktarma zorunluluğu vardır. Ancak bu dosya türlerinin bile, simülasyonları, ışıklandırmayı ve Blender projelerinizin diğer birçok yönünü düzgün bir şekilde depolayamama gibi birçok sınırlaması vardır.

USD ile Tanışın

Peki bu sorunun cevabı nedir? Kısaca Evrensel Sahne Tanımı (USD)! İlk olarak 2016’da Pixar tarafından yeni temel ardışık düzenleri olarak açık kaynaklı bir yazılım olarak yayınlanan USD, esas olarak sanatçılarının verileri birbirleri ve kullandıkları araçlar arasında taşımalarını kolaylaştırmanın bir yoluydu.

Piyasaya sürüldüğünden beri USD sürekli olarak değişikliklere ve iyileştirmelere uğramaktadır, bu da tıpkı sürekli olarak güncellenen ve genişletilen Blender gibi açık kaynaklı yazılımlar için yaygın bir durumdur.

USD Nedir?

USD birçok şeydir ve gerçekten derinlemesine inersem, aslında tarif edilmesi çok teknik ve karmaşık bir şey olabilir. Ancak basitçe ifade edersem, USD, Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse ve daha birçok uygulamanın birbirleriyle konuşup anlaşmasının bir yoludur.

Bilgisayar endüstrisinde aslında bunun için süslü bir kelime var – birlikte çalışabilirlik. Söylemesi biraz zor! Ne kadar süslü görünse de, aslında düşündüğünüz kadar karmaşık değil. Bugün kendi bilgisayarınızda ve hatta dünyanın dört bir yanındaki birden fazla arkadaşınız veya iş arkadaşınızla kullanmaya başlayabilirsiniz.

USD Nasıl Farklı?

Geleneksel olarak, bir ardışık düzen çok tek yönlü bir şeydir; burada her kişi yalnızca bir önceki kişi bitirdikten sonra bir şey üzerinde çalışma fırsatı bulur. Ya da kişisel olarak sizin için, modelleme tamamen bittiyse, yalnızca süreçte bir sonraki adıma, örneğin doku giydirmeye geçebilirsiniz.

Bunu bir kek pişirmekle karşılaştırabilirsiniz; bu keki yapıp oluştururken, bir sonraki adıma başlayabilmek için her adımı bitirmeniz gerekir. Hamuru karıştırmadan keki pişiremezsiniz ve kekleri fırında pişirmeden inşa edemezsiniz. Her adım, bir önceki adımın tamamlanmasına bağlıdır.

Daha da önemlisi, üzerine krema ve dolgu koyduktan veya süngerin çikolatalı olması gerektiğine karar verdikten sonra, geri dönüş yoktur. Keki tekrar pişiremez, tadını vanilyaya çeviremez veya kremayı çıkaramazsınız. Ve buna yıkıcı iş akışı diyoruz.

Ancak USD daha çok Legolara benziyor. Her blok, bir 3B sahnenin bir parçasını temsil eder – karakterler, nesneler, ortamlar, her neyse – ve bu blokları bağımsız olarak monte edebilir, sökebilir ve değiştirebilirsiniz.

Geleneksel bir ardışık düzende, bir bloğu değiştirmek, yapının geri kalanını ayarlamayı gerektirecektir. Ancak USD ile her yapı taşı bağımsız olarak çalışılabilir ve örneğin tüm modeli yeniden oluşturmaya gerek kalmadan bir bloğu farklı bir renge değiştirebilirim.

Ardışık düzen sınırlamalarıyla boğulmadan denemelere ve işbirlikçi iş akışlarına olanak tanıyan tahribatsız bir yaklaşımdır.

USD’nin Amacı

USD ile tüm bunlardaki amaç, verilerin uygulamalar arasında serbestçe hareket etmesi için bir yol oluşturmak, sanatçılara ve ekiplere yaratmaya odaklanma özgürlüğü vermek ve dışa aktarmaya odaklanmamak ve çalışmaya devam edebilmek için birbirlerini beklemek zorunda kalmamaktır. Konsept ekibi daha sonra işleri değiştirmeye karar verirse, sanatçılar yeniden başlamak zorunda kalmamalıdır. Ve diğer programlardan gelen dosya biçimlerinin seçtiğiniz yazılımda çalışmamasıyla ilgili sorunlar olmamalıdır.

Hizmet düzeyinde, USD böyle görünüyor – farklı yazılımlar arasında kolayca değiştirilebilen, yüksek düzeyde birlikte çalışabilir bir dosya biçimi. Ve adil olmak gerekirse, çoğumuz tek başına çalışma eğiliminde olduğumuz için çoğu Blender kullanıcısı için böyle olacaktır. Ancak USD bir dosya türünden daha fazlasıdır…

Herhangi bir sayıda varlığı sanal setler, sahneler ve dünyalar halinde bir araya getirmenin ve düzenlemenin, uygulamadan uygulamaya kullanmanın ve bunları genellikle gerçek zamanlı olarak tahribatsız bir şekilde düzenlemenin bir yoludur.

USD ile Nasıl Çalışılır?

Şimdi Blender iş akışında USD ile nasıl çalışabileceğimize bakalım. En temel biçiminde, USD, 3.6 sürümünden beri Blender’da bir dışa aktarma seçeneği olmuştur. Bu nedenle, üzerinde çalıştığınız bir dosyanız varsa ve bunu bir USD dosyası olarak kaydetmek istiyorsanız, Dosya > Dışa Aktar > Evrensel Sahne Tanımı‘na gidebilirsiniz ve dosyayı kaydetmek için bir istem penceresi açılır.

Birkaç seçeneği var, ancak dikkat edilmesi gereken başlıca olanlar şunlardır:

  • Yalnızca Seçim – Dışa aktarımınıza yalnızca seçili nesneleri dahil eder
  • Animasyon ve Saç – Nesneleriniz için animasyon ve saç parçacık verilerini içerir/hariç tutar

İşte USD’nin nasıl çalıştığına dair harika bir örnek. Bu, 3ds Max ve Substance gibi bir dizi yazılımda yapılmış Nvidia’nın USD örnek kitaplığından bir dosyadır. Bunu içe aktararak Blender’da açarsanız, neredeyse %100 hemen çalışır!

Gördüğünüz gibi, ışıklar, alan derinliği, kamera, malzemeler ve çok daha fazlası dahil olmak üzere tüm verileri içeriyor. Düzgün bir şekilde dışa aktarılmayan tek şey, kendimiz ayarlamamız gereken HDRI aydınlatmasıdır. Ancak bunun 3DS Max’in Arnold oluşturucusunun içinde neredeyse aynı göründüğünü ve tek bir dosya türü kullanılarak Blender’a aktarıldığını ve aynı derecede iyi çalıştığını düşünmek inanılmaz!

Uygun hiyerarşiye, malzemelere sahip ve temelde her şey ayarlanmış durumda. Gerçekten, gerçekten harika! Her neyse, bu, USD’nin farklı uygulamalar arasında nasıl çalıştığını ve birlikte çalışabilir bir dosya biçimi olarak işlev gördüğünü gösteriyor.

Pratik Bir USD Örneği

Ancak daha pratik bir örneğe bakalım. Bu ardışık düzen örneği için, bir oyun için bir nesne modellemek üzere Blender kullanmanın tipik bir iş akışını kullanacağım.

Geleneksel ardışık düzen şöyle bir şey olacaktır:

  1. Modeli Blender’da oluşturun
  2. Modeli UV açın
  3. Painter Blender dosyalarını kullanamadığı için FBX olarak dışa aktarın
  4. FBX’i Substance Painter’a aktarın
  5. Substance’ta malzemeler ekleyin
  6. Dokuları resim olarak dışa aktarın
  7. FBX’i oyun motoruna aktarın
  8. Dokuları manuel olarak ayarlayın
  9. Oluşturmalar oluşturun

USD ile bu süreci önemli ölçüde basitleştirebilir ve büyük ölçüde tahribatsız bir iş akışını koruyabiliriz. Ardışık düzen, ana bileşenler olarak Blender ve Substance ile çok benzer kalır.

Ancak USD bu uygulamalar arasında gerçek zamanlı olarak doğal olarak çalışmadığından (esas olarak Blender’ın hala sınırlı USD desteğine sahip olmasından dolayı), bu bağlantıyı bizim için oluşturmak üzere Nvidia Omniverse‘i kullanacağım.

Omniverse aracılığıyla, Nvidia tarafından oluşturulmuş daha USD uyumlu bir Blender dalına erişebilirim. LifeLink’i gerçekleştirmek için Substance Painter için Omniverse bağlayıcısını etkinleştirebilirim. Ve uygulamalar arasındaki boşluğu doldurmak ve son ürünü görüntülemek için USD Composer’ı kullanabilirim.

Bu kurulumla, artık özel Blender dalında Blender projemizi açabiliriz. Ardından N tuşuna basıp buradaki sağ tarafa gidersek, bunu bir USD dosyası olarak dışa aktarmamıza olanak tanıyan Nucleus eklentisini elde ederiz.

Ardından USD Composer’a gider ve bu USD dosyasını açarsak, uygulamalar arasında bir tür canlı bağlantı elde ederiz. Artık ağda herhangi bir değişiklik yapabilir, yeniden dışa aktarabilir ve bunun USD Composer içinde otomatik olarak alınmasını sağlayabilirim.

Daha da iyisi! Modeli içe aktardıktan sonra, Substance Painter’ı açabilir, Omniverse bağlayıcısını etkinleştirebilir ve nesnemizi USD Composer’dan otomatik olarak Substance’a aktarmak için Ağı İçe Aktar’a gidebiliriz. Bu noktada Blender’da değişiklikler yaparsak, yine de yeniden dışa aktarabilir ve bunu Substance Painter’a otomatik olarak bağlanan USD Composer’da alabiliriz.

Ancak, Substance Painter’da dokular ekledikten sonra, bunu tekrar yapmak bu dokuları kaldıracaktır. Bu nedenle, memnun kaldığınızda, Substance Painter’da malzemelerinizi ekleyin ve Life Link etkinleştirildiğinde, bunlar otomatik olarak USD Composer’da açılacaktır.

Daha sonra yaptığınız herhangi bir değişiklik otomatik olarak dışa aktarılır ve USD Composer’da güncellenir. Gerçekten, gerçekten harika!

Bana göre bu iş akışı neredeyse akıl almaz. Blender ve Substance Painter’da gerçek zamanlı olarak değişiklikler yapabilmek ve tüm bunların otomatik olarak çalışıp son oluşturmada yansıması başka bir şey.

Nvidia Omniverse’in sunduğu her şeyi denemekle ilgileniyorsanız, açıklamada bulunan bağlantı aracılığıyla ücretsiz olarak indirebilirsiniz. Ve USD ve Omniverse’in birlikte sağladığı tüm teknik kullanım durumları hakkında daha fazla bilgi edinmek istiyorsanız, bunun için başka bir ücretsiz indirme bağlantısının yanı sıra Mart ayında GTC’de sanal olarak veya şahsen açık USD günü oturumlarına katılmak için bir bağlantı da bulabilirsiniz.

Bunu gerçekten kontrol etmenizi öneririm, çünkü bu gerçekten 3B iş akışlarının geleceği.

USD Hakkında Daha Fazla Bilgi

Bu eğlenceli örneğin yanı sıra, USD’nin sunabileceği çok daha fazlası var. Ve yeteneklerinden iyi bir şekilde yararlanırsanız, bir sanatçı olarak çok daha verimli hale geleceksiniz. Peki başka neler yapabilir?

Evrensel bir dosya biçiminin hayatınızı çok daha kolay hale getirecek olmasının yanı sıra, kesinlikle gelecek. Ağustos 2023’ten beri USD, kısa adı AO USD olan Alliance of Open USD (Açık USD İttifakı) adlı resmi bir kar amacı gütmeyen kuruluş haline geldi – Pixar, Apple, Adobe, Autodesk ve Nvidia kurucu üyeleri olarak.

Bence bu, bu şirketlerin ne kadar yatırım yaptığını ve bunu herkesin çok kolay bir şekilde kullanabilmesi gereken birlikte çalışabilir bir dosya biçiminin geleceği olarak gerçekten nasıl gördüklerini gösteriyor.

Bir dosya biçimi olmasının yanı sıra, USD, ışıklardan ve kameralardan simülasyon önbelleklerine ve sahne verilerine kadar neredeyse her şeyi “prim” (ilkellerin kısaltması) adı verilen katman benzeri bir yapıda depolar. Karmaşık sahneleri ve varlıkları çok çeşitli uygulamalar tarafından okunabilir bir biçimde tanımlamak için tüm bu verileri içerir.

Şimdi bunu bilerek, “Evrensel Sahne Tanımı” adı aslında çok mantıklı geliyor!

Blender koleksiyonlarına aşina iseniz, USD benzer şekilde çalışır. USD’nin tüm bu katmanları örnekler olarak ele alması avantajıyla, herhangi bir şeyi birden çok iç içe koleksiyonun içine yerleştirebilirsiniz. Bu nedenle, tüm verileri optimize edilmiş bir şekilde çok hızlı bir şekilde yükleyebilir ve okuyabilir.

Bu, Blender’da koleksiyonları örneklemeye benzer şekilde çalışır, bu iyidir çünkü örnekler gerçek yinelenen nesnelerden daha az işlem gerektirir. Ayrıca After Effects’te ön derlemeye veya Nuke’ta birleştirmeye çok benzer – temelde şeyleri iç içe grupların/katmanların içinde gruplandırırsınız, bu da bilgisayarın dosyayla çalışmasını daha kolay ve hızlı hale getirir.

Bu optimizasyonun harika bir örneği, Nvidia’nın “Da Vinci’nin Atölyesi” adlı en yeni USD örnek projesidir. USD projelerini gerçek zamanlı aydınlatmayla görüntülemek için mükemmel olan USD Composer uygulamalarını kullanarak, bu devasa 67 GB’lık varlık, doku ve ışık kitaplığını milyonlarca çokgenle yaklaşık 120 FPS’de herhangi bir gecikme veya sorun olmadan oynatabilirim. Bu, USD’nin dosyaları ve dokuları son derece optimize edilmiş bir şekilde ne kadar verimli bir şekilde yüklediği sayesinde mümkün olmaktadır.

Benzer şekilde, daha önce Alembic dosyaları olarak dışa aktarılan animasyonlar için, USD önbelleğe alma artık çok daha hızlı. Alembic dosyaları genellikle devasa, çok optimize edilmemiş ve bilgisayarınız tarafından yavaşça okunur – genellikle kesintili oynatmaya neden olur. USD ile, istikrarlı bir FPS elde etmek hiç sorun değil ve dosya boyutu çok daha küçük.

Daha Fazla Avantaj

Başka bir gerçekten harika özellik de, USD projenizin içindeki katmanlara dosyanın dışından oldukça kolay bir şekilde erişebilmenizdir. Örneğin, bir USD dosyasının içinde bir kürenin yeşil olduğuna dair verileri içeren bir prim katmanı varsa, bu rengi USD Composer gibi USD uyumlu bir düzenleyicide kırmızıya çevirerek, dosyayı Blender’da hiç açmadan kürenin rengini değiştirebiliriz! Bu inanılmaz derecede güçlü.

Bu açıkçası temel bir örnek olsa da, potansiyeli gösteriyor. Başka bir büyük avantaj da, USD’nin hala karmaşık bir dosyanın yalnızca tek bir katmanı üzerinde belirli bir yazılımda çalışmanıza izin vermesidir. Bu nedenle, dosyanız kameralar, ışıklar vb. ile eksiksiz bir proje içerse bile, yine de bunun yalnızca bir parçasını – örneğin tek bir modeli – Substance Painter’da açabilir ve projenin yalnızca o bölümünde başka hiçbir şeyi etkilemeden çalışabilirsiniz.

Bu, aynı dosyada birden fazla kişi çalışıyorsa da geçerlidir – USD’nin bir başka önemli gücü. On kişi aynı dosya üzerinde çalışabilir, böylece bir numaralı sanatçı tarafından yapılan değişiklikler, çalışmalarını buna göre uyarlamalarına olanak tanıyarak iki numaralı sanatçı tarafından hemen görülebilir. İnsanlarla uzaktan işbirliği yapabilmek inanılmaz derecede güçlü.

3B Ardışık Düzenlerin Geleceği

USD’nin bir dosya biçiminden çok daha fazlası olduğunu söylemek güvenlidir. Misyonunda gerçekten Blender ile aynı doğrultuda olan kapsamlı bir teknoloji platformu ve ekosistemdir: kısıtlama olmadan yaratma özgürlüğü.

USD hala geliştirme aşamasında. Rüya gerçek – sektördeki herhangi bir yazılım tarafından kullanılabilen, birden fazla sanatçı tarafından gerçek zamanlı olarak düzenlenebilen evrensel bir yazılım dosya biçimi.

Bu inanılmaz gelişimle yolu açan Pixar’a ve Nvidia ve Apple gibi şirketlerin de katkıda bulunmasına hepimiz minnettar olmalıyız.

Yorum Gönderin

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir