dForce その2:物理シミュレーションをするための準備
Category : dForce
DAZ Studioの物理シミュレーションエンジン『dForce』の第2回は、シーン内のオブジェクトを物理シミュレーションさせる方法を見ていきます。そのためには、オブジェクトにdForceモディファイアを付加し、物理的性質を設定してやる必要があります。
既にDAZフォーラムやYoutubeビデオなどでいろんなチュートリアルがアップされていますが、改めて基本から取り上げたいと思います。
今回は、ただのプリミティブを物理シミュレーションでの布にする方法のご紹介と、各ペインでのdForce関連プロパティの概要、そして布の材質を調節するスクリプト「dForce Surface Adjuster」を見ていきます。
もし、以下に書かれている内容にてメニューなどが見当たらない場合は、メインメニュー > Window > Workspace > Update and Merge Menus を実行してメニューを最新にアップデートして下さい。

■dForceインタラクティブ・レッスン
シーン内のオブジェクトにdForceモディファイアを付加して物理シミュレーションを行う方法を学ぶには、dForceのインタラクティブ・レッスンをするのが最適です。レッスンを始めるにはまずSimulation SettingsペインのTipsタブ(タブが隠れている場合はペイン最下段中央の=をクリックして下さい。)を表示します。

そしてTip 1の「Click here to be shown how.」という文章の「here」をクリックします。

これで始まるレッスンの手順を書き出すと次のようになります(単に読んで次に進むだけ部分は省いています)。
(1)新しいシーンを始めます。
メインメニュー > File > Newを実行します。
(2)衝突先(collide with)オブジェクトとして球体を配置します。
メインメニュー > Create > New Primitiveを実行し、次のように設定してAcceptボタンをクリックします。
Type:Sphere Diameter:1m Segments:32 Sides:32

(3)シミュレーションするオブジェクトとして平面を配置します。
メインメニュー > Create > New Primitiveを実行し、次のように設定してAcceptボタンをクリックします。
Type:Plane Size:2m Divisions:48

(4)平面オブジェクトにdForceモディファイアを適用します。
Sceneペインなどでplaneを選択してメインメニュー > Edit > Object > Geometry > Add dForce Modifier:Dynamic Surfaceを実行します。
(5)平面オブジェクトの位置を変更します。
Parametersペインなどでplaneを球体の上方(Y Translate:120)に移動します。

(6)シミュレーションを開始します。
Simulation SettingsペインのSimulateボタンをクリックします。

dForceモディファイアを付加した平面がクロスシミュレーションにより衝突対象である球体に覆いかぶさります。
※dForceモディファイアの適用はSimulation Settingsペインのオプションメニューにもあります。
■dForce関連のプロパティ
インタラクティブ・レッスン内で紹介されているdForce関連のプロパティには次のようなものがあります。
●Parametersペイン
オブジェクトごとの物理シミュレーションに関するプロパティです。
衣服などのフィギュアの場合はルートノードで設定します。
General>Simulationグループ

Display>Simulationグループ

●Surfacesペイン
Simulationグループ
物理シミュレーションにおける布の材質設定です。
dForceモディファイアを適用すると、シェーダーに関係なくその各サーフェイスにSimulationグループが追加されます。
詳細に設定することができるだけのプロパティがありますが、なにぶん数が多いので今回は各プロパティの紹介は省きます。
■dForce Surface Adjusterスクリプト
Surfacesペインには非常に多くのプロパティが用意されているので、それを一から設定するのは困難です。それを簡単に調節するために用意されたのが「dForce Surface Adjuster」スクリプトです。
メインメニュー > Edit > Object/Figure > Geometry > dForce Surface Adjuster または Surfacesペインのオプションメニューから実行すると次の画像のようなダイアログが出現します。

このとき、次の画像のようなエラーが出る場合がありますが、これは特定のサーフェイスの調節をするなら先にSurfacesペインでそのサーフェイスを選択しておいてという意味です。このまま調節をするとそのオブジェクトの全サーフェイスに対して行います。

dForce Surface Adjusterは左右のボタンでペアになっており、数値1でSurfacesペインの関連する複数のプロパティが1%変化するようになっています。
それぞれのボタンの意味はおおむね次の通りです。
Stiffer 堅い ←→ Silkier 柔らかい
Shrink 縮む ←→ Expand 膨張する
Stretch 伸びる
例としてSurface AdjusterでPlaneの生地の材質をそれぞれ5%ずつ調節したのが次のレンダリング画像です。

Stifferで堅くて大きいひだに、Silkierで柔らかくて小さなひだになりますね。Stretchは今一つ効果が分かりにくいですが、アニメーションさせると変わってくるのかもしれません。
既にDAZフォーラムやYoutubeビデオなどでいろんなチュートリアルがアップされていますが、改めて基本から取り上げたいと思います。
今回は、ただのプリミティブを物理シミュレーションでの布にする方法のご紹介と、各ペインでのdForce関連プロパティの概要、そして布の材質を調節するスクリプト「dForce Surface Adjuster」を見ていきます。
もし、以下に書かれている内容にてメニューなどが見当たらない場合は、メインメニュー > Window > Workspace > Update and Merge Menus を実行してメニューを最新にアップデートして下さい。

