Skip to content

MoGraphとダイナミクス: 4.ダイナミクスのアニメーション

ダイナミクスのアニメーションについて学びます。

前の章

Step 1

ダイナミクスの効果を切る

 まず始めに、アニメーションの途中でダイナミクスの効果を入れたり切ったりする方法を二つ説明します。ダイナミクスの効果を切る一番の理由は、「切らない限りオブジェクトを動かせない」からです。言い換えると、ダイナミクスの効果が続いている限り、オブジェクトをマウスでつかむことはできず、またキーフレームやエフェクタによって位置や角度の値を操作することもできません。

 

1. 「ダイナミクス -> 有効にする」

「有効にする」のチェックを外すと、全てのダイナミクス計算が停止します。

図624-1

したがって、ダイナミクスの働きによって移動、回転していたオブジェクトは、「有効にする」のチェックを外すと、即座に初期位置に戻って静止します。ダイナミクスの計算が完全に停止しているので、他のオブジェクトと衝突することもありません。また、コネクタや場、モーターなどの機能も全て無効になります。

「MoGraph選択範囲」を使うと、一部のクローンだけを有効にしたり、無効にしたりできます。

 

2. 「ダイナミクス -> ダイナミクス」

「ダイナミクス」を「オフ」にすると、ダイナミクスによる移動と回転の効果が停止します。しかし、他のオブジェクトと衝突し、コネクタやモーターなどの機能も全て有効です。つまり、ただ「動かない」だけであって、ダイナミクスのその他の機能は正常に働いているわけです。この機能は、「障害物」を作る時よく使います。

図624-2

次に、アニメーションの途中でダイナミクスをオフにすると、それまでダイナミクスの働きによって移動、回転していたオブジェクトは、ゆっくりと初期位置に戻って静止します。ゆっくり戻せるのはダイナミクスが働いているからです。この時、初期位置に戻るまでの時間を「ダイナミクス -> トランジッションの間隔」で指定できます。また、戻る時に、衝突を考慮するかどうかを「ダイナミクスの切り替え」で指定できます。

次に、「コネクタ」を使ってダイナミクスをオフにしたオブジェクトをダイナミクスがオンのオブジェクトにリンクすると、間接的ではありますが、ダイナミクスがオンのオブジェクトをマウスやキーフレームで操作できるようになります。これは非常に重要な機能です。

また、「MoGraph選択範囲」を使うと、一部のクローンだけをオンにしたり、オフにしたりできます。

 

このような理由から、普通はダイナミクスのオンオフでダイナミクスの効果をコントロールすべきだと言えます。しかし、このパラメータはオフにしても内部で計算が継続しているため、処理が重くなります。また、計算が継続していることが目に見えないため、思わぬトラブルの原因となるかもしれません。

したがって、複雑なシーンにおいて「このフレームではダイナミクスを全く使わない」とはっきりわかっている場合は、そこで無効にしておくといいでしょう。

また、シーンに非常に多くのクローンがあり、その一部にしかダイナミクスを適用しない、とはっきりわかっている場合は、「MoGraph選択範囲」を使って関係ないクローンのダイナミクスを無効にしておくといいでしょう。

 

 

Step 2

初速

 ダイナミクスの計算では、「初速」を与えることができます。初速とは、ダイナミクスの計算が始まった時にあるオブジェクトが持っている速度のことで、「移動」と「回転」のそれぞれに初速があります。初速の与え方はいろいろありますが、ここでは代表的な三つの方法について説明します。

 

1. 「ダイナミクス -> カスタム初期速度」で直接初速を与える

「カスタム初期速度」をチェックすると、「初期線形速度(初期速度)」と「初期回転速度(初期角速度)」の二つのパラメータが表示されます。ここで、初速を直接ベクトル形式で指定できます。

図624-3

 

2. キーフレームアニメーションから初速を引き継ぐ

キーフレームによって動いているオブジェクトに対して、あるフレームで「ダイナミクス」を「オン」にすると、それ以降はダイナミクスの計算が支配的になり、キーフレームの働きが無視されるようになります。

ただし、ダイナミクスがオンになった時にオブジェクトが持っていた「速度」は、初速としてダイナミクスに引き継がれます。

図624-4

 

3. エフェクタから初速を引き継ぐ

エフェクタによって動いているクローンに対して、あるフレームで「ダイナミクス」を「オン」にすると、それ以降はダイナミクスの計算が支配的になり、エフェクタの働きが無視されるようになります。

ただし、ダイナミクスがオンになった時にクローンが持っていた「速度」は、初速としてダイナミクスに引き継がれます。

図624-5

 

 

Step 3

キーフレームアニメーションとダイナミクスを合成する

 私はステップ2において、「ダイナミクスをオンにすると、キーフレーム等の働きは無視されるようになる」と書きましたが、「フォース -> 位置追従、角度追従」の値を大きくすると、キーフレームやエフェクタの働きがダイナミクスの計算に影響を与えるようになります。

