2014年4月26日土曜日

【Tips】Mayaでキーフレームアニメーションからダイナミクスに切り替えるアニメーション

ここ最近Mayaを使って、吹っ飛ばされて死亡するアニメーションを作ってます。
キャラによっては武器などを持っているので、武器も地面にぶつかって転がるアニメーションをつけなくちゃいけないんですが、これが微妙にめんどくさいので地面にぶつかるまではキーフレームアニメーションで、地面にぶつかる寸前で物理シミュレーションに切り替える方法でアニメーションを付けています。

今回はそんなTipsです。

始めに地面にぶつかるまではキーフーレムアニメーションを作ります。
この例だと0~20f(30fps)で作っています。

次にダイナミクスを設定していきます。
まずは床のポリゴンにパッシブリジッドボディを割り当てます。


次にキーフレームアニメーションをつけたオブジェクトにアクティブリジッドボディを割り当てます


次にキーフレームアニメーションからダイナミクスに切り替わるようにキーを打ちます。
アクティブリジッドボディを割り当てたオブジェクトを選択し、rigidbodyのノードでアクティブのところに、この作例だと19fにオフ、20fにオンのキーを打ちます。

これで再生すると地面にぶつかってから跳ねた状態のまま上へ上昇して戻ってこない状態になっているのでフィールドの重力を割り当てます。
オブジェクトを選択した状態でフィールド→重力で割り当てます。


これで重力に従って動いてくれるはずですが、ダイナミクス(シミュレーション)は単位が重要なので、重力のマグニチュードがデフォルトだと9.8になっていますが、9.8という値は作業単位がメートルの場合に都合がいい値なのですが、この作例だと作業単位はセンチメールとになっていて9.8だと小さすぎるので980に設定しています。


地面を付け抜けてしまう場合はrigidSolverノードのコリジョン許容値を小さくしてみると
突きぬけを直すことが出来るようになります。


後はこれをベイクしてダイナミクスからキーフレームアニメーションに直してあげれば完了です!

簡単な手順で効率的なアニメーションを作れる方法だと思います。