ダズ トゥ マヤ ブリッジ
Daz Bridge ライブラリに基づく Daz Studio プラグイン。Daz Studio のキャラクターとプロップを Maya に転送できます。
- オーナー: Daz 3D – @Daz3d
- ライセンス: Apache ライセンス、バージョン 2.0 - 詳細については、
LICENSE
とNOTICE
を参照してください。 - 正式リリース: Daz to Maya Bridge
- 公式プロジェクト: github.com/daz3d/DazToMaya
目次
- 橋について
- 前提条件
- インストール方法
- 使用方法
- 構築方法
- 開発方法
- ディレクトリ構造
1. 橋について
これは、Daz Bridge Library を基盤として使用して C++ で書き直された、オリジナルの DazToMaya Bridge の更新バージョンです。これにより、DazToUnreal ブリッジや DazToBlender ブリッジなどの他のブリッジと同じソース コードと機能を共有できます。
Daz To Maya Bridge は、アセットを Maya にエクスポートする Daz Studio プラグインと、アセットをインポートして Maya で元の Daz Studio アセットの外観を再作成するのに役立つ Maya モジュールの 2 つの部分で構成されます。
2. 前提条件
- Daz Studio アプリケーションの互換バージョン
- Maya アプリケーションの互換性のあるバージョン
- オペレーティング·システム:
- Windows 7以降
- macOS 10.13 (High Sierra) 以降
3. Daz To Maya Bridge をインストールするにはどうすればよいですか?
ダズスタジオ:
- Daz To Maya Bridge は、Daz Install Manager を通じて自動的にインストールできます。これにより、[ファイル] -> [送信] -> [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 シェルフでタブを無効にしている場合は、「歯車」アイコンをクリックして「シェルフ タブ」を選択し、「DazToMaya」タブを見つけて選択する必要がある場合があります。
- シェルフの DazToMaya タブに、「DAZ IMPORT」のアイコンが表示されるはずです。 Daz To Maya Bridge のインストールが完了しました。
- 「DAZ IMPORT」アイコンをクリックしようとしたときにエラーが発生した場合は、PyMEL がインストールされていることを確認してください。
4. Maya Bridge の使用方法を教えてください。
- Daz Studio でキャラクターを開きます。
- 衣服や髪がメイン ボディにペアレント化されていることを確認してください。
- メイン メニューから、[ファイル] -> [送信] -> [Daz To Maya] を選択します。あるいは、[ファイル] -> [エクスポート] を選択し、[ファイルの種類] ドロップダウン オプションから [Maya Ascii ファイル] または [Maya バイナリ ファイル] を選択することもできます。
- ダイアログがポップアップ表示されます。実行したい変換のタイプを選択します。「スタティック メッシュ」(スケルトンなし)、「スケルタル メッシュ」(キャラクターまたはジョイントあり)、「アニメーション」または「環境」(シーン内のすべてのメッシュ) 。
- モーフまたはサブディビジョン レベルを有効にするには、チェックボックスをクリックしてそのオプションを有効にし、[モーフを選択] または [サブディビジョンをベイク処理] ボタンをクリックして選択内容を設定します。
- [同意する] をクリックし、Maya に切り替えるタイミングを通知するダイアログ ポップアップが表示されるまで待ちます。
- Maya から、DazToMaya ツールシェルフの「DAZ IMPORT」アイコンをクリックして、DazToMaya Bridge ダイアログ ウィンドウを開きます。
- 「自動インポート」を選択します。
モーフ:
- [モーフのエクスポート] オプションを有効にすると、アウトライナー パネルに「モーフ」ノードが表示されます。このノードを選択すると、「アトリビュート エディタ」パネルの「追加アトリビュート」見出しの下にモーフ スライダが表示されます。
アニメーション:
- 「アニメーション」アセット タイプ オプションを使用するには、フィギュアは Daz Studio の「タイムライン」システム上のアニメーションを使用する必要があります。
- 「aniMate」または「aniBlocks」ベースのアニメーションを使用している場合は、「aniMate」パネルを右クリックして「Bake To Studio Keyframes」を選択する必要があります。
- アニメーションが「タイムライン」システムに配置されたら、[ファイル] -> [送信] -> [Daz To Maya] を使用して転送を開始できます。
- 転送されたアニメーションは、Maya アニメーション インターフェイスを通じて使用できるようになります。
サブディビジョンのサポート:
- Daz Studio は、非常に効率的な方法で無限に滑らかな表面を記述する数学的方法である Catmull-Clark Subdivision Surface テクノロジを使用します。無限に滑らかな円を半径だけで記述する方法と同様に、Daz Figure の基本解像度メッシュは、実際には無限に滑らかな表面を記述する方程式の数学的データです。 Catmull-Clark サブディビジョンおよびサブディビジョン サーフェス ベースのモーフ (HD モーフとも呼ばれます) をサポートするソフトウェアの場合、基本解像度メッシュ (サブディビジョン レベル 0) をエクスポートし、ネイティブ Catmull-Clark を使用することで、品質や詳細が失われることはありません。細分化機能。
- Catmull-Clark サブディビジョンまたは HD モーフを完全にサポートしていないソフトウェアの場合は、追加のサブディビジョン詳細レベルをメッシュに「ベイク」して、元のサーフェスの詳細にさらに近づけることができます。ただし、追加のサブディビジョン レベルをベイクするたびに、指数関数的に多くの CPU 時間、メモリ、およびストレージ スペースが必要になります。ハイエンド PC をお持ちでない場合、エクスポートされるサブディビジョン レベルを 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)
- OpenSubdiv 3.4.4
(Daz Studio SDK に組み込まれている Qt 4.8.1 ビルド ライブラリを使用する必要があることに注意してください。外部 Qt ライブラリを使用すると、ビルド エラーが発生し、プログラムが不安定になります。)
DazToMaya github リポジトリをローカル マシンにダウンロードまたは複製します。 Daz Bridge Library は、git サブモジュールとして DazBridge リポジトリにリンクされています。 git クライアントによっては、Daz Bridge ライブラリを適切に複製するためにgit submodule init
およびgit submodule update
使用する必要がある場合があります。
ビルド セットアップ プロセスは、対話型セッションで 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:/プログラム ファイル/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 にビルドされたことを前提としています。 .a. Mac および Windows 用の事前構築されたライブラリは、https://github.com/danielbui78/OpenSubdiv/releases にあります。これには、インクルードおよび事前構築されたリリース静的ライブラリ バイナリの正しい場所が含まれています。このプリコンパイル済みバージョンを使用していない場合は、OPENSUBDIV_INCLUDE フォルダー パスと OPENSUBDIV_LIB ファイルパスの正しい場所を確認する必要があります。
これらのパスが CMake GUI に正しく入力されると、[構成] ボタンをクリックできるようになり、構成プロセスが再開されて完了するはずです。その後、プロジェクト ファイルが生成され、プロジェクトを開くことができます。 Qt 4.8 ビルド ツールとライブラリのカスタム バージョンが DAZ_SDK_DIR に含まれていることに注意してください。別のバージョンの Qt がシステムにインストールされており、CMake で認識できる場合、DAZ_SDK_DIR で提供されている正しいバージョンの Qt を見つける際にエラーが発生し、ビルド エラーや失敗が発生する可能性があります。
結果として得られるプロジェクト ファイルには、プロジェクト ターゲットとして「DzBridge-Maya」、「DzBridge Static」、および「MayaModule ZIP」が含まれている必要があります。「DzBridge-Maya」によって生成された DLL/DYLIB バイナリ ファイルは、Daz Studio プラグインとして機能する必要があります。「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 ライブラリの基本クラスから派生します (bridge.h を参照)。公式 Daz Bridge プラグインの以前に公開されたバージョンでは、カスタム名前空間を使用して、各プラグインから共有クラス名を分離していました。これは理論的には、C++ 名前空間に準拠するプラットフォームの名前空間の衝突を防ぐために機能しますが、Qt の一部の実装や、Daz Studio と Bridge プラグインで頻繁に使用される Qt メタオブジェクト プログラミング モデルには当てはまらない可能性があります。特に、C++ 名前空間は Qt の Mac OS 実装上のコードを分離していない可能性があります。これらの制限を念頭に置いて、潜在的なブリッジ プラグイン開発者に対する展開の複雑さを合理化し、軽減するために、DZ_BRIDGE_NAMESPACE の名前を変更するという推奨事項を削除することにしました。
このプラグインと Daz Bridge Library の間で C++ クラスをリンクして共有するために、標準の DZ_PLUGIN_DEFINITION マクロと通常の .DEF ファイル (bridge.h を参照) の代わりにカスタムCPP_PLUGIN_DEFINITION()
マクロが使用されます。注: DZ_PLUGIN_DEFINITION マクロを使用し、DEF ファイルを使用すると、Visual Studio コンパイラでの C++ クラスのエクスポートが無効になります。
7. ディレクトリ構造
Maya ディレクトリ内には、ターゲット マシン上の場所に対応するサブディレクトリの階層があります。階層の一部はサポートされているプラットフォーム間で一貫しているため、正確に複製する必要がありますが、他の部分はターゲット マシンのプラットフォームに応じて異なる場所のプレースホルダーとして機能します。
このリポジトリで使用されるプレースホルダ ディレクトリ名は次のとおりです。
名前 | 窓 | macOS |
---|
appdir_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
: 品質保証テストに使用されるスクリプトと生成された出力 (レポート)。