IK-FK 切り替えスイッチ―Blender リグ

カテゴリ:blender

リグにスイッチを用意することはよくある.具体的には

  • 表情の切り替え
  • IK/FK の切り替え
  • FK で Inherit Rotation の切り替え
  • IK でボーンのストレッチの切り替え
など.

この記事では IK と FK との切り替えを行うスイッチのつくり方を紹介する. 大まかにいうと IK 用のボーンと FK 用のボーンとデフォーム用のボーンを Copy Rotatioin で操作する. 切り替えには Driver を使う.

IK FK 切り替えスイッチ
IK と FK の切り替え

ボーンの構造

腕をデフォームさせるボーンを2回複製して IK 用ボーンと FK 用ボーンを作成する. IK 用ボーンの名前の頭に IK_ をつけるなどして区別できるようにする. IK,FK 用のボーンの Deform のチェックを外す.

ボーンの配置
ボーンの配置

B-Bone は Ctrl + Alt + Sでその太さを変えられる. B-Bone にするには Properties > Armature > Display > B-Bone で変更できる.

b-bone の設定
B-Bone に切り替え

ボーンの設定

IK 用ボーンに IK を設定したら,デフォーム用ボーンにそれぞれ Copy Rotation をつける. Space: を両方 Local Space にする.

Copy Rotation の設定
Copy Rotation の設定

スイッチの設定

Edit モードでスイッチ用のボーンを作成し,Pose モードでそれに Limit Location をつける. 今回は X 方向を使うが,操作しやすいなら他の軸を使っても構わない. For Transform にチェックを入れ,Convert: を Local Space にする.

スイッチの移動制限
スイッチの移動制限

For Transform にチェックを入れると,内部データも制限される. これにチェックを入れていないと内部データは範囲外の値を保持できる. この内部データの値が大きいと,マウスをドラッグさせても動かない(動き出すまでの距離が大きい)という現象が起こる.

ドライバーの設定

デフォーム用ボーンについている Copy Rotation にそれぞれにドライバーを設定する. ドライバーの基本的な使い方は Blender アニメーションの基礎―ドライバーを活用する を参照.

ボーンひとつ分設定すればあとはドライバーをコピーするだけだ. ドライバーのコピーは,ドライバーが設定された紫色の領域を右クリックし Copy Driver でできる. ドライバーのペーストは設定したいパラメータを右クリックし Paste Driver でできる. ドライバーはそれぞれ以下のように設定する.

FK のドライバーの設定
FK のドライバーの設定
IK のドライバーの設定
IK のドライバーの設定

違いは Expr: だけだ.どちらのドライバーも,スイッチのローカル X 座標の値を Copy Rotation の影響力に変換している.

blend ファイルダウンロード

関連記事
Blender のアニメーション記事のまとめ