Jembatan Daz Ke Maya
Plugin Daz Studio berdasarkan Perpustakaan Daz Bridge, memungkinkan transfer karakter dan properti Daz Studio ke Maya.
- Pemilik: Daz 3D – @Daz3d
- Lisensi: Lisensi Apache, Versi 2.0 - lihat
LICENSE
dan NOTICE
untuk informasi lebih lanjut. - Rilis Resmi: Daz ke Jembatan Maya
- Proyek Resmi: github.com/daz3d/DazToMaya
Daftar isi
- Tentang Jembatan
- Prasyarat
- Cara Menginstal
- Cara Menggunakan
- Bagaimana Membangun
- Bagaimana Mengembangkan
- Struktur Direktori
1. Tentang Jembatan
Ini adalah versi terbaru dari DazToMaya Bridge asli yang ditulis ulang dalam C++ menggunakan Daz Bridge Library sebagai fondasinya. Hal ini memungkinkannya untuk berbagi kode sumber dan fitur yang sama dengan jembatan lain seperti Jembatan DazToUnreal dan DazToBlender.
Jembatan Daz To maya terdiri dari dua bagian: Plugin Daz Studio yang mengekspor aset ke Maya dan modul Maya untuk mengimpor aset dan membantu menciptakan kembali tampilan aset Daz Studio asli di Maya.
2. Prasyarat
- Versi aplikasi Daz Studio yang kompatibel
- Versi aplikasi Maya yang kompatibel
- Sistem Operasi:
- Windows 7 atau lebih baru
- macOS 10.13 (Sierra Tinggi) atau lebih baru
3. Bagaimana cara memasang Jembatan Daz To Maya?
Studio Daz:
- Anda dapat menginstal Daz To Maya Bridge secara otomatis melalui Daz Install Manager. Ini secara otomatis akan menambahkan opsi menu baru di bawah File -> Send To -> Daz To Maya.
- Alternatifnya, Anda dapat menginstal secara manual dengan mengunduh versi terbaru dari Halaman Rilis Github dan mengikuti petunjuk di sana untuk menginstal ke Daz Studio.
Maya:
- Plugin Daz Studio dilengkapi dengan penginstal untuk modul Maya Bridge. Dari dialog Daz To Maya Bridge, sekarang ada bagian di bagian Advanced Settings untuk Menginstal modul Maya.
- Klik tombol “Instal Plugin…”. Anda akan melihat jendela popup untuk memilih folder untuk menginstal modul Maya. Folder awal harus menjadi lokasi default untuk plugin dan modul maya.
- Di Windows, jalur untuk menginstal modul harus “Documentsmayamodules”. Di Mac, jalurnya harus “/Users//Library/Preferences/Autodesk/maya/modules”.
- Untuk sebagian besar pengaturan Maya, Anda cukup mengeklik “Pilih Folder”. Anda kemudian akan melihat dialog konfirmasi yang menyatakan apakah instalasi plugin berhasil.
- Jika Maya sedang berjalan, Anda perlu memulai ulang agar modul Daz To Maya Bridge dapat dimuat.
- Di Maya, Anda sekarang akan melihat tab “DazToMaya” di toolbar Maya Shelf. Klik tab ini untuk menemukan opsi DazToMaya.
- Jika Anda menonaktifkan tab di Rak Maya, Anda mungkin perlu mengeklik ikon “roda gigi” dan memilih “Tab Rak” untuk menemukan dan memilih tab “DazToMaya”.
- Dari tab DazToMaya di Rak, Anda sekarang akan melihat ikon untuk “DAZ IMPORT”. Anda selesai menginstal Daz To Maya Bridge!
- Jika Anda menerima kesalahan saat mencoba mengklik ikon "DAZ IMPORT", pastikan Anda telah menginstal PyMEL.
4. Bagaimana cara menggunakan Jembatan Maya?
- Buka karakter Anda di Daz Studio.
- Pastikan semua pakaian atau rambut menempel pada tubuh utama.
- Dari menu utama, pilih File -> Kirim Ke -> Daz Ke Maya. Alternatifnya, Anda dapat memilih File -> Ekspor dan kemudian pilih "Maya Ascii File" atau "Maya Binary File" dari opsi drop-down Simpan sebagai tipe.
- Dialog akan muncul: pilih jenis konversi yang ingin Anda lakukan, “Static Mesh” (tanpa kerangka), “Skeletal Mesh” (Karakter atau dengan sambungan), "Animasi", atau "Lingkungan" (semua mesh dalam adegan) .
- Untuk mengaktifkan tingkat Morf atau Subdivisi, klik Kotak Centang untuk Mengaktifkan opsi tersebut, lalu klik tombol "Pilih Morf" atau "Panggang Subdivisi" untuk mengonfigurasi pilihan Anda.
- Klik Terima, lalu tunggu hingga muncul dialog yang memberi tahu Anda kapan harus beralih ke Maya.
- Dari Maya, klik ikon “DAZ IMPORT” dari rak alat DazToMaya untuk membuka jendela dialog DazToMaya Bridge.
- Pilih “Impor Otomatis”.
Morf:
- Jika Anda mengaktifkan opsi Ekspor Morphs, akan ada node “Morphs” di panel Outliner. Pilih node ini dan Anda akan melihat penggeser morf muncul di panel “Editor Atribut”, di bawah judul “Atribut Ekstra”.
Animasi:
- Untuk menggunakan opsi jenis aset “Animasi”, Gambar Anda harus menggunakan animasi pada sistem “Garis Waktu” Daz Studio.
- Jika Anda menggunakan animasi berbasis “aniMate” atau “aniBlocks”, Anda perlu mengklik kanan pada panel "aniMate" dan memilih "Bake To Studio Keyframes".
- Setelah animasi Anda berada di sistem “Timeline”, Anda dapat memulai transfer menggunakan File -> Send To -> Daz To Maya.
- Animasi yang ditransfer sekarang dapat digunakan melalui antarmuka Maya Animation.
Dukungan Subbagian:
- Daz Studio menggunakan teknologi Catmull-Clark Subdivision Surface yang merupakan cara matematis untuk menggambarkan permukaan mulus tanpa batas dengan cara yang sangat efisien. Mirip dengan bagaimana lingkaran mulus tak terhingga dapat dideskripsikan hanya dengan jari-jarinya, jaring resolusi dasar Gambar Daz sebenarnya adalah data matematis dalam persamaan untuk mendeskripsikan permukaan mulus tak terhingga. Untuk Perangkat Lunak yang mendukung Subdivisi Catmull-Clark dan morf berbasis permukaan subdivisi (juga dikenal sebagai HD Morphs), tidak ada penurunan kualitas atau detail dengan mengekspor mesh resolusi dasar (subdivisi level 0), dan kemudian menggunakan Catmull-Clark asli fungsi subdivisi.
- Untuk Perangkat Lunak yang tidak sepenuhnya mendukung Subdivisi Catmull-Clark atau HD Morphs, kami dapat "Membakar" tingkat detail subdivisi tambahan ke dalam mesh agar lebih mendekati detail permukaan aslinya. Namun, memanggang setiap tingkat subdivisi tambahan memerlukan lebih banyak waktu CPU, memori, dan ruang penyimpanan secara eksponensial. Jika Anda tidak memiliki PC kelas atas, kemungkinan besar sistem Anda akan kehabisan memori dan crash jika Anda mengatur tingkat subdivisi yang diekspor di atas 2.
- Saat Anda mengaktifkan opsi Bake Subdivision di jembatan Daz To Maya, aset ditransfer ke Maya sebagai mesh standar dengan jumlah titik resolusi lebih tinggi.
5. Cara Membangun
Penyiapan dan konfigurasi sistem pembangunan dilakukan melalui CMake untuk menghasilkan file proyek untuk Windows atau Mac. Konfigurasi CMake memerlukan:
- CMake modern (diuji dengan 3.27.2 di Win dan 3.27.0-rc4 di Mac)
- Daz Studio 4.5+ SDK (dari DIM)
- Fbx SDK 2020.1 (menang) / Fbx SDK 2015.1 (mac)
- OpenSubdiv 3.4.4
(Harap diperhatikan bahwa Anda HARUS menggunakan pustaka build Qt 4.8.1 yang ada di dalam Daz Studio SDK. Menggunakan pustaka Qt eksternal akan mengakibatkan kesalahan build dan ketidakstabilan program.)
Unduh atau kloning repositori github DazToMaya ke mesin lokal Anda. Perpustakaan Daz Bridge ditautkan sebagai submodul git ke repositori DazBridge. Bergantung pada klien git Anda, Anda mungkin harus menggunakan git submodule init
dan git submodule update
untuk mengkloning Perpustakaan Daz Bridge dengan benar.
Proses penyiapan build dirancang untuk dijalankan dengan CMake gui dalam sesi interaktif. Setelah menyiapkan folder kode sumber dan folder keluaran, pengguna dapat mengklik Konfigurasi. CMake akan berhenti selama proses konfigurasi untuk meminta pengguna memilih jalur berikut:
- DAZ_SDK_DIR – folder root ke Daz Studio 4.5+ SDK. Ini HARUS versi yang dibeli dari Daz Store dan diinstal melalui DIM. Versi lain TIDAK akan berfungsi dengan proyek kode sumber ini dan mengakibatkan kesalahan dan kegagalan pembangunan. contoh: C:/Pengguna/Publik/Dokumen/Perpustakaan DAZ 3D Saya/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – folder yang berisi file eksekusi Daz Studio. contoh: C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – folder root yang berisi subfolder “include” dan “lib”. contoh: C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – folder root yang berisi folder “opensubdiv”, “examples”, “cmake”. Diasumsikan folder keluaran disetel ke subfolder bernama “build” dan file perpustakaan statis osdCPU.lib atau libosdCPU.a dibuat di: /build/lib/Release/osdCPU.lib atau /build/lib/Release/libosdCPU .A. Pustaka pra-bangun untuk Mac dan Windows dapat ditemukan di https://github.com/danielbui78/OpenSubdiv/releases yang berisi lokasi yang benar untuk binari pustaka statis Rilis yang disertakan dan rilis bawaan. Jika Anda tidak menggunakan versi yang telah dikompilasi ini, Anda harus memastikan lokasi yang benar untuk jalur folder OPENSUBDIV_INCLUDE dan jalur file OPENSUBDIV_LIB.
Setelah jalur ini dimasukkan dengan benar ke dalam gui CMake, tombol Konfigurasi dapat diklik dan proses konfigurasi akan dilanjutkan hingga selesai. File proyek kemudian dapat dibuat dan proyek dapat dibuka. Harap perhatikan bahwa versi khusus alat dan pustaka build Qt 4.8 disertakan dalam DAZ_SDK_DIR. Jika versi Qt lain diinstal di sistem Anda dan terlihat oleh CMake, kemungkinan besar akan menyebabkan kesalahan dalam menemukan versi Qt yang benar yang disediakan di DAZ_SDK_DIR dan menyebabkan kesalahan dan kegagalan build.
File proyek yang dihasilkan harus memiliki "DzBridge-Maya", "DzBridge Static" dan "MayaModule ZIP" sebagai target proyek. File biner DLL/DYLIB yang dihasilkan oleh "DzBridge-Maya" harus berupa plugin Daz Studio yang berfungsi. "MayaModule ZIP Proyek " berisi skrip otomasi yang mengemas file Modul Maya ke dalam file zip dan mempersiapkannya untuk disematkan ke dalam biner DLL/DYLIB plugin Daz Studio utama.
6. Cara Memodifikasi dan Mengembangkan
Kode sumber Plugin Daz Studio terdapat dalam folder DazStudioPlugin
. Titik masuk kelas C++ utama untuk plugin ini adalah "DzBlenderAction" (.cpp/.h). Kode sumber dan sumber daya Modul Maya tersedia di folder /Maya/MAYA_APP_DIR/modules/DazToMaya
. Informasi referensi Daz Studio SDK API dan Qt API dapat ditemukan dalam paket "DAZ Studio SDK Docs". Di Windows, halaman utama dokumentasi ini diinstal secara default ke: C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
.
DZ_BRIDGE_NAMESPACE : Jembatan DazToMaya berasal dari kelas dasar di Perpustakaan Daz Bridge yang berada dalam DZ_BRIDGE_NAMESPACE (lihat bridge.h). Versi plugin resmi Daz Bridge yang diterbitkan sebelumnya menggunakan namespace khusus untuk mengisolasi nama kelas bersama dari setiap plugin. Meskipun secara teori hal ini berfungsi untuk mencegah tabrakan namespace untuk platform yang menganut namespace C++, hal ini mungkin tidak berlaku untuk beberapa implementasi model pemrograman meta-objek Qt dan Qt, yang banyak digunakan oleh Daz Studio dan plugin Bridge. Khususnya, namespace C++ mungkin tidak mengisolasi kode pada implementasi Qt di Mac OS. Dengan mengingat keterbatasan ini, saya memutuskan untuk menghapus rekomendasi untuk mengganti nama DZ_BRIDGE_NAMESPACE untuk menyederhanakan dan mengurangi kompleksitas penerapan bagi calon pengembang plugin jembatan.
Untuk menautkan dan berbagi kelas C++ antara plugin ini dan Perpustakaan Daz Bridge, makro CPP_PLUGIN_DEFINITION()
khusus digunakan sebagai pengganti makro DZ_PLUGIN_DEFINITION standar dan file .DEF biasa (lihat bridge.h). CATATAN: Penggunaan makro DZ_PLUGIN_DEFINITION dan penggunaan file DEF akan menonaktifkan ekspor kelas C++ di kompiler Visual Studio.
7. Struktur Direktori
Di dalam direktori Maya terdapat hierarki subdirektori yang sesuai dengan lokasi di mesin target. Bagian hierarki konsisten di antara platform yang didukung dan harus direplikasi secara tepat, sementara bagian lainnya berfungsi sebagai pengganti lokasi yang bervariasi bergantung pada platform mesin target.
Nama direktori placeholder yang digunakan dalam repositori ini adalah:
Nama | jendela | macOS |
---|
appdir_common | Direktori yang berisi executable utama (.exe) untuk aplikasi target. Sub-hierarki umum terjadi antara arsitektur 32-bit dan 64-bit. | Direktori yang berisi bundel aplikasi utama (.app) untuk aplikasi target. Sub-hierarki umum terjadi antara arsitektur 32-bit dan 64-bit. |
MAYA_APP_DIR | Direktori yang mewakili direktori aplikasi Maya pribadi Anda - lihat Dokumentasi Maya | Sama di kedua platform. |
MAYA_SCRIPT_PATH | Jalur pencarian skrip MEL - lihat Dokumentasi Maya | Sama di kedua platform. |
Struktur direktorinya adalah sebagai berikut:
-
Maya
: File yang berkaitan dengan sisi jembatan Maya-
MAYA_APP_DIR
: Lihat tabel di atas-
...
: Sub-hierarki yang tersisa
-
DazStudioPlugin
: File yang berkaitan dengan sisi Daz Studio dari jembatan DazToMaya-
Resources
: File data yang akan ditanamkan ke dalam Plugin Daz Studio dan skrip dukungan untuk memfasilitasi tahap pembangunan ini.
-
dzbridge-common
: File dari Perpustakaan Daz Bridge yang digunakan oleh DazStudioPlugin-
Extras
: Skrip tambahan dan file pendukung untuk membantu proses konversi, terutama untuk game-engine dan aplikasi real-time lainnya.
-
Test
: Skrip dan keluaran yang dihasilkan (laporan) yang digunakan untuk Pengujian Penjaminan Mutu.