【Blender】インバースキネマティクス(IK)の適用手順
以前の記事でアーマチュアを用いたアニメーション作成方法についてご紹介しました。よろしければ先に以下の記事をご覧ください。
Blenderを使ってUnityにアニメーションを追加する手順
ボーンの角度を調整して、ポーズをつけ、キーフレーム登録をする、といったものがアニメーション作成の流れです。
調整するボーンが多くなればなるほどボーンの調整工程は時間をとるものになります。例えば一口に腕を動かすアニメーションをつくるといっても、以下のように複数の工程を踏まなければなりません。
今回はそういった作業工程を短縮できて、かつ自然なアニメーションを作り出すことができる「インバースキネマティクス(IK)」についてご紹介していきます。
本稿はユニティちゃんライセンス条項の元に提供されています。
インバースキネマティクス(IK)とは
複数のボーンが連動して動くようにするための機能です。ボーンが曲がる角度を設定できるため、例えば通常曲がらないような角度に膝が曲がるといった現象を未然に防ぐことができます。
そのため冒頭でも述べましたが、自然なアニメーション作成やアニメーション作成の効率化といった点で重宝される機能となっています。
使用手順(脚)
それでは使用手順についてご説明していきます。今回は人型アーマチュアを例にインバースキネマティクスを適用していきます。
3Dビューを平行投影モード(「5キー」)の状態にして設定していきます。視点操作方法については以下の記事をご覧ください。
【Blender】視点操作方法と人型アニメーションをつくる際のコツ
オブジェクト複製
- オブジェクトモードから「編集モード」に切り替える。
- 「足(Foot)」ボーンを選択。
- 「Shiftキー」+「Dキー」でボーンを複製する。
- 「足(Foot)」ボーンの下に配置。
複製したボーンは下に配置してさえあれば大丈夫です。このボーンが足全体の動きのコントローラー的な役割を担っていきます。
複製したボーンの名前変更、親子関係の解除の設定は忘れずに行ってください。
*後に対称化する際に重要になってくるため、名前の最後に「L」が来るように変更してください。
インバースキネマティクス(IK)適用
続いてポーズモードに変更して以下の手順で設定を行ってください。
1.「shin.L」ボーンを選択。
2.「ボーンコンストレイント」タブを開く。
3.「ボーンコンストレイント追加」を選択。
4.「インバースキネマティクス(IK)」を選択。
続いて、連動して動かすボーンのターゲットを設定します。
5.「ターゲット」に大元となるアーマーチュア(今回は「metarig.002」)を選択。
6.「ボーン」に先ほど複製したボーン(Control.foot.L)を選択。
7.「チェーンの長さ」を「2」に設定。
チェーンの設定イメージとしては、IKを設定しているボーンを含めた数設定だと考えてください。
逆向き修正
「Control.foot.L」を選択し「Gキー」を押して動かしてみましょう。
太ももからひざ下にかけて追従して動いていますが、一定の位置で膝が逆に曲がっていることも同時に確認できます。
この箇所を修正していきます。手順は次の通りです。
1.「Tabキー」を押して編集モードに切り替える。
2.「Control.foot.L」を選択して「Eキー」でボーンを押し出す。
3.接続を解除(親子関係はそのまま)。
4.押し出したボーンを「Gキー」を押して膝付近に移動させる。
先ほど同様に、押し出したボーンの名前も後で対称化するために変更しておきます。
続いてポーズモードに変更し、以下の手順で設定してください。
5.「shin.L」ボーンを選択。
6.「ボーンコンストレイント」タブを開く。
7.「ポールターゲット」にアーマチュアを選択。
8.「ボーン」に先ほど押し出したボーン(Assist.foot.L)を選択。
足が内股になってしまっているので最後に角度を修正していきます。
9.「ポールの角度」を「-90°」に設定する。
これで足が正面を向きました。再度動かしてみましょう。
極端に角度をつけると足が逆の向きになってしまうことがあります。その場合は先ほど押し出したボーン(Assist.foot.L)を動かして調整してください。
対称化
上記で設定したボーンをもう片方の足(右足)にも適用していきます。設定方法は以下の通りです。
- 「Tabキー」を押して編集モードに変更。
- 「Control.foot.L」と「Assist.foot.L」を複数選択。
- 「アーマチュア」タブを開く。
- 「対称化」を選択。
確認してみるとボーン名がLとRで対称化していることが確認できます。
先ほど複製したボーンの名前を変更したのはこの設定のためです。名前の最後に「L(もしくはR)」がついていないと対称化はうまくいきません。
もし名前設定ができていなくても、名前を変更したいボーンを選択し、「アーマチュア」->「オートネーム」でボーンの名前を対称に設定できます。
対称ボーンが複製できたら、先ほどと同様の手順で右足にもインバースキネマティクス(IK)を適用していってください。
使用手順(腕)
腕の場合もやることは基本的に変わりません。手のボーンオブジェクトを複製して配置しIK設定を施していきます。
注意すべき点としては、複製したボーンの配置です。IK設定を施す際、アーマチュアのポーズはターゲットボーンの配置に左右されます。
それゆえ、複製したターゲットボーンはアーマチュアから一定の距離、IK設定後のアーマチュアのポーズを意識した配置が重要になってきます。
脚部の設定時もそうでしたが、ターゲットボーンを設定した際にアーマチュアがターゲットボーンに引っ張られていることがわかります。チェーンの長さを設定することで改善しています。
ここまで設定できたら脚部同様に対称化設定を行い、右腕にIK設定を適用してください。
*おまけ
インバースキネマティクス(IK)を用いてアニメーションを作成し、Unityでも動かしてみました。
インバースキネマティクス(IK)が生きてくるアニメーションはやはり歩く、走るといった動作でしょう。基本的な動作ではありますが、ボーンを1つ1つ調整してアニメーションを作成するのはかなり手間がかかるものと思われます。
インバースキネマティクスを使えば短時間で上記のようなアニメーションを簡単に作成できます。
まとめ
いかがでしたでしょうか。今回はBlenderのインバースキネマティクス(IK)についてご紹介してきました。
ターゲットボーンの複製等少し慣れが必要な工程はありますが、かなり効率的にアニメーションを作成していくことができます。
特に脚部のアニメーションをつくる際はインバースキネマティクスを適用することをおすすめします。
その他アニメーションについて興味を持った方はこちら↓
この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!