この場合、キーフレームやエフェクタの働きは「一種の外力」として働きます。例えば、キーフレームによって指定された位置と、ダイナミクスによって指定された位置との間にズレがある場合、そこに「仮想的なスプリング」が追加され、そのスプリングの強度を「追従」の値で調整するわけです。

デフォルトでは、「追従」の値が「0」になっているので、このスプリングの働きは全く見えません。

図624-6

 

この機能を使うと、キーフレームアニメーションとダイナミクスアニメーションの中間的な動きを表現できます。またこの機能を使えば、エフェクタやXPresso等が生成した動きをダイナミクスに影響させることができます。

 

 

Step 4

ダイナミクスが適用されたオブジェクトをリンクする

 ダイナミクスの「コネクタ」オブジェクトを使うと、ダイナミクスが適用された2個のオブジェクトをリンクできます。コネクタでリンクできるのは、主としてリジッドボディです。ソフトボディは一応リンクできますが、リンクした部分がかなり「ぶよぶよ」するので、使い方に注意する必要があります。

コネクタの第一の目的は、「自動車の車体と車輪のように、リンクされたオブジェクトを表現する」ことですが、もう一つ「キーフレームやエフェクタ、XPresso等でコントロールされたオブジェクトの動きを、ダイナミクスでコントロールされたオブジェクトに伝える」という重要な働きがあります。この場合、キーフレーム等でコントロールするオブジェクトの「ダイナミクス」は必ず「オフ」にしておいて下さい。

次に、コネクタはMoGraphオブジェクトを使って複製できます。つまり、コネクタを適用したオブジェクトを複製すると、全てのクローンに対してコネクタが働くようになります。

コネクタはいろいろな方法(タイプ)でオブジェクトをリンクできますが、ここでは、よく使う三つの方法について説明します。

1. ヒンジ

「ヒンジ」は、「回転軸」です。この場合、自由な回転軸は一つだけです。回転角度を制限することもできます。

図624-7

 

2. ボールとソケット

「ボールとソケット」は、「ボールジョイント」です。自由な回転軸は三つです。

制限付きのボールジョイントを使いたい場合は、「ラグドール」を選択して下さい。また、自由な回転軸を二つに制限したい場合は、「カルダン」を選択して下さい。

図624-8

3. 固定

「固定」は、その名の通り二つのオブジェクトを固定します。自由な軸はありません。複数の部品で構成されたオブジェクトをダイナミクスで計算する場合、普通は親オブジェクトにダイナミクスボディタグを付け、「衝突判定 -> タグの継承」で「衝突判定形状を合成」機能を使って子オブジェクトを認識させます。

しかし、この方法では、全ての部品に同じ「物性」が適用されます。もし、一部の部品の物性を変えたり、リジッドボディとソフトボディを組み合わせたい場合は、XPressoを使うか、コネクタでリンクするしかありません。

図624-9

 

 

Step 5

リンクしたオブジェクトにスプリングを仕込む

 ダイナミクスの「スプリング」オブジェクトを使うと、「コネクタ」でリンクしたオブジェクトの間にスプリングを追加できます。

スプリングのタイプには、「リニア」と「回転」の2種類があります。ただし、スプリングにはコネクタの機能はないので、「リニア」の場合は「スライダー」コネクタ、「回転」の場合は「ヒンジ」コネクタでリンクしておく必要があります。

図624-10

また、スプリングはMoGraphオブジェクトを使って複製できます。つまり、スプリングを適用したオブジェクトを複製すると、全てのクローンに対してスプリングが働くようになります。

 

 

Step 6

リンクしたオブジェクトにモーターを仕込む

 ダイナミクスの「モーター」オブジェクトを使うと、「コネクタ」でリンクしたオブジェクトの間にモーターを追加できます。

モーターのタイプには、「リニア」と「回転」の2種類があります。ただし、モーターにはコネクタの機能はないので、「リニア」の場合は「スライダー」コネクタ、「回転」の場合は「ヒンジ」コネクタでリンクしておく必要があります。

さらにモーターには、「スピードを調節」と「フォースを適用」の二つのモードがあります。両方ともまず「フォース」または「トルク」で指定された力を加えてオブジェクトを動かします。

次に、「スピードを調節」モードの場合は、スピードが「リニアターゲットスピード」または「回転ターゲットスピード」に達っすると、それ以上スピードが上がらないようになります。「フォースを適用」モードの場合は、際限なくスピードが大きくなります。

図624-11

また、モーターはMoGraphオブジェクトを使って複製できます。つまり、モーターを適用したオブジェクトを複製すると、全てのクローンに対してモーターが働くようになります。

 

 

Comments are closed.