第4回 「動きとIKとFK」

「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