fc2ブログ

dForce その2:物理シミュレーションをするための準備

Category : dForce
 DAZ Studioの物理シミュレーションエンジン『dForce』の第2回は、シーン内のオブジェクトを物理シミュレーションさせる方法を見ていきます。そのためには、オブジェクトにdForceモディファイアを付加し、物理的性質を設定してやる必要があります。
既にDAZフォーラムやYoutubeビデオなどでいろんなチュートリアルがアップされていますが、改めて基本から取り上げたいと思います。

今回は、ただのプリミティブを物理シミュレーションでの布にする方法のご紹介と、各ペインでのdForce関連プロパティの概要、そして布の材質を調節するスクリプト「dForce Surface Adjuster」を見ていきます。
もし、以下に書かれている内容にてメニューなどが見当たらない場合は、メインメニュー > Window > Workspace > Update and Merge Menus を実行してメニューを最新にアップデートして下さい。

dForce SS2


■dForceインタラクティブ・レッスン

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

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

これで始まるレッスンの手順を書き出すと次のようになります(単に読んで次に進むだけ部分は省いています)。

 (1)新しいシーンを始めます。
メインメニュー > File > Newを実行します。

 (2)衝突先(collide with)オブジェクトとして球体を配置します。
メインメニュー > Create > New Primitiveを実行し、次のように設定してAcceptボタンをクリックします。
Type:Sphere Diameter:1m Segments:32 Sides:32
dForce レッスン sphere作成

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

 (4)平面オブジェクトにdForceモディファイアを適用します。
Sceneペインなどでplaneを選択してメインメニュー > Edit > Object > Geometry > Add dForce Modifier:Dynamic Surfaceを実行します。

 (5)平面オブジェクトの位置を変更します。
Parametersペインなどでplaneを球体の上方(Y Translate:120)に移動します。
dForce レッスン プレビュー2

 (6)シミュレーションを開始します。
Simulation SettingsペインのSimulateボタンをクリックします。
dForce レッスン プレビュー3
dForceモディファイアを付加した平面がクロスシミュレーションにより衝突対象である球体に覆いかぶさります。

※dForceモディファイアの適用はSimulation Settingsペインのオプションメニューにもあります。


■dForce関連のプロパティ

 インタラクティブ・レッスン内で紹介されているdForce関連のプロパティには次のようなものがあります。

 ●Parametersペイン
オブジェクトごとの物理シミュレーションに関するプロパティです。
衣服などのフィギュアの場合はルートノードで設定します。

General>Simulationグループ
dForce Parametersペイン General
・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 SimulationOnにすると以降そのオブジェクトの物理シミュレーションを行いません。ただし、Simulation Settingsペインの「Clear」ボタンをクリックするとフリーズしたオブジェクトのシミュレーション結果もクリアされるので注意が必要です。

Display>Simulationグループ
dForce Parametersペイン Display
・Visible in SimulationOffにするとそのオブジェクトを物理シミュレーションに参加させません。衝突対象にもしませんので、ケースによって髪などに設定すると良いでしょう。


 ●Surfacesペイン
Simulationグループ
物理シミュレーションにおける布の材質設定です。
dForceモディファイアを適用すると、シェーダーに関係なくその各サーフェイスにSimulationグループが追加されます。
詳細に設定することができるだけのプロパティがありますが、なにぶん数が多いので今回は各プロパティの紹介は省きます。


■dForce Surface Adjusterスクリプト

 Surfacesペインには非常に多くのプロパティが用意されているので、それを一から設定するのは困難です。それを簡単に調節するために用意されたのが「dForce Surface Adjuster」スクリプトです。
メインメニュー > Edit > Object/Figure > Geometry > dForce Surface Adjuster または Surfacesペインのオプションメニューから実行すると次の画像のようなダイアログが出現します。
dForce Surface Adjuster

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

dForce Surface Adjusterは左右のボタンでペアになっており、数値1でSurfacesペインの関連する複数のプロパティが1%変化するようになっています。
それぞれのボタンの意味はおおむね次の通りです。

  Stiffer 堅い  ←→ Silkier 柔らかい
  Shrink 縮む ←→ Expand 膨張する
  Stretch 伸びる

例としてSurface AdjusterでPlaneの生地の材質をそれぞれ5%ずつ調節したのが次のレンダリング画像です。
dForce レンダー Surface Adjuster

Stifferで堅くて大きいひだに、Silkierで柔らかくて小さなひだになりますね。Stretchは今一つ効果が分かりにくいですが、アニメーションさせると変わってくるのかもしれません。


テーマ : 3DCG
ジャンル : コンピュータ

Comment

dForceについて

初めまして。
いつも参考にさせていただいています。
貴サイトの記事通りにdForceを試してみたのですが、何度試みても
球体に平面が覆いかぶさる格好にはなりません。
平面は布のような感じにはなるのですが、球体の下から4分の1くらいの高さで止まっていて、
球体は布の上に突き抜けたようになってしまいます。
球体と平面の衝突判定ができていないように思います。
画像を送れればよいのですが、言葉では説明しにくいです。
お忙しいとは思いますがよろしくアドバイス頂ければ幸いです。
>Window > Workspace > Update and Merge Menus を実行してメニューを最新にアップデートしました。

Re: dForceについて

フレディ嵐山さん私のブログを読んでいただいてありがとうございます。

ちゃんとシミュレーションされないとのことですが、次のようなことを確認してみて下さい。

・最初の項目でご紹介しているdForceのインタラクティブ・レッスンを始め、そのとおりに操作してみて下さい。
・Simulation Settingsペインの上端付近にある「Defaults」ボタンをクリックしてからSimulateしてみて下さい。
・TimelineペインのFPSが30になっているか確認して下さい。
・「dForce Starter Essentials」に含まれているサンプルシーン(Scenesカテゴリ)を読み込み、Simulateしてみて下さい。

以上、dForceがうまく動かない場合の確認項目を4つあげてみました。
ハード環境によっていまく動かないことがあるのかもしれませんが、こればっかりは使っているみなさんの情報に頼るしかないところです。ちなみにOSやビデオカードは何をお使いでしょうか?

ありがとうございます

早速アドバイス有難うございます
教えていただいたことひととおり試しましたが結果は同じでした
試しにadvance タブからopencl deviceを変更したら
出来ました。
よくわかりませんがいろいろ試してみて
分からなかったらまた質問させてください
よろしくお願いします

Re: ありがとうございます

OpenCLドライバが複数インストールされている状態あるいは、OpenCLデバイスが複数ある状態だったんですね。
既定のデバイスがなんらかの原因で正しく動作しなかったので、それを正常に動作するデバイスに切り替えることでdForceがうまく動くようになったということかと思います。
非公開コメント

著書
カレンダー
05 | 2023/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray ダイナミッククロス LuxRender スクリプト Genesis2 バージョンアップ セットアップ ShaderMixer レタッチ Download カスタマイズ トゥーン SSS Photoshop NGM 物理シミュレーション ファー ウェイトマップ D-Form ERC Miki2 IDL M4 大気 Terrain カラーコレクション モーフセット ボリューム パーティクル Genesis8 Hexagon Genesis3 V5 アナグリフ カメラ インスタンス K4 Python 日本語訳 ロボット RAMDisk ダイナミックヘア Linux V8 3Dプリント GIMP SLG モーションキャプチャ 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター