ダイナミクス

一般

ダイナミクスならテンコ盛りも簡単です。

キーフレームアニメーションとダイナミクスシミュレーションの違いを簡単に説明します。キーフレームアニメーションでは、アニメーターは、たとえば、2つのビリヤードボールの衝突など、衝突が起きる場所を計画する必要があります。各ボールを別々に動かす、つまりキーフレームを設定しなくてはなりません。アニメーションをリアルに見せるため、現実世界(動画)のソースを参考にする必要があるでしょう。次にアニメーションを、この参考アニメーションをベースにして、タイムライン内の位置トラックと回転トラックを使用し、できるだけ正確にシミュレートするのです。これは、複雑で時間のかかるプロセスですが、アニメーターはビリヤードボールの移動に対し、フルにコントロールすることができます。

ダイナミクスを使用する利点は、ビリヤードボール同士の衝突は、頭の中で展開したり、事前に計画したりするものではないということです。ビリヤードボールは、単に初期速度を与えられ、それぞれの移動を行うだけです。簡単に聞こえますよね。実際のところ、簡単なのです。しかしそれは、ボールの移動に対するコントロールを、ダイナミクスシミュレーションに部分的に委ねていることになり、結果を常に予測することができません。

Cinema 4Dのダイナミクスシミュレーションは、質量や速度などの実際の物理的プロパティを使用して、オブジェクトの移動を自動的に計算することにより、作業をかなり簡素化します。これらのオブジェクトは、フォースフィールド(たとえば(パーティクル)モディファイア)、スプリング、モーター、衝突、コネクタなどから影響を受けます。

Cinema 4Dは、フォースと質量に基づいて自然に起きる実際の移動プロセスをシミュレートします。

ダイナミクスは主に、容器の充てん、壁の崩壊、ビリヤードボールなどの複雑でインタラクティブな移動を作成するように設計されています。ダイナミクスに影響を受けるオブジェクトは有機的でも構いません。つまり、硬くなくてもよいのです。ゴムボール、トランポリン、振られている旗などのように、柔らかで、弾力のあるオブジェクトを作成することもできます(これらは「ソフトボディ」と呼ばれます)。

Cinema 4Dのダイナミクスは、「Bullet」と呼ばれるシンプルなオープンソースライブラリに基づいています。ダイナミクスでの作業はよりシンプルです。Soverオブジェクトや重力フィールドを別に作成する必要はありません。リジッドボディタグ(オブジェクトマネージャ:タグ/シミュレーションタグ)を、作業したいオブジェクトに割り当てるだけでよいのです。

最もシンプルなダイナミクスシーンは、衝突を含みます。2つのオブジェクトにはダイナミクスボディタグがそれぞれ割り当てられています。

これだけで立方体が床に落ちる効果を作成できるのです。

ダイナミクスの計算は迅速に行われ、パラメトリックオブジェクトと連動します。つまり、スイープ や、編集可能なプリミティブを作成する必要がないのです。ダイナミクスシミュレーションは、従来のアニメーション(ダイナミクスの切替位置追従も参照)と組み合わせ、両方をミックスすることができるため、おもしろい効果を作り上げることができます。

ダイナミクスボディタグ(オブジェクトマネージャ:タグ|シミュレーションタグ|リジッドボディ)は、配列オブジェクトまたはパーティクルエミッタに割り当てることもできます。なお、個別エレメント オプションをトップレベルに設定する必要がある場合もあります。

ダイナミクスボディタグ(オブジェクトマネージャ:タグ|シミュレーションタグ|リジッドボディ)は、次のクローン生成オブジェクトに割り当てることもできます。

クローナー

破砕

Text

MoInstance

ボロノイ分割

全てのクローンが動的オブジェクトです。なお、個別エレメント オプションをトップレベルもしくはすべてに設定する必要がある場合もあります。

ダイナミクスパラメータは下記にあります。

ダイナミクスボディタグ:ダイナミクスに影響を受ける全てのオブジェクトに対するオブジェクト特有の設定

プロジェクト

