MoGraphとダイナミクス

レベル/ 対象者:中級/ MoGraphをある程度使える人
対象ソフトウエア、プラグイン:CINEMA 4D R12 Broadcast、Studio

MoGraphを動かすためのもう一つの方法。

冨士 俊雄/ gtofuji@gmail.com
章番号 題名 内容、及び関連する章 作成日/注記
621 1_ダイナミクスとは何か 物理法則、シミュレーション、ダイナミクスの種類、ダイナミクス、MoDynamics、デフォーマ、ジグル、衝突、ディレイ、MoSpline、スプラインダイナミクス、ヘア、クロス、標準パーティクル、ThinkingParticles、XPresso、標準パーティクルと場、引力、減速、重力、回転、タービュランス、風、 2011.11.15
Previous Top Next

Step 1

物理法則を使ってオブジェクトを動かす

 ダイナミクスは、簡単に言うと「オブジェクトを、物理法則に従って動かしたり変形させる(物理シミュレーション)機能」です。物理法則を使うことによって、キーを打たなくてもオブジェクトの複雑な動きや変形を表現できます。

 例えば、非常に多くのオブジェクトを含むシーンや、衣服のようにオブジェクトを複雑かつ自然に変形させるシーンは、もはやキーフレームアニメーションでは表現できません。しかし、ダイナミクスを使えば簡単に表現できます。

 

 多数のオブジェクトを動かすための方法として、CINEMA 4Dには他にもパーティクルやMoGraphという機能があります。そして、パーティクルの場合は「場(モディファイア、フォース)」、MoGraphの場合は「イフェクタ」という機能を使ってオブジェクトの動きをコントロールします。

 ダイナミクスはパーティクルやMoGraphとも組み合わせられるので、ある意味では「モディファイア」や「イフェクタ」の機能を拡張するものだと考えてもいいでしょう。

 しかし、衣服のようなオブジェクトをリアルに変形させるには、ダイナミクスを使うしかありません。昔は、モーフやPLA、ボーンといった技術を組み合わせて表現することもありましたが、とても大変で、なかなかいい結果が得られませんでした。

 

 ここで問題なのは、現在のCINEMA 4Dに搭載されているダイナミクスが一つではない、ということです。「歴史的な理由」により、いろいろな機能の中にいろいろな形のダイナミクスが入っています。そしてこれらは異なった時代に異なったプログラマーによって作られたため、インターフェイスや使い方、働き等が異なっていて、かなり混乱しています。また、CINEMA 4Dのグレードによっては使えないダイナミクスもあります。

 とはいっても、この混乱はもうどうしようもない話なので、整理しながら、なるべく具体的に説明していきたいと思います。

 

 

Step 2

ダイナミクスの種類

 それでは、まず現在のCINEMA 4Dに入っているダイナミクスの種類について説明します。このステップは重要なのですが、いきなり読んでもわからないと思います。適当に飛ばし読みして、後で何か困った時に読み返すようにして下さい。

 

1. ダイナミクス
 ダイナミクスは現在のCINEMA 4Dの代表的なダイナミクス機能です。ただし、「ダイナミクス」は「Studio」グレードでしか使えません。

 ダイナミクスが扱えるオブジェクトは、「ポリゴン」、「スプライン」、「クローン」、「パーティクル」です。また、扱える機能は、「場」、「衝突」、「変形」、「圧力」、「体積」、「破断」です。さらに、他のオブジェクトやタグを組み合わせることにより、「オブジェクト間のリンク」、「外力」、「XPresso」なども扱えます。

 

2. MoDynamics
 MoDynamicsは、Studioに入っているダイナミクスの機能限定版で、「Broadcast」グレードで使えます。

 MoDynamicsが扱えるオブジェクトは、「クローン」と「パーティクル」だけです。また、「オブジェクト間のリンク」や「外力」は扱えません。「XPresso」は制限なく扱えます。

 

