Daz Studioには3D関連の他のアプリケーションに3Dモデルをエクスポートするための機能拡張がいくつかあります。有名なところではDaz to Blender Bridgeですね。
Blenderは有名なフリーの3Dモデリングソフトです。Daz Studioはモデリングの機能が(ほとんど)ありません。そこでBlenderにエキスポートすることでより細かい3Dモデルの調整が可能となります。
ではUnityとは何でしょう。
Unityは言わずと知れた、フリーのゲーム開発プラットフォームです。フリーというのはちょっと微妙で、実際に収益が一定以上あるゲームの場合、フリーではありません。2D、3D、VRとありとあらゆる環境でゲームを作成することができます。
そこで今回私は、Daz Studioで作ったフィギュアを、Unityに持っていってクオリティの高いフィギュアをUnity上で動かせないかと思いました。
今回は、Daz to Unity Bridgeを使って確実にUnity上にDazフィギュアを持っていく方法を解説します。(2022年4月17日記事を一部改変)
ジャンル:Bridges
Daz Shopで頒布されている製品のページです。
0ドル購入してDaz Centralからインストールします。
コンテンツチェック
Unityのインストール
まずUnityのインストールをしますが、Unityは世界的なコミュニティを持つ偉大なアプリです。1年に何回もアップデートされ、ものすごい速さで進化を遂げています。
それに対してDaz Studioのバージョンアップは緩やかで、そのためにDaz to Unity BridgeはUnityの旧バージョンにしか対応していません。そこでまず旧バージョンのUnityをインストールします。
幸い、ゲーム開発の世界ではこういったことはよくあるので、Unity使いの方々はいくつものバージョンをインストールしてゲームを作っているということです。
UnityはエディターをUnity Hubから起動するようにできています。
そこでまず Daz to Unity Bridgeに適した古いバージョンの Unity Hubをインストールします。
古いバージョンの Unity Hubは残念ながらUnity TechnologiesからDLすることはできません。下記のサイトを参照してください。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13228982998
というわけで旧バージョンのUnity Hubをインストールします。
以下が 旧バージョンUnity Hub2.0.4です。
今回、Daz to Unity Bridgeが動く2020.1.17h1をインストールします。右上のインストールボタンをクリックします。(図ではすでに 2020.1.17h1 はインストールされています)
注意!
旧いバージョンを使っているので、常に最新版にしろと警告されますが、「後で通知」をクリックして無視し続けてください。
旧いバージョンがリストにないので、「正式リリースのWebページ」を開きます。
ありました。「 2020.1.17 」を見つけたら「Unity hub」からインストールを選んでインストールしてください。
Unityは5ギガ強もある巨大なアプリです。
よってインストールにはおそろしく時間がかかります。辛抱強く待ちましょう。
また、さまざまなオプションのインストールの有無を求められますが、今後Unityを使い続けるなら以下はインストールしてください。
MS Visual Studio
Android Build Support
Android SDK & NDK Tools
Open JDK
iOS Build Support
※全部インストールすると10ギガ以上になります。
プロジェクトの作成
プロジェクトから新規作成の下向き三角形をクリックします。
2020.1.17エディタで新規プロジェクトを作るので、「 2020.1.17 」を選択します。
High Definition(高解像度) RPを選んでください。Dazの3Dモデルはメッシュの頂点数が多いので3Dではなく High Definition(高解像度) RP を選びます。
ファイル名を適当に付けます。英語の方が無難です。ここではNew Unity Project1を作りました。
保存先はC\Unityが無難です。この中に、まだないフォルダ名を付けてください。
作成ボタンをクリックします。
1ギガ以上あるフォルダを作るので、ものすごく時間がかかります…
自動的にUnity Editorが起動して、サンプルプロジェクトが現れます。
サンプルプロジェクトシーンには余計なpropsが配置されているので、新しいシーンを作成しておきます。FileメニューからNew Sceneを選択し、新しいシーンに切り替えます。
新しいシーンに切り替わりました。
Dazの規約の確認
Dazの規約では、UnityでDazのモデルを使用する場合、別途インタラクティブライセンスを商品ごとに購入する必要があります。DazのWebページには下記のように書かれています。
When you should get an Interactive License:
An Interactive License is required when using or distributing 3D content from the Daz 3D store, whether modified or in its original form, in video games or other applications. This is because apps and video games use, alter, or manipulate the original 3D data, rather than 2D rendered images (one exception being content created using a stack of renders, such as a sprite — in which case the standard agreement would suffice).
While plenty of 3D Content from Daz comes with an Interactive License option, select items do not — the creator of each product chooses whether or not to offer an Interactive License. If no Interactive License options are offered for a product, it is not an option for using in an app, game, or video game (as a 3D asset).
Unless otherwise specified, these licenses are not eligible for returns or refunds.
Read the full rights of the EULA here. More details on Interactive Licenses can be found in Section 3.0.
ここにはっきりと「ビデオゲームやその他のアプリケーションで、(3Dモデルが)変更されているか元の形式であるかにかかわらず、Daz 3Dストアから3Dコンテンツを使用または配布する場合は、インタラクティブライセンスが必要です。」と書かれています。
よって、UnityにDazストアで購入した 3Dフィギュアをエクスポート して使用した時点で、インタラクティブライセンスを購入済みである必要があることになります。
Unityにエクスポートした瞬間に、ベンダーさんが苦労して作ったモデルがどんどん拡散してしまう可能性があるからですね。ここはやはり作成された方に敬意を払ってお金を支払いましょう。
Daz StudioからUnityにエクスポートする
それでは次にDaz側で3Dフィギュアをエクスポート(書き出し)する準備をします。
今回の記事のために、YunaフィギュアのInteractive Licenseを購入しました。服は「販売・再配布以外は自由にお使いください。」と記されているカオス様のシャツとスカートを使わせていただきました。ありがとうございます。
まず、エクスポートしたい服や靴はすべてフィギュアの子オブジェクトにしておきます。
子オブジェクトになっていない場合は、選択(図の黄色い部分)してドラックして「Yuna」の上に重ねます。
SceneペインでYunaを選択した状態で、fileメニューからSend to → Daz to Unityと選択します。
図のようなダイアログボックスが出てくるので、
Asset Name: エクスポートするフォルダ名
Asset Type: フィギュアの場合はSkeletal Mesh(アニメーションの場合はAnimation、Propの場合はStatic mesh)
Enable Morphs: チェックしてUnityに読み込みたいモーフを「Cheese Morps」から選択
Unity Assets Folder: …を選択し、先ほど作成したUnityのプロジェクトフォルダの中のAssetsまでのパスを選択
Install Unity Files: チェックを入れる
最後にAcceptを選択
モーフの選択画面。迷ったらArms,Legs,Torsoを選んでAccept。
Daz側でエクスポートが始まります。
時間がかかります。
Unity側でインポートが自動で始まる
Unityが立ち上がり、インポートが自動で始まります。
ものすごく時間がかかります。
最後にインポート結果が表示されます。
HD Render Pipeline Assetの調整
AssetsからSettingsをクリックして開きます。Assetsとはユニティの構成要素を入れておくフォルダです。
AssetsからHDと書かれたファイルを選択すると、インスペクターウインドウ(右上)にHD Render Pipeline Assetのコンポーネントが表示されます。
Diffusion profile listsの+をクリックしてプロパティを追加します。
IrayUberSkinDiffusionProfileを選択し、ダブルクリックします。
フィギュアを見やすくする
Daz to Unity Bridgeでフィギュアをエクスポートすると、フィギュアは自動的にシーンに配置されています。しかし、最初の状態では、図のように見えやすく配置されているわけではありません。
下のウインドウはgameウインドウと言って、ゲームを再生した時にカメラを通して映ったものが表示されるウインドウです。
上のウインドウは作業ウインドウです。
どちらもきちんとフィギュアが表示されていないと思います。
フィギュアが光り輝いているときは、照明が強すぎなので、ヒエラルキーウインドウからdirectional Lightを選択し、インスペクターウインドウのintensity(照度の強さ)の値を小さくしましょう。
照明がずれて当たっている時は、インスペクターウインドウの上部の方の、Rotationで調整します。
gameウインドウに何も写っていないのは、カメラがフィギュアに向いていないためです。ヒエラルキーウインドウからMain cameraを選択して、インスペクターウインドウのPositionとRotationでカメラの向きをフィギュアに当てましょう。
作業ウインドウの見る方向を変えたい時は、画面右上の4Splitを選ぶと便利です。
作業ウインドウに映る画像を上下左右に動かしたい時は、図のハンドマークを選択してから、マウスドラッグで画面上を動かします。
左にドラッグしてみました。
アップしたい時は、マウスホイールを動かします。(ハンドマークのままで大丈夫)
管理人のコメント
ここまでたどり着くまでに、Unityの初心者本を購入してUnityの基本操作は一通り覚えました。
SB Creative「Unity 2021入門」
Daz to Unityの基本操作はDaz様のHPに掲載されています。
https://renderguide.com/daz-to-unity-bridge-tutorial/
Unityの中に初めてDazキャラクターが表示されたときは感動でした。
(2022年4月追記)
DazからUnityに持ってくると、レンダリング方法が変わります。
HD Render Pipeline というレンダリング方法でレンダリングされます。これはリアルタイムにレンダリングされる分、DazのiRayよりもレンダリングクオリティが落ちます。
このブログの画像を見ても一目瞭然だと思います。
その代わり、それなりのクオリティでリアルタイムレンダリングされるのは大きなメリットです。これによりDazフィギュアのアニメーションがリアリタイムでレンダリングできるわけです。