はじめに
Rigifyというアドオン(エクステンション)を使用すると、キャラクターを動かすためのRigを追加することができます。
色々便利な機能があるのですが、初見ではどのようなことができるのか分かりづらく、またRigを作成する記事は多くあるのですが、動かす記事があまり見当たらなかったので、自分の備忘も踏まえて記事に残します。
本記事はIK⇔FKの切り替えに関してです。
IK、FKとは?
この言葉自体はいろいろなサイトで解説されているので、リンクだけ張っておきます。

ざっくりいうとFKが各関節の回転を制御してポーズ(位置)を決めるのに対して、IKは先端の位置を先に決めて、そこに到達するように関節が回転してくれる仕組みのことです。
Rigifyはデフォルトは手も足もIKになっているので、先端(手 or 足)を動かすとそれに合わせて、腕や脚が動くと思います。この仕組みがIKです。
IK⇔FKを切り替える方法
IFとFKのボーンを表示させるとIKは赤で、FKは緑で表示されます。

これのいずれかを選択すると、Rig Main PropertiesというパネルにIK⇔FKの制御オプションが表示され、「IK-FK」の値を0にするとIK制御に、1にするとFK制御になります。

IK制御(赤いコントローラで制御)

FK制御(緑のコントローラで制御)

なお、この値はFloat値なので、0.5などにして中間値にすることも可能です(あまり使わないと思いますが・・・)。
FKをIKに合わせる、あるいはその逆
ポーズを作るうえではIKを使ったほうが作りやすかったりしますが、アニメーションさせるときにはFKでアニメーションさせたいという場合が存在します。
そんなときにはIKおよび、FKを相互に一致させることができる機能が使えます。
先程の例で出した、このIKで左手を挙げたポーズを例にすると、この状態でFK->IKボタンを押すと

このように緑のボーンが腕に沿うように配置されます。

逆にFKで作成したポーズにIKをあわせたい場合にはIK->FKボタンを押すことで反映されます。

1点注意点としてこのボタンを押したときに1回ではきれいに一致しない場合があります。
(※特にIK->FKの場合)
そんなときには何度かボタンを押すことで一致する場合もあるので、試してみると良いと思います。
アクション全体に反映させる
前述のFK->IKに一致させる作業についてですが、各ポーズ(キーフレーム)を作成する際に、毎回それぞれに切り替えて反映させるのは正直面倒です。
そのような場合に、既存のアクションに対して、一括でキーを打ち直してくれる機能があります。
Actionが作成されている場合にボーンを選択すると下図のようにActionボタンが有効になります。
先ほどと同じようにFKをIKに合わせるのであれば、上の方のActionボタンを押すと、既存のFKボーンのActionのキーが全てIKに沿った位置に変換されます。

IK->FKも同様に変換可能ですが、IKは先程記載したように複数回適応しないと反映されない場合があるのと、私の環境ではBlender自体が落ちる場合もあったので、注意が必要かもしれません。
この機能を使用することで、例えばIKでポーズを作ってそのまま再生すると、このように人としてはおかしな動きになるものが、

このようにFK制御に変換されて、それっぽい動きになります。

全体的な注意点
IK⇔FKの切り替えは左右の手足など、設定されているそれぞれで切り替えが必要です。
両手を変更する必要があるのに、右手しか切り替えてなかった。とか
切り替える腕を間違えた。とか
間違いが発生しやすいので、今選択されているのがどこなのか、編集時に確認しながら作業するのがおすすめです。
さいごに
個人的にはIKでポーズを決めてFKで動かすのが良い気がしていますが、実際職業としてアニメーションを作成している方はどのような作り方をしているのですかね?
最後までお読みいただきありがとうございます。
コメント