ダイナミクス
一般
キーフレームアニメーションとダイナミクスシミュレーションの違いを簡単に説明します。キーフレームアニメーションでは、アニメーターは、たとえば、2つのビリヤードボールの衝突など、衝突が起きる場所を計画する必要があります。各ボールを別々に動かす、つまりキーフレームを設定しなくてはなりません。アニメーションをリアルに見せるため、現実世界(動画)のソースを参考にする必要があるでしょう。次にアニメーションを、この参考アニメーションをベースにして、タイムライン内の位置トラックと回転トラックを使用し、できるだけ正確にシミュレートするのです。これは、複雑で時間のかかるプロセスですが、アニメーターはビリヤードボールの移動に対し、フルにコントロールすることができます。
ダイナミクスを使用する利点は、ビリヤードボール同士の衝突は、頭の中で展開したり、事前に計画したりするものではないということです。ビリヤードボールは、単に初期速度を与えられ、それぞれの移動を行うだけです。簡単に聞こえますよね。実際のところ、簡単なのです。しかしそれは、ボールの移動に対するコントロールを、ダイナミクスシミュレーションに部分的に委ねていることになり、結果を常に予測することができません。
Cinema 4Dのダイナミクスシミュレーションは、質量や速度などの実際の物理的プロパティを使用して、オブジェクトの移動を自動的に計算することにより、作業をかなり簡素化します。これらのオブジェクトは、フォースフィールド(たとえば(パーティクル)モディファイア)、スプリング、モーター、衝突、コネクタなどから影響を受けます。
Cinema 4Dは、フォースと質量に基づいて自然に起きる実際の移動プロセスをシミュレートします。
ダイナミクスは主に、容器の充てん、壁の崩壊、ビリヤードボールなどの複雑でインタラクティブな移動を作成するように設計されています。ダイナミクスに影響を受けるオブジェクトは有機的でも構いません。つまり、硬くなくてもよいのです。ゴムボール、トランポリン、振られている旗などのように、柔らかで、弾力のあるオブジェクトを作成することもできます(これらは「ソフトボディ」と呼ばれます)。
Cinema 4Dのダイナミクスは、「Bullet」と呼ばれるシンプルなオープンソースライブラリに基づいています。ダイナミクスでの作業はよりシンプルです。Soverオブジェクトや重力フィールドを別に作成する必要はありません。リジッドボディタグ(オブジェクトマネージャ:タグ/シミュレーションタグ)を、作業したいオブジェクトに割り当てるだけでよいのです。
これだけで立方体が床に落ちる効果を作成できるのです。
ダイナミクスの計算は迅速に行われ、パラメトリックオブジェクトと連動します。つまり、スイープ や、編集可能なプリミティブを作成する必要がないのです。ダイナミクスシミュレーションは、従来のアニメーション(ダイナミクスの切替 や 位置追従も参照)と組み合わせ、両方をミックスすることができるため、おもしろい効果を作り上げることができます。
ダイナミクスボディタグ(オブジェクトマネージャ:個別エレメント オプションをトップレベルに設定する必要がある場合もあります。
)は、配列オブジェクトまたはパーティクルエミッタに割り当てることもできます。なお、ダイナミクスボディタグ(オブジェクトマネージャ:
)は、次のクローン生成オブジェクトに割り当てることもできます。
全てのクローンが動的オブジェクトです。なお、個別エレメント オプションをトップレベルもしくはすべてに設定する必要がある場合もあります。
ダイナミクスパラメータは下記にあります。
ダイナミクスボディタグ:ダイナミクスに影響を受ける全てのオブジェクトに対するオブジェクト特有の設定
一般設定:シーン特有の一般設定(たとえば重力、シミュレーションの品質など)
コネクタ: 移動と回転を制限します。
モーター: フォースまたはトルクがオブジェクトに影響を及ぼすようにします。
スプリング: オブジェクト間に張力を追加します。
フォース: クローン間の質量引力を設定する、シーン特有の設定です。
開始状態と終了状態
アニメーションフレーム0は、ダイナミクスに対して特別な意味を持っています。これは、シミュレーションの開始状態を定義します。そのため、シーンを設定する場合、常にフレーム0で設定する必要があります。後にダイナミクスがコントロールを取るので、ダイナミクスボディタグを使用して、コネクタまたはオブジェクトを動かすことができなくなります(ダイナミクス が オフに設定されている場合を除く)。
また、フレーム0は、別の定義がされない限り、ソフトボディの静止状態にもなります(ソフトボディの静止状態を定義する全てのスプリングは、その長さで静止します)。
メモ: プロジェクトのプレビュの長さではフレーム0が含まれている必要があります。そうしないと開始状態が含まれなくなるためです。
ソフトボディとリジッドボディ
この2つのエレメントの違いは下記のとおりです。
リジッドボディ:ダイナミクスでは、全体としてフォースに影響を受ける、固体の硬いオブジェクトを指します(ダイナミクスボディタグが割り当てられている各オブジェクトは、そのようなボディです)。なお、この典型的な定義は、Cinema 4Dでは適切ですが、リジッドボディはデフォーマに割り当てることもでき、オブジェクトはリジッドボディとして動作します。屈曲オブジェクトを使用して曲げた円柱が、引き続き立っていることを想像してみてください。屈曲させ過ぎると、円柱は倒れます。
ソフトボディ:動力で変形できるソフトボディです(これは ソフトボディ オプションで定義する必要があります)。
クローナーオブジェクトを伴うダイナミクスの例
たとえば を使用して、次のシーンを作成したとします。
最初は、クローンに影響を及ぼす重力はありません。でも、風モディファイア を使って配列に風を吹かせたいとします。その後、クローンが床に落下するようにします。どのようにすればよいでしょうか。
まず最初に、ダイナミクスボディタグ を ( )に割り当てます。オプションを全てに必ず設定してください。これにより、ダイナミクスに対して「クローンが使用可」になります。
ダイナミクスボディタグ を同様に床に割り当てます。これにより、クローンが後に落下する床を衝突オブジェクトにします。
風モディファイア ( )を作成します。風モディファイアの 風速 値を10に設定し、 タービュランス 値を1000.に設定します。これにより、比較的強いタービュランスが作成されます。
重力があとでクローンに影響を及ぼすようにしたいので、重力(プロジェクト設定 / ダイナミクス / 全般]パラメータを、この時点でアニメートすることができます。たとえば、フレーム20に行き、重力値を0に設定し、キーを設定します。フレーム21に行き、重力値を1000に設定し、別のキーを設定します。
終了です。アニメーションを再生すると、次のような結果になります。
コマンド
ダイナミクスボディタグが割り当てられているオブジェクトの設定を簡単に修正するために、コマンドをいくつか選択できます(オブジェクトを右クリック: シミュレーションタグ)。
リジッドボディプロパティを持つダイナミクスボディタグを、選択したオブジェクトに追加します。
ソフトボディのプロパティを持つダイナミクスボディタグを、選択したオブジェクトに追加します。
ダイナミクスボディタグを、選択したオブジェクトに追加します。オブジェクト自体は移動しませんが、他の動的オブジェクトへの衝突オブジェクトとして機能します。
ダイナミクスボディタグを、選択したオブジェクトに追加します。ゴーストオブジェクト自体は移動しませんが、他の動的オブジェクトが擬似衝突を解析できます。