dForce の使い方や個人的な使用感をまとめた。
dForce とは
dForceは物理シミュレーション エンジン。主な使い道は布シュミレータで、服の自然な状態を実現するべく利用される。
dForce の利用
設定済みの服であれば 、”simulation setting タブ” 内にあるブルーの “simulate” ボタンをクリックするだけでシーン内に設置された全ての dForce Figure (または Object) がシミュレートされる。
初めてdForce を使う場合には ” simulate ” ボタンをクリックすると
”(指定したディバイス)”用のコンピューター上の dForce カーネルがコンパイルされていないか、変更されているため、再コンパイルする必要があるようです。 このプロセスが完了するまでに数分かかる場合があります。
続行しますか?
というメッセージが表示される。良ければ “Yes” をクリックする。
dForce 化
dForce 化の実行
” Surface ” ペインで対象を選択。
“Edit → Figure (Object) → Geometry → Add dForce Modifier Dinamic Surface” を選択
調整
簡易設定
“Edit → Figure (Object) → Geometry → dForce Surface Adjuster” を選択
詳細設定
Surfaceタブ → Simulation
衝突対象
”Parameterタブ → Mesh Smoothing”を選択。”Collision Items” で衝突対象、”Collision Iterations” で衝突の繰り返し(精度に関係)。衝突の繰り返しは多ければ良い結果になるとは言えず、上げる場合は一気に挙げないで、少数ずつあげるのが良い。大抵は、~20ぐらいまでと思われる。
爆発回避
爆発回避に絶対はなく、探りながら調整するしか無い。増やしすぎ、削り過ぎも良くないので、楽しみながらも慎重に行いたい。
また、Daz が dForce に手を入れると今までの設定では回避できなくなる場合もあるし、その逆もある。
- ポーズが引っかかる場合は、干渉しない様に少し変化させてから dForce を行い、ポーズを元に戻す。
- 重ね着の場合は下から順に1枚1枚 dForce を行う.
など、作業で回避する工夫も必要になる場合もあることに留意。
Simulation Settings タブ
Iterations (Per Subframe)
- Simulation > Quality > Iterations (Per Subframe)
数値を上げる。意外とあっさりこれで通ることもある。
デフォルト:32
Surfaces タブ
Simulation > Structure
布が硬いと爆発しやすい。
以下で解説する2項目は、
- Edit > Figure > Geometry > dForce surface Adjuster
を使った際、Stiffer・Silker とリンクしている項目。1クリックごとに相反する方向に増減する。
dForce 化したデフォルト値
- Buckling Stiffness : 5%
- Buckling Ratio : 70%
は、Silker 1クリックで
- Buckling Stiffness : 4%
- Buckling Ratio : 71%
となる。
その後、片方が 0 になった場合、残っている項目は 2% ずつ増えていく。つまり
- Buckling Stiffness : 0%
- Buckling Ratio : 75%
に達した後は、Silker 1クリックで
- Buckling Stiffness : 0%
- Buckling Ratio : 77%
となる。一応これを念頭に設定すると良いと思われる。
Buckling Stiffness
- Simulation > Structure > Buckling Stiffness
数値を下げる。
dForce 化のデフォルト:5%
Buckling Ratio
こちらも布の硬さに感るする項目。
- Simulation > Structure > Buckling Ratio
数値を上げる。
dForce 化のデフォルト:70%
Self Collide
自分に対する衝突。
- Simulation > Collision > Self Collide
OFFにする。
ただし、爆発しない可能性は上がるが、不自然になる可能性も高い。なるべくなら OFF にしたくはない。
デフォルト:ON
クオリティー
クオリティーを上げると爆発を防げる場合もある。※クオリティーの項参照。
例
上記は爆発しやすい服なのだが、
成功した例がこちら。
- Iterations (Per Subframe)
- 64に設定
(デフォルト:32)
- 64に設定
- Buckling Stiffness
- 0%に設定
(デフォルト:5%)
- 0%に設定
- Buckling Ratio
- 85%に設定
(デフォルト:70%)
- 85%に設定
以上の設定で、Self Collide を ON のままで爆発を防げる場合もあった。
クオリティー
Simulation Setting
精度が上がるだけではなく、爆発解消に役立つこともある。
Frames To Simulate
- Simulation > Duration > Frames To Simulate
Animeted (Use Timeline Play Range) に設定する。
※主に “30~フレーム” ほどに増やして行うと爆発回避に良いとされる。
Collision Mode
- Simulation > Collision > Collision Mode
Best – Continuous にする。
Sub Frames
- Simulation > Quality > Sub Frames
数値を上げる。
時間はかかるがまずまずの仕上がりになる。Animeted (Use Timeline Play Range) を使いたくない場合にも有効かもしれない。
速度について
プレビューを作成するということは、それがどんなプレビューであってもマシンパワーを消費する。Iray プレビューを見てもそれは明らかである。
- 余分なものを表示しない。(参加させない(※非表示にする)。もしくはサブセットでシーンを切り分ける。)
- Viewport や Aux Viewport をアクティブにしない。
シミュレート中はプレビューを軽量化したり、そもそもプレビューを表示させないことで、シミュレートの高速化が実現できる。
また、dForce の技術は OpenCL を利用しているので、CPU 搭載の GPU でも利用可能である。そちらの方が早いとする方がいるのも事実なので、CPU 搭載の GPU の利用も試してみよう。