■dForceインタラクティブ・レッスン
シーン内のオブジェクトにdForceモディファイアを付加して物理シミュレーションを行う方法を学ぶには、dForceのインタラクティブ・レッスンをするのが最適です。レッスンを始めるにはまずSimulation SettingsペインのTipsタブ(タブが隠れている場合はペイン最下段中央の=をクリックして下さい。)を表示します。

そしてTip 1の「Click here to be shown how.」という文章の「here」をクリックします。

これで始まるレッスンの手順を書き出すと次のようになります(単に読んで次に進むだけ部分は省いています)。
(1)新しいシーンを始めます。
メインメニュー > File > Newを実行します。
(2)衝突先(collide with)オブジェクトとして球体を配置します。
メインメニュー > Create > New Primitiveを実行し、次のように設定してAcceptボタンをクリックします。
Type:Sphere Diameter:1m Segments:32 Sides:32

(3)シミュレーションするオブジェクトとして平面を配置します。
メインメニュー > Create > New Primitiveを実行し、次のように設定してAcceptボタンをクリックします。
Type:Plane Size:2m Divisions:48

(4)平面オブジェクトにdForceモディファイアを適用します。
Sceneペインなどでplaneを選択してメインメニュー > Edit > Object > Geometry > Add dForce Modifier:Dynamic Surfaceを実行します。
(5)平面オブジェクトの位置を変更します。
Parametersペインなどでplaneを球体の上方(Y Translate:120)に移動します。

(6)シミュレーションを開始します。
Simulation SettingsペインのSimulateボタンをクリックします。

dForceモディファイアを付加した平面がクロスシミュレーションにより衝突対象である球体に覆いかぶさります。
※dForceモディファイアの適用はSimulation Settingsペインのオプションメニューにもあります。
■dForce関連のプロパティ
インタラクティブ・レッスン内で紹介されているdForce関連のプロパティには次のようなものがあります。
●Parametersペイン
オブジェクトごとの物理シミュレーションに関するプロパティです。
衣服などのフィギュアの場合はルートノードで設定します。
General>Simulationグループ

・Simulation Object Type | このオブジェクトの物理シミュレーションを行わないときは「Static Surface」、行うときは「Dynamic Surface」にします。 「Dynamic Surface Add-On」にするとこのオブジェクトをダイナミックサーフェイスを補助し、取り付け・グラフト・貼り付けの役目を果たす「足場」にします。 |
・Simulation Base Shape | メッシュに含まれるエッジの静止した状態での長さの基準となるシェイプを決定します。 「Use Simulation Start Frame」で現在のフレームまたはアニメーションの最初のフレームを、「Use Scene Frame 0」でタイムラインの0フレームを基準にします。また、それぞれ「Use Shape ~」が付いているものは、オブジェクトの特定モーフをガイドにするようです。 |
・Freeze Simulation | Onにすると以降そのオブジェクトの物理シミュレーションを行いません。ただし、Simulation Settingsペインの「Clear」ボタンをクリックするとフリーズしたオブジェクトのシミュレーション結果もクリアされるので注意が必要です。 |
Display>Simulationグループ

・Visible in Simulation | Offにするとそのオブジェクトを物理シミュレーションに参加させません。衝突対象にもしませんので、ケースによって髪などに設定すると良いでしょう。 |
●Surfacesペイン
Simulationグループ
物理シミュレーションにおける布の材質設定です。
dForceモディファイアを適用すると、シェーダーに関係なくその各サーフェイスにSimulationグループが追加されます。
詳細に設定することができるだけのプロパティがありますが、なにぶん数が多いので今回は各プロパティの紹介は省きます。
■dForce Surface Adjusterスクリプト
Surfacesペインには非常に多くのプロパティが用意されているので、それを一から設定するのは困難です。それを簡単に調節するために用意されたのが「dForce Surface Adjuster」スクリプトです。
メインメニュー > Edit > Object/Figure > Geometry > dForce Surface Adjuster または Surfacesペインのオプションメニューから実行すると次の画像のようなダイアログが出現します。

このとき、次の画像のようなエラーが出る場合がありますが、これは特定のサーフェイスの調節をするなら先にSurfacesペインでそのサーフェイスを選択しておいてという意味です。このまま調節をするとそのオブジェクトの全サーフェイスに対して行います。

dForce Surface Adjusterは左右のボタンでペアになっており、数値1でSurfacesペインの関連する複数のプロパティが1%変化するようになっています。
それぞれのボタンの意味はおおむね次の通りです。
Stiffer 堅い ←→ Silkier 柔らかい
Shrink 縮む ←→ Expand 膨張する
Stretch 伸びる
例としてSurface AdjusterでPlaneの生地の材質をそれぞれ5%ずつ調節したのが次のレンダリング画像です。

Stifferで堅くて大きいひだに、Silkierで柔らかくて小さなひだになりますね。Stretchは今一つ効果が分かりにくいですが、アニメーションさせると変わってくるのかもしれません。
Tag : ダイナミッククロス,
物理シミュレーション,