Created on | Updated on

Houdiniでアニメーションを作ろう パート12:Ragdollでプロップアニメーション編

Houdiniでアニメーションを作ろう パート11:Dynamic Motionサンプル

ここからはRagdollの設定に入ります。

前回のシーンがある方は引き続きそのシーンを使用してください。

SideFXのAnimationWorkshopからまだ、シーンファイルをダウンロードしていない方はファイルをダウンロードしてシーンを開きます。

 

ボールを投げるシーンでボールに別の動きを加える方法をまず紹介します。

 

まずは、Part2 Animation Tools > Throw > ragdollThrow_ExampleにDisplay フラグを設定します。

前回はDynamic Motionを使用してコントロールや調整ができましたが、今回は投げた後、Ragdoll機能を使って、剛体(RBD)モーションを加えます。複雑な設定をしなくても、リアルな物理動作を簡単に実現できます。

 

では、Ragdollを使用して、このアニメーションを実行していきます。

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

Selection SetsでBballを選択し、

Cキーを押してRagdollを選択します。

コリジョン形状を選択します。

Acceptをクリックしてください。

GキーでControl Parmsを開くとActiveにキーフレームが設定されていることがわかります。

ボールのラグドールは58フレームでオフ、59フレームでオンになります。

これでボールを拾い、その後投げられたボールが跳ねる動きが設定できました。

とても簡単にこのモーションを作成することができました。

 

Selection SetsでBballを非表示に、Ragdollのボールのみ表示します。

Ragdollが設定されたボールのみが表示されるようになりました。

このRagdollのアニメーションをボールに再適用することもできます。

まず、Bballを選択します。

Bake Keys to New Layerが有効になっていることを確認します。
これで、非破壊的に作業できるようにします。

Start Recording Posesをクリックして開始します。

 

タイムスライダーをドラッグすると各フレームにキーが追加されます。キーの数を減らしたい場合は、間隔を空けることもできますが、今回は正確な動きを得るためにそのまま全フレームにキーを追加します。

これで完全に固定されるようになります。Stop Recording Posesをクリックして記録を停止します。C

キーからアニメーションに戻ると、新しいRagdollレイヤーが作成されています。

Selection SetsでをBballをオンにすると、動かない状態が続き、

記録したポーズ以降アニメーションが適用されています。

これは、Ragdollレイヤーがオーバーライドレイヤーとして作成されたためです。

そのためアニメーションレイヤーにキーを設定する必要があります。

 

Ragdollのアニメーションが始まる前の58フレームではRagdollレイヤーは0に設定し、Altキーを押しながら、Ragdollレイヤーの数値部分をクリックすることでキーを追加します。

 

次に59フレームに移動し、Ragdollレイヤーを1に設定します。

 

これにより最初はTransient Constraintで手と一緒にアニメーションが行われ、

その後、Ragdollアニメーションが有効になります。

これで、ベースレイヤーの拾う動作などが反映され、その後にバウンドの動きが加わる形になります。

手作業で設定する代わりに、Ragdollを使って思い通りの動作を簡単に実現することができました。

 

次に別の例を見てみましょう。例えば、キャラクターが立ち上がるシーンで、簡単なアニメーションレイヤーを追加してみたいと思います。

 

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

再生して確認します。

 

Electraがテーブルを持ち上げ、後ろに椅子を蹴り返す動作が設定されています。

例えば、テーブルをひっくり返す動作を追加したい場合、一からアニメーションで作る必要はありません。その代わりに、Ragdollを使用して設定することができます。

 

それでは、Ragdoll設定を確認したいと思います。

CキーからRagdollを選択するとコリジョンシェイプがないというメッセージがでますので、それぞれRagdollCollisionを選択します。

椅子

 

Selection Setsで確認するとragdollが確認できます。

 

Selection Setsでアニメーション付きオブジェクトの表示をオフにして、Ragdollのコリジョンシェイプだけを確認できるようにします。再生を進めると、アニメーションが動作しているのがわかります。

 

表示がRagdollコリジョンシェイプの表示だけになりました。

 

ここでtable_Ragdollの設定を確認します。

Gキーを押してConfiguration Parametersウィンドウを表示し、RagdollとAnimated切り替えます。

Selection Setsでtable_ragdollを展開し、Controlを選択します。

RagdollのControlを選択すると、Configuration ParametersでActiveにキーフレームが設定されていることがわかります。

フレーム64に移動し、アクティブのキーが設定されていることがわかります。

Windows>Animation Editorを開くと、アクティブ状態が切り替わるポイント(0から1になる箇所)が確認できます。

CTRL +Gを押して、Action Buttonウィンドウを表示します。

Ragdoll Settingsに切り替えます。

そこでAuto Reload Animationを有効にします。

次にSolver設定に切り替えて、Auto Reset Simulationをオンにします。

テーブルコントローラーを表示します。これは元のアニメーションがついたものです。

64フレームでこのtableを選択し、少し回転させます。

自動的にアニメーションが更新されるのが確認できます。

Selection SetsでTableの表示設定をオフにすると、Ragdollに動きが反映されているのがわかります。。

これでテーブルが完全にひっくり返る動作が設定されました。速く動かすほど、当然ながらモーションも大きくなります。

次に、椅子の動作を確認します。同じ手順で椅子を選択して設定を行います。

足が上がり、ちょうどフレーム77あたりで椅子に当たるタイミングになります。

Selection SetsのChair_ragdollを選択し、フレーム76でActiveにマウスのカーソルを合わせ、kキーを押すことでRagdollのActiveにキーを設定します。この時はActiveはオフにキーが設定されます。

フレーム77でチェックボックスを使ってアクティブに切り替えます。

これでキャラクターが椅子を蹴ると、椅子が後ろに倒れる動きが確認できます。

この動きを調整して、より大きな動きにすることも可能です。テーブルと同じように、アニメーションを修正できます。

 

最後にこのRagdollアニメーションをテーブルと椅子のアニメーションとして同時に記録していきます。

例えば、Selection Setsでchairとtableを選択し、フレーム59でStart Recording Posesをクリックします。

タイムラインをドラッグすると、テーブルのアニメーションだけでなく、椅子のアニメーションも同時に記録されます。

アニメーションレイヤーを確認するとragdollレイヤーが追加されていることがわかります。

CキーからAnimationモードに戻り、Selection Setsでキャラクターを再度表示にすると、アニメーションが適用されているのが確認できます。

 

Ragdollのアニメーションレイヤーでオーバーレイを有効にする場合、59フレームに移動してragdollレイヤーの値を0に設定してAltキーと左マウスクリックでキーを設定し

次に60フレームでragdollレイヤーを1に設定します。

設定を確認し、アニメーションを再生します。これですべてのアニメーションが設定され、動作が反映されました。

 

Houdiniでアニメーションを作ろう パート13:ElectraにRagdollでアニメーションを作成する

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

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