一般設定:シーン特有の一般設定(たとえば重力、シミュレーションの品質など)

コネクタ: 移動と回転を制限します。

モーター: フォースまたはトルクがオブジェクトに影響を及ぼすようにします。

スプリング: オブジェクト間に張力を追加します。

フォース: クローン間の質量引力を設定する、シーン特有の設定です。

開始状態と終了状態

アニメーションフレーム0は、ダイナミクスに対して特別な意味を持っています。これは、シミュレーションの開始状態を定義します。そのため、シーンを設定する場合、常にフレーム0で設定する必要があります。後にダイナミクスがコントロールを取るので、ダイナミクスボディタグを使用して、コネクタまたはオブジェクトを動かすことができなくなります(ダイナミクスオフに設定されている場合を除く)。

また、フレーム0は、別の定義がされない限り、ソフトボディの静止状態にもなります(ソフトボディの静止状態を定義する全てのスプリングは、その長さで静止します)。

メモ: プロジェクトのプレビュの長さではフレーム0が含まれている必要があります。そうしないと開始状態が含まれなくなるためです。

ソフトボディとリジッドボディ

この2つのエレメントの違いは下記のとおりです。

リジッドボディ:ダイナミクスでは、全体としてフォースに影響を受ける、固体の硬いオブジェクトを指します(ダイナミクスボディタグが割り当てられている各オブジェクトは、そのようなボディです)。なお、この典型的な定義は、Cinema 4Dでは適切ですが、リジッドボディはデフォーマに割り当てることもでき、オブジェクトはリジッドボディとして動作します。屈曲オブジェクトを使用して曲げた円柱が、引き続き立っていることを想像してみてください。屈曲させ過ぎると、円柱は倒れます。

ソフトボディ:動力で変形できるソフトボディです(これは ソフトボディ オプションで定義する必要があります)。

クローナーオブジェクトを伴うダイナミクスの例

たとえば を使用して、次のシーンを作成したとします。

最初は、クローンに影響を及ぼす重力はありません。でも、風モディファイア を使って配列に風を吹かせたいとします。その後、クローンが床に落下するようにします。どのようにすればよいでしょうか。

まず最初に、ダイナミクスボディタグタグ|シミュレーションタグ|リジッドボディ)に割り当てます。オプションを全てに必ず設定してください。これにより、ダイナミクスに対して「クローンが使用可」になります。

ダイナミクスボディタグ を同様に床に割り当てます。これにより、クローンが後に落下する床を衝突オブジェクトにします。

風モディファイアシミュレート| フォース | 風)を作成します。風モディファイア風速 値を10に設定し、 タービュランス 値を1000.に設定します。これにより、比較的強いタービュランスが作成されます。

重力があとでクローンに影響を及ぼすようにしたいので、重力(プロジェクト設定 / ダイナミクス / 全般]パラメータを、この時点でアニメートすることができます。たとえば、フレーム20に行き、重力値を0に設定し、キーを設定します。フレーム21に行き、重力値を1000に設定し、別のキーを設定します。

終了です。アニメーションを再生すると、次のような結果になります。

荒れ狂う風が吹き始めたあと…
...重力の効果が出始めます。

コマンド

ダイナミクスボディタグが割り当てられているオブジェクトの設定を簡単に修正するために、コマンドをいくつか選択できます(オブジェクトを右クリック: シミュレーションタグ)。

リジッドボディ

リジッドボディプロパティを持つダイナミクスボディタグを、選択したオブジェクトに追加します。

ソフトボディ

ソフトボディのプロパティを持つダイナミクスボディタグを、選択したオブジェクトに追加します。

衝突

ダイナミクスボディタグを、選択したオブジェクトに追加します。オブジェクト自体は移動しませんが、他の動的オブジェクトへの衝突オブジェクトとして機能します。

不可視衝突対象

ダイナミクスボディタグを、選択したオブジェクトに追加します。ゴーストオブジェクト自体は移動しませんが、他の動的オブジェクトが擬似衝突を解析できます。