DAZ on Blender|クロスシミュレーション(スカート編) - DAZ.Ble 実験室
DAZ ImporterでBlender (Chromebook - WINE)に読み込んだDAZセーラー服のプリーツスカートを、高速にクロス(布)シミュレーションする方法を紹介します。
クラウド仮想WindowsのPaperspace Core GPU+(NVIDIA GPU付きでOpenCLが使える)で、DAZ G8F セーラー服モデル全体をdForceシミュレーションすると約15分かかっていました。
今回の事例だと、一般的なスペックのローカルPCで、スカートだけですが、約10秒と、非常に高速なクロスシミュレーションが可能です。
DAZ StudioでのdForceシミュレーションより多少手間がかかり、結果が想定しにくいですが、試行錯誤しながらのクロスシミュレーションをお楽しみください。
セーラー服美少女モデルを読み込む
DAZ Studio側
以下の記事で無料ダウンロード提供しているセーラー服美少女「Lei-G8-Salor-Pose-Light-Non-Sim」シーンをDAZ Studioで開きます。
ライティングとカメラアングルを見やすいように変えました。
モデルとシーン自体は記事内から無料ダウンロードできますが、シーンで使っている2種類のJK制服は、記事の説明に従って各自でShareCGサイトからダウンロードしてください。
以下の記事に従って、Diffeomorphic DAZ Importerをインストールし、シーンをBlenderにエクスポートします。
Blender側
上記の記事に従って、「DAZ Setup」タブから「Easy Import DAZ」ボタンをクリックし、シーンをBlenderに読み込みます。
髪の位置を修正
髪の位置がズレているので修正しました。ちなみに、クラウド仮想WindowsのPaperspaceではこうした現象は起こらなかったので、Chromebook WINE特有の現象だと思います。
「Toulouse Hair」を選んで、「トランスフォーム」の「Y(前後)」を -0.07m、「Z(上下)」を -0.09m ほど移動させました。かなり大雑把ですが・・・
人体とスカートにシミュレーション設定
今回は、ブラウスより構造がシンプルなスカートをクロスシミュレーションします。
人体には衝突判定(コリジョン)を設定し、スカートが人体に当たるとその表面に沿って変形しますが、双方に設定する摩擦の数値もシミュレーションに影響します。
DAZ ImporterでdForceの設定を簡易的に行った上で、手作業でBlenderのクロスシミュレーションの設定を行います。
人体に衝突判定(コリジョン)を設定
「Genesis 8 Female Mesh」を選択し、DAZ Importerの「Make Simulation」ボタンをクリック。
エラーが表示されますが、かまわず「OK」をクリック。
DAZ Importerで「Make Collision」ボタンをクリックしてみましたが、モディファイアー画面にコリジョンが追加されなかったので、Blender側で手動で追加します。
「モディファイアーを追加」をクリックし、「コリジョン(衝突判定)」をクリック。
私の場合は、トップの「Armature SkinBinding」の右端の「✕」をクリックし削除しています。
人体は「コリジョン」モディファイアーのみにしています。
「物理演算」タブ(回転アイコン)に切り替えます。
一番下にある「摩擦」の数値(1.000~100.000くらいまで)を変えると、スカートの表面の状態やシミュレーション速度、あるいは、スカートの落下(下方向へのズレ)に影響があります。
スカートにクロス(布)を設定
「Skirt4a」を選択し、DAZ Importerの「Make Deflection」ボタンをクリック。
「OK」をクリック。
エラーが表示されますが、気にせず「OK」をクリック。
同様に「Make Cloth」ボタンをクリック。
「OK」をクリック。
「モディファイアー」(レンチアイコン)タブを開きます。
「Armature…」モディファイアーの「✕」をクリックし削除します。
「ソリッド化」モディファイアーを追加し、スカートの生地に厚みを持たせます。
「幅」を 0.001 に変更します。この数値を変更(0.001~0.005くらい)すると、スカート表面の状態などに影響がありますが、通常は変更しなくて良いです。
私の場合は、「フィル」のチェックを外しています。スカートの状態などに多少影響します。
「物理演算」タブをクリック。
「品質のステップ数」の数値を変えると、シミュレーション速度やスカートの表面の状態などに影響します。私の場合は「4」に設定していますが、1や2に変更するとシミュレーション速度が上がります。
下にスクロールし「コリジョン」を展開します。
私の場合は、「品質」は「2」に設定しています。この数値を変えると、シミュレーション速度やスカートの表面の状態などに影響します。
「セルフコリジョン」にチェックを入れ、「摩擦」の数値(1.000~100.000くらいまで)を変更すると、スカートの表面の状態や、スカートの落下(下方向へのズレ)などに影響します。
私の場合は、チェックを入れ、「5.000」に設定しています。
クロスプリセット
「物理演算」タブを開き、「クロス」の右上にある「クロスプリセット」(リストアイコン)をクリックすると、いくつかのプリセットから選べます。(デフォールトは「綿」)
クロスシミュレーションを実行する
シミュレーションの開始と停止
「スペースバー」を押すとシミュレーションが開始され、再度押すと停止します。毎回1フレーム(トップ)に戻してスタートしてください。
任意のフレーム数(時間)だけシミュレーションができますが、設定により10秒~1分ほどかかります。私の場合は、通常は20~30フレームで止めて、15フレームあたりをレンダリングに使うようにしています。
最初は10フレーム程度で止め、最初のフレームに戻し、再生してみると良いと思います。フレームバーをクリックするか、フレームカーソルをマウスでドラッグすると任意のフレームに移動できます。
シミュレーション結果
15フレーム目をレンダリングしてみます。
今回の場合は、残り時間で見ると30分ほどかかるので、3分ほど(プログレスは約10%くらい)で途中停止し、画像を保存しています。
画面下に現れるプログレスバーの右端の「✕」をクリックすると途中停止できます。プログレスバーが見えない場合は、メインウィンドウをクリックすると見れますが、レンダリング画面は後ろに隠れます。
「画像」メニューから「名前を付けて保存…」を選び、場所を指定し名前を付けて保存します。
この例のレンダリング画像は以下です。
レンダリング画像で比較
ちなみに、DAZフルシミュレーションは約15分、Blenderスカートシミュレーションは約10秒(約0.5fps)でした。レンダリング時間はすべて3分ほどで中止し保存しました。
まとめ
Chromebook - WINE環境のDAZ Studioでは、dForce物理シミュレーションが使えないので、今まではクラウド仮想WindowsのPaperspace Core GPU+ で行っていました。
今回は、WINE環境のBlender Windows版にDAZ ImporterでDAZシーンを読み込んで、Genesis 8 Femaleに着用したセーラー服のプリーツスカートでクロスシミュレーションを試してみたので紹介しています。
多少手間がかかり、慣れるまでは結果を想定しづらいですが、一方で、スカートのみに限定したシミュレーションが行えたり、一般的なPCでも約10秒と高速など、試行錯誤の過程では活用できそうです。
次回以降では、ブラウスなどへの応用や、Blenderに読み込んだAポーズのDAZモデルにポーズやアニメーションを適用し、動的なシミュレーションにチャレンジしたいと思います。