3. デフォーマ
 実は、デフォーマの中にも「ジグル」と「衝突」というダイナミクス機能が入っています。

 デフォーマが扱えるオブジェクトは、「ポリゴン」だけです。しかし、全てのグレードで簡単に使えます。ですから、ダイナミクスが必要になったらまずこの機能を試してみて下さい。

 ジグルは「場」と「変形」を、衝突は「衝突」と「変形」を扱うことができます。さらに、「XPresso」も扱えます。


4. MoGraphイフェクタ
 実は、MoGraphイフェクタの中にも「ディレイ」というダイナミクス機能が入っています。

 ディレイは、「クローン」に対する「位置」、「スケール」、「角度」の簡単なダイナミクスしか計算できませんが、その分簡単に使えます。憶えておいて損はありません。

 

5. MoGraphオブジェクト
 実は、MoGraphオブジェクトの中にも「MoSpline」というダイナミクス機能が入っています。

 MoSplineは、「スプライン」に対する「場」の働きしか計算できませんが、その分簡単に使えます。

 

6. スプラインダイナミクスタグ
 スプラインダイナミクスタグは、「ヘア」に含まれるスプライン専用のダイナミクス機能です。ただし、「ヘア」は「Studio」グレードでしか使えません。

 「ダイナミクス」の機能と比較すると、計算の精度や拘束等の細かい機能に関してはこちらの方が優れています。しかし、スプライン同士の衝突を計算できないとか、閉じたスプラインを計算できないという欠点があります。したがって、スプラインに関しては、ケースバイケースで二つのダイナミクス機能を使い分けるようにして下さい。また、623章で説明するような「クローンを使ってスプラインのダイナミクスを表現する方法」もあります。

 スプラインダイナミクスが扱える機能は、「場」、「衝突」、「変形」です。さらに、他のオブジェクトやタグを組み合わせることにより、「オブジェクト間のリンク」や「XPresso」も扱えます。

 また、ヘアそのものにもダイナミクス機能が内蔵されていますが、これはヘア以外のオブジェクトを扱えないローカルな機能です。

 

7. クロスタグ
 クロスタグは、「クロス」に含まれるポリゴン専用のダイナミクス機能です。ただし、クロスは「Studio」グレードでしか使えません。

 「ダイナミクス」の機能と比較すると、厚みのないポリゴンで布や服を表現する場合は、クロスの方が優れています。逆に、風船のような閉じた立体を表現する場合は、ダイナミクスの方が優れています。したがって、ポリゴンに関しては、ケースバイケースで二つのダイナミクス機能を使い分けるようにして下さい。

 クロスが扱える機能は、「場」、「衝突」、「変形」です。さらに、他のオブジェクトやタグを組み合わせることにより、「オブジェクト間のリンク」、「XPresso」なども扱えます。

 

8. IKタグ
 「IK」タグは、キャラクタ機能の中に入っているIK専用のダイナミクス機能で、鎖のように一列にリンクされたオブジェクトにしか適用できません。ただし、全てのグレードで使えます。

 IKタグが扱える機能は、「場」と「衝突」です。IKチェーンにトレーサを適用してスプライン化することも可能ですが、基本的にこの機能はIK専用と考えた方がいいでしょう。

 

9. 標準パーティクル
 標準パーティクルは、CINEMA 4Dに最初に搭載されたダイナミクス機能です。そして、現在「場」と呼ばれている機能も、そもそもは標準パーティクル用に作られたもので、その後他の機能にも組み合わせられるように拡張されました。

 標準パーティクルは、「パーティクル」に対する「場」の影響しか計算できません。また、「XPresso」も扱えません。しかしその分簡単で、全てのグレードで使うことができます。

 

