USD (Universal Scene Description) adalah format file yang dikembangkan oleh Pixar untuk bertukar adegan grafis komputer 3D antar aplikasi pembuatan konten digital. Ini adalah format file sumber terbuka yang dapat diperluas dan dapat menyimpan informasi tentang geometri 3D, bayangan, pencahayaan, fisika, dan domain terkait grafis lainnya. Format ini juga dapat menggabungkan dan menimpa data dari berbagai sumber, menciptakan scenegraph tunggal yang dapat diedit secara non-destruktif.
USD digunakan di banyak industri, seperti desain, arsitektur, animasi, dan permainan, serta didukung oleh banyak aplikasi perangkat lunak, seperti Blender, Cinema 4D, Houdini, Maya, dan SceneKit dari Apple. USD juga merupakan inti dari alur kerja grafis 3D Pixar dan dasar dari platform Omniverse Nvidia.
Spesifikasi Universal Scene Description (USD) menggunakan beberapa format file:
- .usd – Dapat berupa kode ASCII atau biner
- .usda – Kode ASCII
- .usdc – Kode biner
- .usdz – File paket yang diformat sebagai arsip zip tanpa kompresi dan tidak terenkripsi. Mungkin berisi file .usd, .usda, .usdc, .png, .jpeg, .m4a, .mp3, dan .wav.
Blender (atau perangkat lunak 3D lainnya) memudahkan hidup Anda dengan memungkinkan Anda melakukan banyak tugas hanya menggunakan antarmukanya, tetapi begitu Anda mulai memperkenalkan perangkat lunak lain ke dalam alur kerja Anda, masalah mulai bermunculan di mana-mana. Jadi mari kita bicara tentang masalah terbesar yang mungkin sudah Anda hadapi saat ini dan bagaimana Pixar telah menciptakan solusi untuk mengatasinya tanpa batas.
Masalahnya
Jika Anda pernah memberi tekstur pada model di Substance, mengimpor pekerjaan Anda ke Unreal, atau mencoba berbagi proyek dengan seseorang yang bekerja dengan perangkat lunak yang berbeda, Anda mungkin menyadari betapa menjengkelkannya hal ini. Harus berurusan dengan berbagai jenis file, alur kerja ekspor yang tepat untuk setiap perangkat lunak individual, dan kehilangan data berharga dalam prosesnya dapat membuat Anda merasa seperti sengaja membenturkan kepala ke dinding berulang kali.
Dan percayalah ketika saya mengatakan bahwa ini adalah sesuatu yang dialami oleh semua seniman 3D di mana pun – baik Anda bekerja sebagai kreator solo dengan alur kerja khusus Anda sendiri atau di studio besar seperti Pixar yang harus menyesuaikan diri dengan batasan alur kerja yang ketat untuk mempertahankan alur kerja yang tepat untuk semua 1.232 orang lainnya yang bekerja di sana. Masalahnya tetap sama.
Mengapa Ini Terjadi
Namun, ini masuk akal, bukan? Setiap perangkat lunak menggunakan jenis file eksklusif yang berfungsi untuk kebutuhannya. Jadi file dari Blender, misalnya, telah dikodekan untuk bekerja di Blender tetapi tidak di Substance. Jelas di sebuah perusahaan, setiap seniman membutuhkan file yang kompatibel dengan alat pilihan mereka sendiri untuk membuatnya mudah dan terkadang bahkan mungkin untuk melanjutkan pekerjaan pada suatu proyek.
Inilah mengapa harus mengekspor ke jenis file yang lebih universal seperti FBX atau OBJ adalah suatu keharusan ketika beralih ke perangkat lunak yang berbeda atau menyerahkan proyek Anda kepada orang berikutnya. Tetapi bahkan jenis file ini memiliki banyak keterbatasan, seperti ketidakmampuan untuk menyimpan simulasi, pencahayaan, dan banyak aspek lain dari proyek Blender Anda dengan benar.
Memperkenalkan USD
Jadi apa jawaban untuk masalah ini? Universal Scene Description (USD) singkatnya! Pertama kali dipublikasikan sebagai perangkat lunak sumber terbuka oleh Pixar pada tahun 2016 sebagai alur kerja inti baru mereka, USD terutama merupakan cara bagi seniman mereka untuk memudahkan perpindahan data antar satu sama lain dan alat yang mereka gunakan.
Sejak dirilis, USD terus mengalami perubahan dan peningkatan, yang umum untuk perangkat lunak sumber terbuka seperti Blender, yang juga terus diperbarui dan diperluas.
Apa Itu USD?
USD adalah banyak hal dan jika saya menyelam terlalu dalam ke dalamnya, itu sebenarnya bisa menjadi hal yang sangat teknis dan rumit untuk dijelaskan. Tetapi jika saya menyederhanakannya, USD adalah cara untuk membuat aplikasi seperti Blender, Unreal, Houdini, Substance, Maya, Nvidia Omniverse, dan banyak lagi lainnya berbicara dan memahami satu sama lain.
Dalam industri komputer sebenarnya ada kata mewah untuk ini – interoperabilitas. Agak sulit diucapkan! Namun semewah kedengarannya, itu sebenarnya tidak serumit yang mungkin Anda pikirkan. Anda dapat mulai menggunakannya hari ini di komputer Anda sendiri atau bahkan dengan beberapa teman atau kolega di seluruh dunia.
Perbedaan USD
Secara tradisional, alur kerja adalah hal yang sangat searah di mana setiap orang hanya dapat mengerjakan sesuatu setelah orang sebelumnya selesai. Atau untuk Anda secara pribadi, Anda hanya dapat melanjutkan ke langkah berikutnya dalam proses, seperti pemberian tekstur, jika pemodelan benar-benar selesai.
Anda bisa membandingkan ini dengan membuat kue – saat Anda membangun dan membuat kue ini, Anda harus menyelesaikan setiap langkah sebelum dapat memulai langkah berikutnya. Anda tidak dapat memanggang kue sebelum Anda mencampur adonan, dan Anda tidak dapat membangunnya sebelum memanggang kue di oven. Setiap langkah bergantung pada langkah sebelumnya yang telah diselesaikan.
Yang lebih penting, setelah Anda memasang lapisan gula dan isian atau memutuskan bahwa kue bolu perlu rasa cokelat, tidak ada jalan untuk kembali. Anda tidak dapat membatalkan memanggang kue, mengubah rasa menjadi vanila, atau melepas lapisan gula. Dan inilah yang kita sebut alur kerja destruktif.
Namun, USD lebih seperti Lego. Setiap blok mewakili bagian dari adegan 3D – karakter, objek, lingkungan, apa pun – dan Anda dapat merakit, membongkar, dan memodifikasi blok-blok ini secara independen.
Dalam alur kerja tradisional, mengubah satu blok akan melibatkan keharusan menyesuaikan sisa struktur. Tetapi dengan USD setiap blok bangunan dapat dikerjakan secara independen dan saya dapat dengan mudah mengubah satu blok ke warna yang berbeda misalnya tanpa perlu membangun kembali seluruh model.
Ini adalah pendekatan non-destruktif yang memungkinkan eksperimen dan alur kerja kolaboratif tanpa terbebani oleh batasan alur kerja.
Tujuan USD
Tujuan dari semua ini dengan USD adalah untuk menciptakan cara agar data dapat berpindah antar aplikasi dengan bebas, untuk memberikan seniman dan tim kebebasan untuk fokus pada kreasi dan bukan pada ekspor dan terjebak menunggu satu sama lain untuk dapat terus bekerja. Seniman seharusnya tidak perlu memulai ulang jika tim konsep memutuskan untuk mengubah sesuatu di kemudian hari. Dan seharusnya tidak ada masalah dengan format file yang masuk dari program lain yang tidak berfungsi di perangkat lunak pilihan Anda.
Pada tingkat layanan, itulah tampaknya USD – format file yang sangat interoperabel yang mudah dipertukarkan antar perangkat lunak yang berbeda. Dan sejujurnya, inilah yang akan terjadi pada sebagian besar pengguna Blender, karena banyak dari kita cenderung bekerja sendiri. Tetapi USD lebih dari sekadar jenis file…
Ini adalah cara untuk merakit dan mengatur sejumlah aset ke dalam set virtual, adegan, bidikan, dan dunia – menggunakannya dari aplikasi ke aplikasi dan mengeditnya secara non-destruktif seringkali secara real time.
Cara Bekerja dengan USD
Jadi mari kita lihat bagaimana kita dapat bekerja dengan USD dalam alur kerja Blender. Dalam bentuknya yang paling dasar, USD telah menjadi opsi ekspor di Blender sejak versi 3.6. Jadi jika Anda memiliki file yang sedang Anda kerjakan dan ingin menyimpannya sebagai file USD, Anda dapat pergi ke File > Ekspor > Universal Scene Description dan itu akan memberi Anda jendela prompt untuk menyimpan file tersebut.
Ini memiliki beberapa opsi tetapi yang utama untuk diperhatikan adalah:
- Hanya Pilihan – Hanya akan menyertakan objek yang dipilih dalam ekspor Anda
- Animasi dan Rambut – Akan menyertakan/mengecualikan data animasi dan partikel rambut untuk objek Anda
Berikut adalah contoh bagus tentang cara kerja USD. Ini adalah file dari pustaka sampel USD Nvidia yang dibuat di sejumlah perangkat lunak seperti 3ds Max dan Substance. Jika Anda membukanya di Blender dengan mengimpornya, hampir 100% langsung berfungsi!
Seperti yang dapat Anda lihat, ini berisi semua data termasuk lampu, kedalaman bidang, kamera, material, dan banyak lagi. Satu-satunya hal yang tidak diekspor dengan benar adalah pencahayaan HDRI yang harus kita atur sendiri. Tetapi sungguh luar biasa untuk memikirkan bahwa ini terlihat hampir identik di dalam renderer Arnold 3DS Max, dan baru saja diekspor ke Blender dan berfungsi sama baiknya menggunakan satu jenis file!
Ini memiliki hierarki yang tepat, material, dan pada dasarnya semuanya sudah diatur. Benar-benar sangat keren! Bagaimanapun, ini menunjukkan bagaimana USD bekerja antara aplikasi yang berbeda dan bahwa ini berfungsi sebagai format file interoperabel.
Contoh Praktis USD
Tetapi mari kita lihat contoh yang lebih praktis. Untuk contoh alur kerja ini, saya akan menggunakan alur kerja tipikal menggunakan Blender untuk memodelkan objek untuk game.
Alur kerja tradisional akan seperti ini:
- Buat model di Blender
- UV unwrap model
- Ekspor sebagai FBX karena Painter tidak dapat menggunakan file Blender
- Impor FBX ke Substance Painter
- Tambahkan material di Substance
- Ekspor tekstur sebagai gambar
- Impor FBX ke mesin game
- Atur tekstur secara manual
- Buat render
Dengan USD kita dapat menyederhanakan proses ini secara signifikan dan mempertahankan alur kerja non-destruktif yang sebagian besar. Alur kerja tetap sangat mirip dengan Blender dan Substance sebagai komponen utama.
Tetapi karena USD tidak berfungsi secara native secara real time antara aplikasi ini (terutama karena Blender masih memiliki dukungan USD yang terbatas), saya akan menggunakan Nvidia Omniverse untuk membuat koneksi itu untuk kita.
Melalui Omniverse saya bisa mendapatkan akses ke cabang Blender yang lebih kompatibel dengan USD yang dibangun oleh Nvidia. Saya dapat mengaktifkan konektor Omniverse untuk Substance Painter untuk mewujudkan LifeLink. Dan saya dapat menggunakan USD Composer untuk menjembatani kesenjangan antara aplikasi dan melihat produk akhir.
Dengan pengaturan itu, kita sekarang dapat membuka proyek Blender kita di cabang Blender khusus. Jika kita kemudian menekan N dan pergi ke sisi kanan di sini kita mendapatkan add-on Nucleus yang memungkinkan kita mengekspor ini sebagai file USD.
Jika kita kemudian pergi ke USD Composer dan membuka file USD itu, kita mendapatkan semacam tautan langsung antara aplikasi. Saya sekarang dapat membuat perubahan apa pun pada mesh, mengekspornya kembali, dan membuatnya secara otomatis diambil di dalam USD Composer.
Ini menjadi lebih baik! Setelah kita mengimpor model, kita dapat membuka Substance Painter, mengaktifkan konektor Omniverse, dan pergi ke Impor Mesh untuk secara otomatis mengimpor objek kita dari USD Composer ke Substance. Pada titik ini jika kita membuat perubahan di Blender kita masih dapat mengekspor ulang dan mengambilnya di USD Composer, yang secara otomatis terhubung ke Substance Painter.
Namun, setelah kita menambahkan tekstur di dalam Substance Painter, melakukan ini lagi akan menghapus tekstur tersebut. Jadi setelah Anda puas, tambahkan material Anda di Substance Painter, dan dengan Life Link diaktifkan, ini akan secara otomatis muncul di USD Composer.
Setiap perubahan yang kemudian Anda buat secara otomatis diekspor dan diperbarui di USD Composer. Benar-benar sangat keren!
Bagi saya alur kerja ini cukup mencengangkan. Mampu membuat perubahan di Blender dan Substance Painter secara real time dan memiliki semua itu secara otomatis bekerja di hilir dan tercermin dalam render akhir adalah sesuatu yang lain.
Jika Anda tertarik untuk mencoba semua yang ditawarkan Nvidia Omniverse, Anda dapat mengunduhnya secara gratis melalui tautan di deskripsi. Dan jika Anda ingin mempelajari lebih lanjut tentang semua kasus penggunaan teknis yang disediakan USD dan Omniverse bersama-sama, Anda dapat menemukan tautan unduhan gratis lain untuk itu serta tautan untuk menghadiri sesi hari USD terbuka secara virtual atau secara langsung di GTC pada bulan Maret.
Saya sangat merekomendasikan untuk memeriksanya karena ini benar-benar masa depan alur kerja 3D.
Lebih Lanjut tentang USD
Selain contoh yang menyenangkan ini, USD memiliki lebih banyak hal untuk ditawarkan. Dan jika Anda memanfaatkan kemampuannya dengan baik, Anda akan menjadi jauh lebih efisien sebagai seorang seniman. Jadi apa lagi yang bisa dilakukannya?
Selain fakta bahwa format file universal akan membuat hidup Anda jauh lebih mudah, ini benar-benar masa depan. Sejak Agustus 2023, USD telah menjadi organisasi nirlaba resmi bernama The Alliance of Open USD (AO USD) singkatnya – dengan Pixar, Apple, Adobe, Autodesk, dan Nvidia sebagai anggota pendirinya.
Saya pikir ini benar-benar menunjukkan betapa berinvestasinya perusahaan-perusahaan ini dan bagaimana mereka benar-benar melihat ini sebagai masa depan format file interoperabel – yang seharusnya dapat digunakan semua orang dengan sangat mudah.
Selain menjadi format file, USD menyimpan hampir semuanya – dari lampu dan kamera hingga cache simulasi dan data adegan – dalam struktur seperti lapisan yang disebut “prim” (kependekan dari primitif). Ini berisi semua data itu untuk menggambarkan adegan dan aset kompleks dalam format yang dapat dibaca oleh berbagai aplikasi.
Sekarang mengetahui itu, nama “Universal Scene Description” sebenarnya sangat masuk akal!
Jika Anda terbiasa dengan koleksi Blender, USD bekerja dengan cara yang sama. Anda dapat menaruh apa pun di dalam beberapa koleksi bersarang, dengan manfaat tambahan bahwa USD memperlakukan semua lapisan ini sebagai instance. Oleh karena itu, ia dapat dengan sangat cepat memuat dan membaca semua data dengan cara yang dioptimalkan.
Ini bekerja mirip dengan instancing koleksi di Blender, yang bagus karena instance membutuhkan komputasi lebih sedikit daripada objek duplikat aktual. Ini juga sangat mirip dengan pra-komposisi di After Effects atau compounding di Nuke – Anda pada dasarnya mengelompokkan barang-barang di dalam grup/lapisan bersarang, yang membuatnya lebih mudah dan lebih cepat bagi komputer untuk bekerja dengan file.
Contoh bagus dari optimasi ini adalah proyek sampel USD terbaru Nvidia yang disebut “Da Vinci’s Workshop”. Menggunakan aplikasi USD Composer mereka (yang sempurna untuk melihat proyek USD dengan pencahayaan real-time), saya dapat memutar ulang pustaka aset, tekstur, dan lampu sebesar 67GB ini dengan jutaan poligon mendekati 120 FPS tanpa lag atau masalah apa pun. Ini dimungkinkan karena betapa efisiennya USD memuat file dan tekstur dengan cara yang sangat dioptimalkan.
Demikian pula, untuk animasi yang dulunya diekspor sebagai file Alembic, caching USD sekarang jauh lebih cepat. File Alembic biasanya besar, sangat tidak dioptimalkan, dan dibaca lambat oleh komputer Anda – biasanya menghasilkan pemutaran yang tersendat-sendat. Dengan USD, mencapai FPS yang stabil sama sekali tidak menjadi masalah dan ukuran filenya jauh lebih kecil.
Manfaat Lain
Fitur keren lainnya adalah Anda dapat mengakses lapisan di dalam proyek USD Anda dari luar file dengan cukup mudah. Misalnya, jika ada lapisan prim yang berisi data bahwa sebuah bola berwarna hijau di dalam file USD, dengan hanya mengubah warna itu menjadi merah di editor yang kompatibel dengan USD seperti USD Composer, kita dapat mengubah warna bola tanpa pernah membuka file di Blender! Itu sangat luar biasa.
Meskipun itu jelas merupakan contoh dasar, itu menunjukkan potensi. Manfaat utama lainnya adalah USD tetap memungkinkan Anda untuk hanya mengerjakan satu lapisan file kompleks di perangkat lunak tertentu. Jadi bahkan jika file Anda berisi proyek lengkap dengan kamera, lampu, dll., Anda tetap dapat membuka hanya satu bagian darinya – misalnya model tunggal – di dalam Substance Painter, dan hanya mengerjakan bagian proyek itu tanpa memengaruhi hal lain.
Ini juga berlaku jika beberapa orang mengerjakan file yang sama – kekuatan utama lain dari USD. Sepuluh orang dapat mengerjakan file yang sama sehingga perubahan yang dibuat oleh seniman nomor satu segera terlihat oleh seniman nomor dua, memungkinkan mereka untuk menyesuaikan pekerjaan mereka dengan sesuai. Mampu berkolaborasi dengan orang-orang dari jarak jauh sangatlah kuat.
Masa Depan Alur Kerja 3D
Aman untuk mengatakan bahwa USD jauh lebih dari sekadar format file. Ini adalah platform dan ekosistem teknologi komprehensif yang dalam misinya benar-benar selaras dengan Blender: kebebasan untuk berkreasi tanpa batasan.
USD masih dalam pengembangan. Mimpinya nyata – format file perangkat lunak universal yang dapat digunakan oleh perangkat lunak apa pun di industri, dapat diedit secara real time oleh banyak seniman.
Kita semua harus berterima kasih kepada Pixar yang telah membuka jalan dengan pengembangan yang luar biasa ini, dan untuk perusahaan seperti Nvidia dan Apple yang berkontribusi bagian mereka.