「IKとFK」
今日はモーションの手法のひとつ
IK(インバースキネマティクス)とFK(フォワードキネマティクス)に関して話をしていきたいと思います。
IKとFKの話です。
IKとFKって何が違うんでしょうか?
その特徴とどのように使い分けていったらよいのでしょうか?
まず、階層構造というものを理解していきましょう。
階層構造
階層構造というのは、オブジェクトやレイヤーを扱う際にグルーピングや親子関係を作ることです。
CGの初期の段階から階層構造という構造体でアニメーションを作ってきました。
それが90年代に入ってIKという新しい概念が発明されたのです。
それは、オブジェクトに骨(ボーン)という階層構造を入れ、ボーンを動かすことで変形アニメーションを
実現させるというもの。CGアニメーションのモーションはIKの出現によって大きく変わりました。
でも、ひとつ忘れないで欲しいのは、
それまでのFKの手法がすべて否定されたわけではなく、FKとIKをその特徴や利点、弱点を補いながら
アニメーションを作る必要があるということです。
アニメーションを作るときの階層の順番を捉える
IK(インバースキネマティクス)
IKは逆運動学のことです。モノの運動を先端から逆におこなっていく
FK(フォワードキネマティクス)
順運動学
モノの運動を親の階層(Root)から順におこなっていく
IK(インバースキネマティクス)
先端(子)を操作
位置(position)を操作 =IKハンドル
IK ハンドルを移動し、キーを設定して、IK チェーンのジョイントのトランスフォームと回転のポーズ設定を行いアニメート
IK ハンドルの開始の関節(ジョイント)と終了関節(ジョイント)の間のすべてのジョイントは、IK ハンドルによって駆動する
FK(フォワードキネマティクス)
親の階層から回転(rotate)で表現
子(先端)の位置決めが難しい
スケルトンの個々のジョイントを回転させ、キーを設定
二足歩行の肩のジョイントの回転など細かい円弧状のモーションを作成するのに適している
これらをまとめると次のようになります
IK と FKの特徴 まとめ
IK(インバースキネマティクス) FK(フォワードキネマティクス) 先端(子)を操作 親の階層から操作 位置(position)を操作=IKハンドル 回転(rotate)で表現 決められた位置にすばやく移動 子(先端)の位置決めが難しい フィリッピングが起きやすい フリッピングが起きにくい モーション中、関節の位置を固定or制御できる コンストレイン 親と同期して動く 直線的な動き 回転、円弧的な動き ワールド座標上の決められた位置に移動するのは訓練を必要とする。 親と同期して動かすことがやりにくい。モーション中、手首足首の位置を固定しにくい。 ※それぞれの欠点は他の利点になっています。つまり、IK/FKをブレンドし、互いに補完しあえば、よりよいモーションを手早くつけることが可能になります
IK と FK をどのように使い分ければよいのか?
次のような考え方はどうでしょうか?
自分の意思で動くときは IK
自然な形で動くときは FK
うーん、分かったような、分からないような
動きを考えるときに、
先端の動きの軌跡(パス)をイメージする時には IK
関節(ボーン)の角度をイメージする時には FK
うーん、これもよく分かったような、分からないような
【参考】
重要!FKとIKの違い
アニメーションをやるためのIKとFKの完全ガイド
【MAYA】キャラクターセットアップ③ IKとFKの違いと優先回転角について
アニメーションエイド
わかすぎ【海外CGアニメーター】wakasugi