人間の体をアニメーションするためには、回転の支点を正しく設定し、階層化する必要がある、ということを、前回書きました。階層の作りかたは、オブジェクトマネージャーで階段状につなぐだけなので、一度分かってしまえば簡単に作ることができます。では、基本的な階層を正しく設定すれば、キャラクターアニメーションにおける回転運動がすべて表現できるかというと、できると言えばできます。ただ、反復と修正がかなり多くなり、手間はかなりかかることになります。そこで、登場するのがIK(インバースキネマティクス)という考え方です。
FK(フォワードキネマティクス)
目の前にあるどら焼きを手に取るという(卑近な・・・)例で考えてみます。目の前にあるどら焼きを、肩を支点とした回転→肘を中心とした回転→手首を中心とした回転で取ることは可能かどうか・・・というと、おそらく、ギー~、ギー~という・・・、ロボットダンスのようになるでしょう(笑)。このように、体の体幹部分から末端部分に向けて連鎖的に関節を動かす仕組みをフォワードキネマティクスと呼びます。回転の連鎖で体を動かす仕組みとも言えます。
IK (インバースキネマティクス)
では、我々はどうして簡単に目の前のどら焼きを取ることが出来るのでしょうか(笑)。それは、腕の回転運動を意識せずに、親指と人差し指をどらやきに向けてに直線運動で持って行くことができるからです。大昔のまた昔にはやったマジックハンドのような動きですね。このように、体の末端部分から体幹部に向けて複数の関節を連動させて動かす仕組みが、人間の体に備わっているのです。このように、体の末端部分から、体幹部分に向けて体を動かす仕組みを逆運動学という意味でインバースキネマティクスと呼ぶようです。
どちらも一長一短
ただ、どちらがいいということはないと思います。それぞれ、メリット、デメリットがあります。フォワードキネマティクスを使うと、回転系をきれいに表現出来るのに対し、インバースキネマティクスを使うと直線系の動きをきれいに表現できるということになります。テニス、野球、ゴルフのようなスイング動作はフォワードキネマティクス中心で、スクワットやジャンプのような動きは、インバースキネマティクス中心で・・・・ということに使い分ける必要があるということです。または、その両方を組み合わせて動かす必要があります。余談になりますが、スポーツの世界では、最近「体幹」という言葉をよく聞くようになりました。体の体幹部分を生かした回転系は遠心力を生かしたパワーを生み出すことができるということでしょう。その代わりと言ってはなんですが、狙った目標を正確に打ち抜くことが難しくなります。反対に直線系はパワーは生まれにくいかも知れませんが、正確に目標を打ち抜けるといったところでしょうか・・・・・・。
完結でちょうわかりやすい
あ さん、コメントありがとうございます。
管理人です~。
そういっていただけると、大変ありがたいです。
このサイトが少しでも皆様のお役に立てれば、こんなに嬉しいことはありません~。
インバースキネマティクスという概念を今日初めて知ったが、この記事が超絶わかりやすくて感動した。
ぴょんさん、コメントありがとうございます。管理人です~。
私もなかなかこの違いが分からなくて苦労した一人です。
CGって難しいけど、一つ一つ分かる度に嬉しいですよね!
これからも、そんな「分かる嬉しさ」が伝わるようなサイト作りに力を入れていきたいと思います。
今のところ、他のソフトを習熟中なのですが、近いうちにまたここに戻ってきたいと思います~。