Created on | Updated on

Houdiniでアニメーションを作ろう パート9:Dynamic Motion

Houdiniでアニメーションを作ろう パート8:Transient Constraint(一時的なコンストレイン)とモーションパスの表示

ダウンロードしたシーンファイルのDynamic Motion部分を使用します。

ダウンロードしていないかたは、SidefxのAnimation Workshopからシーンファイルをダウンロードしてください。

 

従来のキーフレーム アニメーションでは、放物線のリアルな動きを実現するのは難しく、面倒な作業です。

このDynamic motion=物理ベースのモーションを使用すると、重要なポーズにおおまかにキーを設定すると、ポーズ間のモーションとスペーシング(間隔)が物理ベースの軌道に置換されます。 これによって、シーン内で軌道を扱うアニメーションワークフローが大幅に迅速化および簡略化することができます。

 

今回はこの『Dynamic Motion 』をご紹介していきます。

『Dynamic Motion』の主な使用方法は2つあり、1つ目は基本的には、特定のフレームから次のフレームに向けて、物理的に正確な動きを自動的に作成するものです。

アニメーションを入力として受け取り、アニメーション区間をProjectile(斜方投射)モーションに置換します。この影響でキャラクタの位置は変更されますが、キャラクタのポーズは変更されません。

 

シーンファイルでサンプルを見てみましょう。ThrowパートのJimmyの+マークを開いて展開します。

JimmyCatchHigh_ExampleにDisplayフラグを設定します。

このサンプルでは、ボールがあるフレームで離され、次のフレームでキャッチされるように設定されています。すでに設定済みなので、アニメーションレイヤーを表示して再生します。

角度とボールの軌道が決まり、2つの動作をつなぐパスができています。この仕組みについては後で詳しく説明します。

次の例として、もう1つの使い方を紹介します。ここでは、クリエイティブなコントロールが可能な方法を使用しています。

ボールを投げると、アニメーションが変わり、異なるフレームでキャッチすることになります。

ボールの動きが変わることで、キャッチするタイミングも変わるからです。ここではクリエイティブなコントロールを活用し、ボールをどの高さまで投げるかを決定できます。

それでは、この機能をもう少しわかりやすく説明するために、いくつかのシンプルな例を見てみましょう。

ネットワークエディタでDynamic Motionの部分に移動し、

 

Soccor内のtry_me3ノードにDisplayフラグを設定し、Color1でCtrl押しながらTemplateをクリックします。

try_me3をAltキーを押しながらドラッグしてコピーを作成できます。

これにより、元のデータを安全に残しつつ、作業を進めることができます。

ここではJimmyの例を見ていきます。Jimmyがボールをヘディングする動きのラフなアニメーションを5フレームごとに設定しています。

ここで行うのは、ボールの接触ポイントを設定することです。

ボールが

キーフレームが設定されているフレームで、ボールを少し動かして調整します。

これで、Jimmyが各ポイントでボールをヘディングするようなアニメーションにすることができました。

再生して確認すると、ボールがあまり良い動きをしていないことがわかります。

ここで、『Dynamic Motion』を使うことで、ボールの動きを素早く改善できます。操作が非常に簡単で、手動で調整するよりもはるかに効率的です。

Dynamic Motionツールを使用すると、物理的に正確なProjectile Motion(斜方投射)や振り子のの軌道をアニメーションに追加することができます。

Cキーを押してラジアルメニューを開くか、上部メニューから『Dynamic Motion』を選択します。

Dynamic Motionモードに入ったら、Control+Gを使って『Dynamic Motion』の設定を確認します。

Gキーを押すと設定が表示されます。

現在のモードは『Basic』になっていますが、今回はこちらのモードを使用します。

再生して確認します。

ボールが当たるフレームを設定し、その間のアニメーションが適切に行われるようにしていきます。

1フレームに移動して、リセットして最初からやり直します。

まず最初に行うのは、重心の設定です。

ここではボールのコントロール1つしかありませんが、複数のコントロールがあるキャラクターの場合、3つ選択すると異なる重心が設定されます。ボールの場合は中心が重心になります。

 

重心の選択はHキーで行えます。

ツールのメッセージはSelect center of mass controlsをなっています。

ここでHキーを押して重心を設定し、新しいアニメーションを開始します。

ここからスタートします。

ツールメッセージはStart a new projectile motionとなっています。

1フレームで再度Hキーを押してアニメーション開始フレームを指定し、

