達茲到瑪雅橋
基於 Daz Bridge 庫的 Daz Studio 插件,允許將 Daz Studio 角色和道具傳輸到 Maya。
- 擁有者:Daz 3D – @Daz3d
- 許可證:Apache 許可證,版本 2.0 - 有關詳細信息,請參閱
LICENSE
和NOTICE
。 - 官方發布:Daz 到 Maya 的橋樑
- 官方專案:github.com/daz3d/DazToMaya
目錄
- 關於大橋
- 先決條件
- 如何安裝
- 如何使用
- 如何建造
- 如何發展
- 目錄結構
1. 關於橋樑
這是原始 DazToMaya Bridge 的更新版本,以 Daz Bridge 函式庫為基礎用 C++ 重寫。這使得它可以與其他橋(例如 DazToUnreal 和 DazToBlender Bridge)共享相同的原始程式碼和功能。
Daz To Maya Bridge 由兩部分組成:Daz Studio 外掛程式(將資源匯出到 Maya)和 Maya 模組(用於匯入資源並協助在 Maya 中重新建立原始 Daz Studio 資源的外觀)。
2. 前提條件
- Daz Studio 應用程式的相容版本
- Maya 應用程式相容的版本
- 作業系統:
- Windows 7 或更高版本
- macOS 10.13 (High Sierra) 或更高版本
3. 如何安裝 Daz To Maya Bridge?
達茲工作室:
- 您可以透過 Daz 安裝管理器自動安裝 Daz To Maya Bridge。這將在“檔案”->“傳送到”->“Daz To Maya”下自動新增一個選單選項。
- 或者,您可以透過從 Github 發布頁面下載最新版本並按照其中的說明安裝到 Daz Studio 來手動安裝。
瑪雅:
- Daz Studio 外掛程式嵌入了 Maya Bridge 模組的安裝程式。在「Daz To Maya Bridge」對話方塊中,「進階設定」部分現在有一個用於安裝 Maya 模組的部分。
- 點選“安裝插件...”按鈕。您將看到一個彈出窗口,用於選擇安裝 Maya 模組的資料夾。起始資料夾應該是 Maya 插件和模組的預設位置。
- 在 Windows 上,安裝模組的路徑應為「Documentsmayamodules」。在 Mac 上,路徑應為「/Users//Library/Preferences/Autodesk/maya/modules」。
- 對於大多數 Maya 設置,您應該只需單擊“選擇資料夾”即可。然後您將看到一個確認對話框,說明插件安裝是否成功。
- 如果 Maya 正在運行,您將需要重新啟動才能載入 Daz To Maya Bridge 模組。
- 在 Maya 中,您現在應該在 Maya 工具架工具列中看到「DazToMaya」標籤。按一下此標籤以找到 DazToMaya 選項。
- 如果您在 Maya Shelf 中停用了選項卡,則可能需要按一下「cog」圖示並選擇「Shelf Tabs」以尋找並選擇「DazToMaya」標籤。
- 從工具架的 DazToMaya 標籤中,您現在應該會看到「DAZ IMPORT」的圖示。您已完成 Daz To Maya Bridge 的安裝!
- 如果您在嘗試按一下「DAZ IMPORT」圖示時收到錯誤,請確保您已安裝 PyMEL。
4. 如何使用Maya Bridge?
- 在 Daz Studio 中開啟您的角色。
- 確保所有衣服或頭髮都是主體的父級。
- 從主選單中,選擇“檔案”->“傳送到”->“Daz 到 Maya”。或者,您可以選擇“檔案”->“匯出”,然後從“儲存類型”下拉選項中選擇“Maya Ascii 檔案”或“Maya 二進位檔案”。
- 將彈出一個對話方塊:選擇您想要執行的轉換類型,「靜態網格體」(無骨架)、「骨架網格體」(角色或帶關節)、「動畫」或「環境」(場景中的所有網格體) 。
- 若要啟用變形或細分級別,請按一下核取方塊以啟用該選項,然後按一下「選擇變形」或「烘焙細分」按鈕來設定您的選擇。
- 點擊“接受”,然後等待彈出對話框通知您何時切換到 Maya。
- 在 Maya 中,按一下 DazToMaya 工具架中的「DAZ IMPORT」圖示以開啟 DazToMaya Bridge 對話方塊視窗。
- 選擇“自動導入”。
變形:
- 如果啟用了「匯出變形」選項,則「大綱視圖」面板中將會有一個「變形」節點。選擇此節點,您將看到變形滑桿出現在「屬性編輯器」面板中的「額外屬性」標題下。
卡通:
- 若要使用「動畫」資源類型選項,您的人物必須在 Daz Studio「時間軸」系統上使用動畫。
- 如果您使用基於「aniMate」或「aniBlocks」的動畫,則需要在「aniMate」面板中右鍵並選擇「Bake To Studio Keyframes」。
- 一旦您的動畫位於「時間軸」系統上,您就可以使用「檔案」->「傳送到」->「Daz 到 Maya」開始傳輸。
- 現在應該可以透過 Maya 動畫介面使用傳輸的動畫。
細分支援:
- Daz Studio 使用 Catmull-Clark 細分曲面技術,這是一種以非常有效的方式描述無限光滑表面的數學方法。與僅用半徑描述無限光滑的圓類似,Daz 圖的基本解析度網格實際上是描述無限光滑表面的方程中的數學資料。對於支援Catmull-Clark 細分和細分基於表面的變形(也稱為HD 變形)的軟體,透過匯出基本解析度網格(細分等級0),然後使用本機Catmull-Clark,不會造成質量或細節損失細分功能。
- 對於不完全支援 Catmull-Clark 細分或 HD Morphs 的軟體,我們可以將額外的細分細節層級「烘焙」到網格中,以更接近原始表面的細節。然而,烘焙每個額外的細分級別都需要倍增的 CPU 時間、記憶體和儲存空間。如果您沒有高階電腦,則將匯出的細分等級設為高於 2 時,您的系統可能會耗盡記憶體並崩潰。
- 當您在 Daz To Maya 橋中啟用「烘焙細分」選項時,資源將作為具有更高解析度頂點計數的標準網格傳輸到 Maya。
5. 如何建構
建置系統的設定和配置是透過 CMake 完成的,以產生適用於 Windows 或 Mac 的專案檔案。 CMake 配置需要:
- 現代 CMake(在 Win 上使用 3.27.2 進行測試,在 Mac 上使用 3.27.0-rc4 進行測試)
- Daz Studio 4.5+ SDK(來自 DIM)
- Fbx SDK 2020.1(win)/Fbx SDK 2015.1(mac)
- 開放細分 3.4.4
(請注意,您必須使用 Daz Studio SDK 中內建的 Qt 4.8.1 建置庫。使用外部 Qt 庫將導致建置錯誤和程式不穩定。)
將 DazToMaya github 儲存庫下載或複製到本機。 Daz Bridge 函式庫作為 git 子模組連結到 DazBridge 儲存庫。根據您的 git 用戶端,您可能必須使用git submodule init
和git submodule update
才能正確複製 Daz Bridge 函式庫。
建置設定過程設計為在互動式會話中使用 CMake gui 運行。設定原始碼資料夾和輸出資料夾後,使用者可以按一下「配置」。 CMake 將在設定過程中停止,提示使用者輸入以下路徑:
- DAZ_SDK_DIR – Daz Studio 4.5+ SDK 的根資料夾。這必須是從 Daz Store 購買並透過 DIM 安裝的版本。任何其他版本都不適用於此原始程式碼項目,並會導致建置錯誤和失敗。範例:C:/Users/Public/Documents/My DAZ 3D Library/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – 包含 Daz Studio 執行檔的資料夾。範例:C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – 包含「include」和「lib」子資料夾的根資料夾。範例:C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – 包含「opensubdiv」、「examples」、「cmake」資料夾的根資料夾。它假設輸出資料夾設定為名為「build」的子資料夾,並且 osdCPU.lib 或 libosdCPU.a 靜態庫檔案建構於: /build/lib/Release/osdCPU.lib 或 /build/lib/Release/libosdCPU 。可以在 https://github.com/danielbui78/OpenSubdiv/releases 找到適用於 Mac 和 Windows 的預先建置庫,其中包含包含和預先建置 Release 靜態庫二進位檔案的正確位置。如果您不使用此預編譯版本,則必須確保 OPENSUBDIV_INCLUDE 資料夾路徑和 OPENSUBDIV_LIB 檔案路徑的位置正確。
將這些路徑正確輸入 CMake gui 後,可以點選「配置」按鈕,配置過程應繼續完成。然後可以產生專案文件並可以開啟專案。請注意,DAZ_SDK_DIR 中包含 Qt 4.8 建置工具和庫的自訂版本。如果您的系統中安裝了另一個版本的 Qt 並且對 CMake 可見,則可能會導致在尋找 DAZ_SDK_DIR 中提供的正確 Qt 版本時出錯,並導致建置錯誤和失敗。
產生的專案檔案應將「DzBridge-Maya」、「DzBridge Static」和「MayaModule ZIP」作為專案目標。 " 專案包含自動化腳本,這些腳本將Maya 模組檔案打包到zip 檔案中,並準備將其嵌入到主Daz Studio 插件DLL/DYLIB 二進位檔案中。
6. 如何修改和開發
Daz Studio 插件原始碼包含在DazStudioPlugin
資料夾中。該插件的主要 C++ 類別入口點是「DzBlenderAction」(.cpp/.h)。 Maya 模組原始碼和資源位於/Maya/MAYA_APP_DIR/modules/DazToMaya
資料夾中。 Daz Studio SDK API 和 Qt API 參考資訊可以在「DAZ Studio SDK Docs」套件中找到。在 Windows 上,本文檔的首頁預設安裝至: C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
。
DZ_BRIDGE_NAMESPACE :DazToMaya 橋衍生自 DZ_BRIDGE_NAMESPACE 內的 Daz 橋庫中的基底類別(請參閱bridge.h)。先前發布的官方 Daz Bridge 外掛程式版本使用自訂命名空間來隔離每個外掛程式的共用類別名稱。雖然這理論上可以防止遵循 C++ 命名空間的平台發生命名空間衝突,但對於 Daz Studio 和 Bridge 插件大量使用的 Qt 和 Qt 元物件程式設計模型的某些實作可能並不適用。值得注意的是,C++ 命名空間可能無法隔離 Qt Mac OS 實作上的程式碼。考慮到這些限制,我決定刪除重命名 DZ_BRIDGE_NAMESPACE 的建議,以便為潛在的橋接插件開發人員簡化並降低部署複雜性。
為了在該插件和 Daz Bridge 庫之間連結和共享 C++ 類,使用自訂CPP_PLUGIN_DEFINITION()
巨集而不是標準 DZ_PLUGIN_DEFINITION 巨集和常用的 .DEF 檔案(請參閱bridge.h)。注意:使用 DZ_PLUGIN_DEFINITION 巨集和 DEF 檔案將停用 Visual Studio 編譯器中的 C++ 類別匯出。
7. 目錄結構
Maya 目錄內有與目標電腦上的位置相對應的子目錄層次結構。層次結構的某些部分在受支援的平台之間是一致的,應該準確複製,而其他部分則用作位置的佔位符,具體位置取決於目標計算機的平台。
此儲存庫中使用的佔位符目錄名稱是:
姓名 | 視窗 | macOS |
---|
應用程式目錄_common | 包含目標應用程式的主執行檔 (.exe) 的目錄。子層次結構在 32 位元和 64 位元體系結構之間很常見。 | 包含目標應用程式的主應用程式套件 (.app) 的目錄。子層次結構在 32 位元和 64 位元體系結構之間很常見。 |
MAYA_APP_DIR | 代表您的個人 Maya 應用程式目錄的目錄 - 請參閱 Maya 文檔 | 兩個平台都一樣。 |
MAYA_SCRIPT_PATH | MEL 腳本的搜尋路徑 - 請參閱 Maya 文檔 | 兩個平台都一樣。 |
目錄結構如下:
-
Maya
:與橋的Maya端相關的文件 DazStudioPlugin
:與 DazToMaya 橋的Daz Studio端相關的文件Resources
:要嵌入到 Daz Studio 插件中的資料檔案和支援腳本以促進此建置階段。
-
dzbridge-common
:DazStudioPlugin 使用的 Daz Bridge 庫中的文件Extras
:補充腳本和支援文件以幫助轉換過程,特別是對於遊戲引擎和其他即時應用程式。
-
Test
:用於品質保證測試的腳本和產生的輸出(報告)。