10. ThinkingParticles
 標準パーティクルと同じように、ThinkingParticlesの中にもダイナミクス機能が入っています。ただし、ThinkingParticlesは「Studio」グレードでしか使えません。

 ThinkingParticlesが扱えるオブジェクトは、「ThinkingParticles」だけです。また、扱える機能は、「ThinkingParticlesの場」と「衝突」だけです。とは言ってもThinkingParticlesは非常に強力な機能なので、オブジェクトやクローンを連動させることができます。また、「パーティクル対オブジェクト」だけでなく、「パーティクル対パーティクル」の衝突も表現できます。

 さらに、ThinkingParticlesはXPressoで拡張することを前提に設計されているので、プログラムを書けばいくらでも複雑な表現ができます。例えば、ThinkingParticlesをダイナミクスで動かすこともできますし、逆にダイナミクスをThinkingParticlesでコントロールすることもできます。

 

11. XPresso
 XPressoもまた重要なダイナミクス機能の一つです。XPressoは、「オブジェクト」や「ポリゴン」、「スプライン」、「ThinkingParticles」を扱うことができます。また、XPressoは全てのグレードで使えます。

 まず、XPressoの中には「衝突判定」や「距離」、「光線の衝突」といったダイナミクス機能の基礎となるノードが用意されているので、「重力」や「剛体の衝突」といった単純なダイナミクスは簡単に書くことができます。

 次に、現実の仕事では、標準的なダイナミクスで表現できない特殊な要求が発生し、XPressoを使わざるを得ない、ということがよくあります。例えば現在のダイナミクスには「磁場」を表現する機能がありません。また、「流体(気体や液体)」を表現する機能もありません。

 流体の働きを物理的に計算するのは非常に難しく、「RealFlow」のような専用のソフトウエアを使っても、目的とする絵を作れるとは限りません。そのような場合、目的に応じて単純化、特殊化した物理モデルを考え、自分でダイナミクス機能を作ることが唯一の解決方法となります。

 

 

Step 3

標準パーティクルと場

 CINEMA 4Dの標準パーティクルには、8種類の場(モディファイア)がありますが、他のダイナミクス機能に適用できるのは、次に説明する6種類だけです。「反射」と「消滅」は、標準パーティクル固有の機能なので使えません。

 また、場に含まれる「重力」や「減速」等の機能は、他のダイナミクス機能の側にも用意されています。しかし場は独立したオブジェクトなので、減衰や移動、回転のアニメーションを指定できるという利点があります。

 それでは、まずダイナミクスに慣れるために、一番簡単な場を使ってみましょう。

 

1. 引力

図621-1

 引力は、本質的には重力と同じものですが、CINEMA 4Dでは便宜上中心点があり放射状に働くものを「引力」、中心点が無限遠にあり平行に働くものを「重力」と呼んでいます。これは、「点光源」と「無限遠光源」の違いと同じです。

 引力の大きさは、中心点との距離の二乗に反比例します。また、マイナスの値を入力すれば斥力(反発する力)も表現できます。この点では重力よりも電気力に似ています。

 

2. 減速

図621-2

 減速は、他のダイナミクス機能の中で「ダンピング」と呼ばれている機能と同じ働きをします。つまり、パーティクルの速度に応じた抵抗力を発生させ、抵抗力と外力(重力等)が釣り合うと、パーティクルの速度は一定になります。

 

3. 重力

図621-3

 重力は、中心点が無限遠にある引力なので、ワールド全体に(強さ、方向とも)同じ力が作用します。重力は、重力オブジェクトの「-Y軸」方向に働きます。

 

4. 回転

図621-4

 回転は、パーティクルにZ軸周りの速度を追加します。したがって、軸の中心に近いパーティクル程速く回転することになります。

 

5. タービュランス

図621-5

 タービュランスは、ノイズ関数を使ってパーティクルにランダムな速度を追加します。ノイズ関数のスケールや周波数を変更することで、いろいろな動きを指定できます。

 

6. 風

図621-6

 風は、本質的に重力とは異なる力ですが、CINEMA 4Dの場合は重力と全く同じ働きになります。つまり、風を適用したパーティクルの速度は、風速に関係なく無制限に大きくなります。風速を制限したい場合は、減速を追加して下さい。

 また、風は内部にタービュランス機能を含んでいます。

 


Previous Top Next