私たちはDynamicsとMoGraphでの作業に集中できるよう、シーンの他のすべての要素は作業ファイル"PSD_C4D_R12_Dyn_RigidB_Konnektoren_Start.c4d"にあります。
三つ翼の回転輪と球体オブジェクトが必要です;残りの部分はMoGraphクローンまたはパーティクルエミッターで処理します。
モーグラフクローンでのシーンの構築
私たちのシーンで最も重要な3つのオブジェクトは、球体、回転輪、そして後で玉が下に転がる斜めの面です。回転輪の翼を除いて、すべてのオブジェクトにはすでにマテリアルがあります。ご希望であれば、シーンを他のマテリアルに合わせてご自分のアイデアにカスタマイズすることができます。
玉には、後でクローンされるパラメトリック球体オブジェクトを使用します。直径は7 cmで、回転輪および後で玉を受け止めるべき面の下端に適しています。
回転輪は、ブルーメスプラインオブジェクトを押し出してエクストルードNURBSジェネレーターで作成されます。回転輪の三つ翼では、葉の数が適切に削減されています。内部半径は、挿入される軸(簡単なシリンダーオブジェクト)が充分なスペースを持つようにちょうど大きくなっています。
ご希望であれば、四つまたは五つ翼をお試しいただけます。
エクストルードNURBSジェネレーターは、与えられたブルーメスプラインオブジェクトの立体的形成を担当します。 トランスレーションパラメーターを通じて、回転輪の深さが定義されています。
回転輪よりも上位には、すでに言及したシリンダーオブジェクトがあります。 これはDynamicsでコネクターの回転軸として機能します。
最後に、Lスプライン(この場合)によって指定されたスプラインパスをエクストルードNURBSオブジェクトに変換する、実際はエクストルード-を使用して3次元オブジェクトに押し出すオブジェクトです。
では、開始シーンの構築について説明しました。最初に回転輪を作成し、MoGraphを使用して面に十分なコピーまたはクローンを生成します。
したがって、メニューからモーグラフを取得し、クローンオブジェクトを取得します。
クローンオブジェクトの設定ダイアログで、最初にモードをグリッドに設定します。
関連するパラメーターでは、コピーの数および生成されるグリッドのサイズを指定できます。グリッドはX軸方向に1層である必要があるため、このコピー数を1に、Y軸方向には示されたサイズで6つまたは5つのコピーを作成します。
コピーされるオブジェクトをクローネンするために、回転輪の完全な階層をオブジェクトマネージャーでサブオブジェクトとしてクローンオブジェクトに配置します。望む通り、クローンオブジェクトはグリッド状に回転輪を生成します。
今度はクローンされた回転輪を面に設置します。面の回転角度が40°であるため、これをクローンオブジェクトで-40°のバンキング角度として設定します。
クローンされたグリッドを回転輪と正確に面に配置するために、サイドビューに切り替え、グローバル軸方向のをアクティブにし、回転輪をその軸に沿ってできるだけ面に近づけます。回転輪の軸がやや後方に出ているため、面にスムーズに入り込むことができます。
回転輪はインストールされ、サブオブジェクトとして"スライド"グループに戻ることができます。現時点で気になるのは、回転輪の完璧に均一で完全に同じ方向への配置です。この単調さを解消するために、ランダムエフェクターを組み込みます。
メニューMoGraph>Effektorenでそれを見つけ、シーンに取り込みます。 ランダムエフェクターを呼び出す前に、オブジェクトマネージャーでクローンオブジェクトを選択すると、そのクローンオブジェクトに自動的にエフェクターが割り当てられます。
ランダムエフェクターの設定ダイアログで、まずはホイールのランダムな回転を行います。そのために、パラメーターの範囲でTransformフィールドを展開し、変換のための角度を有効にします。 ホイールをピッチング角度で回転させるには、ここで値を入力します。 60°の角度は、ホイールが回転する際に適切な余裕を与えます。
後で詳しく説明しますが、後でドラムの色にもランダムエフェクターを使用したい場合は、Colorフィールドを追加で展開し、Colorモードを有効にします。 ランダムエフェクターの上位エフェクターパラメーターで、スタート値を使用してランダム値を試すことができます。
エディタビューでは、エフェクターの影響を通常すぐに見ることができます。 たとえば、クローンオブジェクトが生成される際にランダムエフェクターが割り当てられていない場合は、オブジェクトマネージャーのエフェクターセクションの設定ダイアログで簡単に設定できます。 クローンオブジェクトに影響するすべてのエフェクターをオブジェクトマネージャーからドラッグアンドドロップして、割り当てる必要があります。
シーンにアクセントを加えるために、ホイールの色を異なる色合いにすることにしましょう。 その際、ランダムエフェクターが多くの作業を簡略化してくれます。 まず、新しいマテリアルを作成します。 Material-Manager内の同名のメニューコマンド、またはマネージャの空きスペースをダブルクリックして選択すると作成できます。
ランダムエフェクターがColorチャンネルに影響を与えるために、モーグラフのサブメニューにあるColor Shaderをテクスチャの矢印ボタンメニューに配置します。
Color Shaderのボタンをクリックすると、かなりシンプルなColor Shaderの設定ダイアログに移動します。 チャンネルにColorが選択されていることを確認します。
ドラムの色をまだ気に入っていない場合は、ランダムエフェクターのStart Value Parameterを調整して、ランダムに選択された色が気に入るようにします。 ウィングのExtrude-NURBS-Objectに賦与するMaterialをオブジェクトマネージャーからドラッグアンドドロップします。 圧延部品の色の組み合わせがまだ気に入らない場合は、ランダムエフェクターでStart Value Parameterを変更することで、ランダムに選択された色を調整できます。
衝突オブジェクトとリジッドボディを使用したダイナミクスシステムの構築
これで、シミュレーションに関与する要素をダイナミクスシステムに組み込む準備が整いました。 最初に純粋な衝突オブジェクト、つまりダイナミックではなく、システムに衝突検出のみに関与するオブジェクト、例えば平面や地面などをSimulation>Dynamicsメニューから衝突オブジェクトの作成コマンドで定義します。
コマンドにより、選択したオブジェクトにダイナミックボディタグが割り当てられ、そのダイアログではダイナミック機能が自動的に無効化され、衝突検知が有効化されています。 衝突の領域では、衝突するボールが上に飛び出さないように30%の弾力性と摩擦を設定しています。
2番目の衝突オブジェクトであるスライド面の状況は少し異なります。 ここでは、Static Meshを衝突形として使用する必要があります。 スライド面のL輪郭のため、オブジェクトの形状が衝突計算に適切に使用されることが保証されます。 面に対する摩擦パラメーターは少し高く設定しても問題ありません。 これにより、後でボールがホイールコースを速く通過しないようになります。
純粋な衝突オブジェクトとは異なり、ホイールはダイナミックな出来事に積極的に参加します。 同時に固定された(剛体)オブジェクトとして定義します。リジッドボディとして、クローン構成のヒエラルキーからホイールオブジェクトを選択して、Simulation>Dynamicsメニューからリジッドボディの作成コマンドを使用して、リジッドボディとして設定します。
回転体の振る舞いも衝突時に異なります。本当の衝突が発生する前に、クローン・グリッドに望ましくない混乱が生じないように、ダイナミクス・ボディ・タグの設定ダイアログで、動的なプロパティのトリガーを衝突時に設定します。
衝突ページでは、衝突特性の詳細調整が行われます。ここで、自動という設定値は、回転体の特定の形状に必要な最適な衝突ボリュームを使用するようにします。衝突後にボールが遠くに飛ばないように、弾性率を20%に減少させます。80%の高い摩擦率は、ボールが回転体に触れるたびにエネルギーを失わせます。
異なる質量を持つ衝突オブジェクトを調整する必要がある場合、固有質量の使用が適しています。ここでは、ボールは回転体とは異なる質量を持つため、固有質量には8という値を設定します。80%の回転質量は、回転体をわずかに軽く回転させるためのものです。
支配的なエネルギーにもう少し影響を与え、シミュレーションが適切な期間で安定するように、回転体にかかる力を追加で減衰させます。
設定ダイアログの力ページで、回転体には60%の線形減衰および80%の回転減衰が割り当てられます。ボールの激しい衝突にもかかわらず、回転体は比較的速やかに再び落ち着くでしょう。
コネクタで回転体を機能的に拡張する
再生ボタンをクリックしてシミュレーションを開始すると、最初の衝突で回転体は音もなく平面を滑り落ちてしまいます。軸が視覚的に平面に固定されているものの、このシミュレーションでは軸はまだ全く機能しません。回転する羽が軸とつながる接続を確立するために、コネクタと呼ばれるものを使用します。メニューシミュレーション>ダイナミクスで見つけることができます。
基本的にはコネクタは、要素や階層がオブジェクトマネージャーに配置されている場所には関係ありません。ただし、シーン内の論理を維持するために、シリンダー・オブジェクトの軸と機能的に正しく組み合わせます。コネクタをオブジェクトマネージャー経由でのクローンの生成を一時的に無効にすることで、コネクタの統合をよりよく把握できるようにします。
コネクタが回転軸の役割を果たす場合、ますます適切な位置と方向性、すなわちシリンドリカルな軸の座標と角度を設定する必要があります。このプロセスを簡略化するために、機能メニュー内の取り込みコマンドを使用します。このコマンドは、選択したコネクタを持って、参照元としてシリンダー・オブジェクトを最初に指定し、すべてのパラメーターをクリックして割り当てボタンをクリックし、この時点で細かい調整をコネクタ自体で行います。
取り込みツールの設定ダイアログで、まずは軸のシリンダー・オブジェクトをデータ提供者として示します。オブジェクトマネージャーからそれを取り込み元の対応するフィールドにドラッグ&ドロップします。ここで、すべてのパラメーターをクリックして割り当てボタンをクリックすることで、コネクタ次第で調整を行います。
オブジェクトマネージャーを介してコネクタを選択し、その方向性を回転体に合わせます。以下の図で示すように、ヘディング角度は-90°、ピッチング角度(平面の傾斜に合わせて)は40°回転します。視覚化ページでコネクタのサイズを縮小して、回転体に適合するようにします。
コネクタの実際の機能は、設定ダイアログのオブジェクトページで設定します。 ヒンジタイプは、接続されたオブジェクトを軸に固定し、定められたリファレンス軸周りの回転のみを許可します。回転する羽車と軸が同一軸を持つ例では、より簡潔にすることもできますが、特により複雑なシーンの場合、後ですべてを追跡できるように、できるだけ正確に作業することは便利です。
接続の対象とするオブジェクトAは、オブジェクトマネージャーから軸オブジェクトを対応するフィールドにドラッグ&ドロップします。 X軸周りの動きであるため、この軸をリファレンス軸として選択します。 オブジェクトBは、同じリファレンス軸を持つ羽車オブジェクトです。この時点で、コネクタにはこれ以上の注意する点がありません。
本物のコネクタの機能に対処した後、それを回転車の軸のサブオブジェクトとして配置します。軸はコネクタを介して羽根車に機能的に接続されるため、コネクタはここに適しています。
パーティクルシステムで動的なボールを生成する
ゲーム機は完全に装備され、動作しますが、動的な特性を持つボールが必要です。既にシーンに1つのボールがあります。ただし、ゲーム機を正常に設置するために、パーティクルエミッターからさらにボールを発射します。Particle Emitterから追放します。しかし、まず、シミュレーションに参加できるように、ボールに望ましい動的特性を付与します。
そのために、ボールにはダイナミクスボディタグが必要です。したがって、シミュレーション>ダイナミクスメニューからRigid Bodyを作成コマンドを使用して、ボールオブジェクトに適切なタグを割り当てます。
ダイナミクスボディタグの設定ダイアログでは、ダイナミクスページに基本的なプロパティが集まっています。ここでは、ボールがシーンに現れるとすぐにアクションを起こせるようにリゾリューションを即座にに設定します。
コリジョンページのコリジョンプロパティに移りましょう。ボールの衝突計算では全く問題ありません。ここでは自動検出が機能します。ボールの弾力と摩擦は中程度の値に保たれます。後でボール同士が衝突した場合、それによりボールが遠くに跳ね返るのも少なくなります。
マスページの設定は回転車の設定と関連しています。そこではボールの個別の質量を8としました。ボールの質量を約5の値に設定することで、ボールが激しく回転車に衝突しすぎてシステムを乱さないようにします。
回転車と同様に、ボールも旋回後すぐに静止するように、フォースページでダンピングを設定します。線形ダンピングと回転ダンピングには、ボールが遠くまで転がり出ないように、20%の値を設定します。
ボールは動的な特性を持っていますが、まだ独立しています。同じ種類のボールをもっと生産するため、ParticleとしてそれらをParticle Systemで使用します。これには、ボールパーティクルを生成して発射するEmitter Objectが必要です。これはParticle System Objectsのパレットで見つけることができます。
パーティクルエミッターの設定ダイアログでは、どの位置から何秒間で何個のボールが生成されるかを正確に設定できます。ゲーム機を過負荷にしないように、1秒あたり2つのパーティクルを生成する出生率を選択しました。球の排出は即座に開始され、8秒後、つまり画像200で終了します。パーティクルの寿命は十分な長さであることが重要です。すると、ボールが画面から早く消えることはありません。
設定ダイアログのエミッターページでは、エミッターの形状とサイズを決定します。発射されるボールがゲーム機のほぼ全幅を利用するように、X長さを145 cmに設定します。Y方向の狭い10 cmは、ボールがほとんど水平に発射され、上から遠くに落ちないように保証します。
完成したパーティクルエミッターを、ゲーム機の上部にダンピング.を配置します。線形ダンピングおよび回転ダンピングには、ボールが遠くまで転がり出ないように20%の値を設定します。
ボールをParticlesとしてパーティクルエミッターに割り当てるために、簡単にObject Managerを介して割り当てます。元のボールオブジェクトはEditor Viewから消え、発生したパーティクルの形で現れます。
グローバルダイナミクス設定
CINEMA 4Dでは、デフォルトで地球引力に似た重力が支配しています。これらの設定と他の設定は、ダイナミクスページのDocument-Preferencesにあります。
Expert Pageでは、特にCollision Detectionをシミュレーションに関与している要素に適応するために、いくつかの標準値を変更できます。私たちの場合、Scalingを10 cmに減少させ、Collision Toleranceをできるだけ小さく保つのが適しています。
すべての準備と設定が整っているので、再生ボタンをクリックするだけでダイナミクスシミュレーションを開始できます。
この完成した例を使用すると、ダイナミクスプロパティの影響を非常によく調べることができます。個々のダイナミクスボディタグに異なる質量、摩擦、または減衰値を設定することで、要素はすぐにまったく異なる特性を持つようになります。
実験をお楽しみください!