江上宿六です。
手順だけ記せば良かったものの丁寧に、時々大雑把に手法まで
やってしまっているのでどんどん長くなってしまっています。
9.インバースキネマティクス(IK)
- インバースキネマティクス(IK)とは
インバースキネマティクスというのは逆運動アルゴリズムなんちゃらで
末端を動かす事で上位階層なども連動して動かせるようになる装置。
足先を動かすと脚まで動かせてポーズ付けなんかに有用だったりする。
腕にも使えるがこっちは自分で制御する方が楽な気がするので使わない。
- ハンドルを作る
まずはIKを使って脚を動かすためのハンドルを作る。 今回必要なのは
足を動かすためのFootHandleと脚を動かすためのLegHandle、膝の
方向を指し示すKneePoleです。 これらはボーンを押し出して作ります。
最初にアーマチュアを選択し編集モードに入り、Foreleg_Lのテールと
Foot_Lのテールを選択したらEでボーンを下方向に押し出します。
Foreleg_Lから押し出したのをLegHandle_L、Foot_Lから押し出したのを
FootHandleとリネームし、それぞれ接続を解除します。
続けてLegHandle_Lのペアレントを解除し、FootHandleのペアレントは
LegHandleに設定します。 これはプロパティウィンドウの
ボーンプロパティタブ、関係内のペアレントの所で設定出来るし
Alt+PやCtrl+Pなどのメニューからも設定出来たりします。
次にKneePoleはLeg_Lのテールから膝の前方に押し出して作ります。
こちらも接続を外し、ペアレントをLegHandleに設定します。
ここまで出来たら本題のIK設定、まずはFootHandleの方から設定します。
ポーズモードにしてFootHandle_L、Foot_Lの順に選択してShift+Iを押し
アクティブボーンをIKのターゲットにします。 するとFoot_Lが黄色くなり
IKが有効になりました。
この状態になったらIKの設定をします。 FootHandleの場合はFoot_Lを選択し
プロパティウィンドウのボーンコンストレイントプロパティタブ内の
チェーンの長さを1にするだけです。 FootHandleを動かすと足が動きます。
LegHandleの方も同様にLegHandle_L,Foreleg_Lの順に選択しShift+I、
アクティブボーンをIKのターゲットにします。 こちらはチェーンの長さを
2に設定してLegHandleを動かすとこちらもぐねぐねと動いてくれますが
これではIKを活かせているとは言えないのでもう一つ設定をします。
ボーンコンストレイントプロパティタブのポールターゲットをアーマチュア、
ボーンをKneePole_Lにします。 すると大抵脚が不可解な方向に曲がります。
これを修正するためにポールの角度を指定します。 今回は何か90度ほど
曲がっているので90に設定します。 すると元の状態に戻りました。
こんな風にねじ曲がってしまうのは恐らくボーンの座標軸が関係している
と思うんですけど深く考えるだけ無駄なのでやめておきます。
ともかくこの設定が出来たら編集モードにしてこれらのいじったボーンを
対称化します。 すると右足側にも設定が施されるのでとても便利です。
結果こういう感じに脚を動かしたポーズを作るのが簡単になるわけです。
トラブルシューティングというか、とてもやってしまいがちなミスは
各ハンドルやポールの親子関係の設定部分を忘れてしまうことなので
何かしら挙動がおかしいと思ったらまずはそこを確認してみよう。
また挙動の一つとして脚の曲がる方向がおかしいというのもあるが、
これは脚ボーンと足ボーンの配置が影響している場合があります。
このように膝部分がが後に寄っていると後の方に曲がってしまいます。
内や外といった横方向でも同様にIKは曲がりやすい方向に曲がる感じです。
IKを使う場合はその辺を意識して配置をしよう。
続く。