次にフレーム10に移動します。

メッセージがSelect Projectile end positionに変わっていますので、Hキーをおしてアニメーションの終わりを指定します。

バウンドの動きになるので、同じ10フレームで再度Hキーを押して新しい振り子モーションの開始を指定し、次の20フレームで終了を設定していきます。

 

1回目のHキーを押したときは下記メッセージが表示され、

再度同じフレームでHキーを押すとメッセージが変わります。

これを全てのキーフレームで行ってください。

タイムスライダーを操作すると、3Dビューから設定が外れるためショートカットが聞かなくなります。
再度3Dビューをクリックしてからhキーを押すように注意してください。

Selection Setsを確認するとdynamicmotionが追加されています。

『Dynamic Motion Path』をオンにすると、

必要な動きが自動的に生成されているのが確認できます。

正しく振り子モーションが設定されていない場合、Dynamic motion ウィンドウでResetボタンをおして、Dynamic motion を1から再設定してみてください。

これでボールが素早くバウンドする動きができました。フレーム範囲を1-50に変更しループ再生すると、何も調整せずに綺麗なバウンドの動きが再現されています。

非常に素早く設定できましたが、必要に応じて変更も可能です。

たとえば、20フレームでJimmyの手の位置を少し動かし、ラフなアニメーションで調整してみます。

ここでボールに当てるようにしてみましょう。

ボールを選択し、1フレームに戻り、リセットしておきます。

20フレームに移動し、ボールを頭ではなく手に移動させます。

これで、Jimmyが手でボールをバウンドさせる動きになります。ボールをさまざまな角度で空間内に動かしながら、適切な高さを予測してアニメーションを設定する場合、このような調整には通常時間がかかりますが、この方法を使えば素早く調整できます。

では、もう一度やってみましょう。現在、ボールのアニメーションがあまりよくありません。

先ほどと同様に、ボールにまずはhキーを押して重心を設定し、ヒットの開始と終了位置を投射運動に合わせて設定します。

Hキーを使用して、各フレームで開始・終了を設定します。

新しい動きを開始し、新たな位置を設定すると、新しいアークが表示されます。

同じ手順で、Hキーを押して設定を繰り返します。終了後確認すると、短時間でJimmyが手でボールをヒットする動きを作成できました。物理的な動きに沿ったアークも適切に反映されています。

 

ここでご紹介した昨日は、指定したフレームで正確にヒットさせる例です。非常に迅速に設定でき、手動で調整するよりも格段にスピーディです。

このアニメーションが気に入った場合、ベイキング機能を使用して確定させることもできます。ベイキングにはいくつかのオプションがあります。

ベイキングでは、すべてのフレームにキーを設定するか、2フレームごとや5フレームごとなど、フレーム間隔を指定することができます。

この場合は『Bake Essential Keys』でベイキングを行います。これにより、必要な動きを保つために必要な最小限のキーのみが設定されます。

ここでボールの動きを確認すると、タイミングが少し曖昧で、全体的に調整が必要な状態です。

 

Bake yes to New Layerを使用すると、新しいレイヤーにキーをベイキングすることが可能です。

Bake Keysボタンを押してキーをベイクします。

キーを確認すると、カーブがきれいになっているのがわかります。

これにより、適切な動きに必要なキーがすべて生成されました。新しいレイヤーも追加されています。

CキーからAnimationに戻り、

Selection Setsでdynamicmotionの表示オフにします。

再生して確認を行ってください。

もし変更が必要であれば、素早く調整できます。元の位置に固定されているわけではありません。

例えば、24フレームでもう少しボールの位置を高くしたい場合など、簡単に調整可能です。

ボールを選択して、移動するだけです。

また、アニメーションカーブを確認しながら変更を加えていくこともできます。

キーを選択し、移動してアニメーションを調整してください。

キーがワールドスペースで設定されているので、他に余分なものが生成されることはありません。元の動きから簡単に変更を加え、わずか数分でスムーズなモーションが作成できます。

次のチュートリアルではDynamic MotionのAdvancedオプションを使用して、Dynamic motion の位置や高さを調整し、元のアニメーションキーが新しいモーションに合わせて自動的に再タイミングされるように設定します。

 

Houdiniでアニメーションを作ろう パート10:Dynamic Motionでアニメーションを調整

 

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

※ 問い合わせ対応はBorn Digitalより製品をご購入頂きましたお客様のみのサービスとなります。ご了承下さい。
サポート問い合わせ