【Blender】インバースキネマティクス(IK)の適用手順


以前の記事でアーマチュアを用いたアニメーション作成方法についてご紹介しました。よろしければ先に以下の記事をご覧ください。

Blenderを使ってUnityにアニメーションを追加する手順

ボーンの角度を調整して、ポーズをつけ、キーフレーム登録をする、といったものがアニメーション作成の流れです。

調整するボーンが多くなればなるほどボーンの調整工程は時間をとるものになります。例えば一口に腕を動かすアニメーションをつくるといっても、以下のように複数の工程を踏まなければなりません。

アニメーション工程例

今回はそういった作業工程を短縮できて、かつ自然なアニメーションを作り出すことができる「インバースキネマティクス(IK)」についてご紹介していきます。


本稿はユニティちゃんライセンス条項の元に提供されています。

インバースキネマティクス(IK)とは

複数のボーンが連動して動くようにするための機能です。ボーンが曲がる角度を設定できるため、例えば通常曲がらないような角度に膝が曲がるといった現象を未然に防ぐことができます。

そのため冒頭でも述べましたが、自然なアニメーション作成アニメーション作成の効率化といった点で重宝される機能となっています。

IK 例

使用手順(脚)

それでは使用手順についてご説明していきます。今回は人型アーマチュアを例にインバースキネマティクスを適用していきます。

3Dビューを平行投影モード(「5キー」)の状態にして設定していきます。視点操作方法については以下の記事をご覧ください。

【Blender】視点操作方法と人型アニメーションをつくる際のコツ

オブジェクト複製

  1. オブジェクトモードから「編集モード」に切り替える。
  2. 「足(Foot)」ボーンを選択。
  3. 「Shiftキー」+「Dキー」でボーンを複製する。
  4. 「足(Foot)」ボーンの下に配置。
ボーン複製手順

複製したボーンは下に配置してさえあれば大丈夫です。このボーンが足全体の動きのコントローラー的な役割を担っていきます。

複製したボーンの名前変更親子関係の解除の設定は忘れずに行ってください。

名前変更・親子関係解除

*後に対称化する際に重要になってくるため、名前の最後に「L」が来るように変更してください。

インバースキネマティクス(IK)適用

続いてポーズモードに変更して以下の手順で設定を行ってください。

1.「shin.L」ボーンを選択。
2.「ボーンコンストレイント」タブを開く。
3.「ボーンコンストレイント追加」を選択。
4.「インバースキネマティクス(IK)」を選択。

手順1~4

続いて、連動して動かすボーンのターゲットを設定します。

5.「ターゲット」に大元となるアーマーチュア(今回は「metarig.002」)を選択。
6.「ボーン」に先ほど複製したボーン(Control.foot.L)を選択。
7.「チェーンの長さ」を「2」に設定。

手順5~7

チェーンの設定イメージとしては、IKを設定しているボーンを含めた数設定だと考えてください。

チェーン設定

逆向き修正

Control.foot.L」を選択し「Gキー」を押して動かしてみましょう。

動作確認 逆向き

太ももからひざ下にかけて追従して動いていますが、一定の位置で膝が逆に曲がっていることも同時に確認できます。

この箇所を修正していきます。手順は次の通りです。

1.「Tabキー」を押して編集モードに切り替える。
2.「Control.foot.L」を選択して「Eキー」でボーンを押し出す。
3.接続を解除(親子関係はそのまま)。
4.押し出したボーンを「Gキー」を押して膝付近に移動させる。

手順1~4

先ほど同様に、押し出したボーンの名前も後で対称化するために変更しておきます。

名前変更

続いてポーズモードに変更し、以下の手順で設定してください。

5.「shin.L」ボーンを選択。
6.「ボーンコンストレイント」タブを開く。
7.「ポールターゲット」にアーマチュアを選択。
8.「ボーン」に先ほど押し出したボーン(Assist.foot.L)を選択。

手順5~8

足が内股になってしまっているので最後に角度を修正していきます。

9.「ポールの角度」を「-90°」に設定する。

手順9

これで足が正面を向きました。再度動かしてみましょう。

動作確認

極端に角度をつけると足が逆の向きになってしまうことがあります。その場合は先ほど押し出したボーン(Assist.foot.L)を動かして調整してください。

調整手順

対称化

上記で設定したボーンをもう片方の足(右足)にも適用していきます。設定方法は以下の通りです。

  1. 「Tabキー」を押して編集モードに変更。
  2. 「Control.foot.L」と「Assist.foot.L」を複数選択。
  3. 「アーマチュア」タブを開く。
  4. 「対称化」を選択。
手順1~4

確認してみるとボーン名がLとRで対称化していることが確認できます。

対称ボーン名

先ほど複製したボーンの名前を変更したのはこの設定のためです。名前の最後に「L(もしくはR)」がついていないと対称化はうまくいきません。

もし名前設定ができていなくても、名前を変更したいボーンを選択し、「アーマチュア」->「オートネーム」でボーンの名前を対称に設定できます。

オートネーム設定

対称ボーンが複製できたら、先ほどと同様の手順で右足にもインバースキネマティクス(IK)を適用していってください。

右足 IK設定

使用手順(腕)

腕の場合もやることは基本的に変わりません。手のボーンオブジェクトを複製して配置しIK設定を施していきます。

腕 IK設定

注意すべき点としては、複製したボーンの配置です。IK設定を施す際、アーマチュアのポーズはターゲットボーンの配置に左右されます。

それゆえ、複製したターゲットボーンはアーマチュアから一定の距離IK設定後のアーマチュアのポーズを意識した配置が重要になってきます。

腕 IK設定2

脚部の設定時もそうでしたが、ターゲットボーンを設定した際にアーマチュアがターゲットボーンに引っ張られていることがわかります。チェーンの長さを設定することで改善しています。

ここまで設定できたら脚部同様に対称化設定を行い、右腕にIK設定を適用してください。

動作確認

*おまけ

インバースキネマティクス(IK)を用いてアニメーションを作成し、Unityでも動かしてみました。

インバースキネマティクス(IK)が生きてくるアニメーションはやはり歩く走るといった動作でしょう。基本的な動作ではありますが、ボーンを1つ1つ調整してアニメーションを作成するのはかなり手間がかかるものと思われます。

インバースキネマティクスを使えば短時間で上記のようなアニメーションを簡単に作成できます。

まとめ

いかがでしたでしょうか。今回はBlenderのインバースキネマティクス(IK)についてご紹介してきました。

ターゲットボーンの複製等少し慣れが必要な工程はありますが、かなり効率的にアニメーションを作成していくことができます。

特に脚部のアニメーションをつくる際はインバースキネマティクスを適用することをおすすめします。

その他アニメーションについて興味を持った方はこちら↓


IK_アイキャッチ

この記事はいかがでしたか?
もし「参考になった」「面白かった」という場合は、応援シェアお願いします!

株式会社x gardenが運営するXR-Hubの記事編集部です。

読者の皆様に役に立つ情報を発信いたします。

シェアする