
例えば髪の毛が風に吹かれて動くアニメーションを作ろうと思った時に、髪の毛にある全てのジョイントを1つ1つ動かして作るのは時間がかかるし結構大変な作業です。
でもその作業を簡単にしてくれる便利なツールがあります(^^)。
それがIKチェーンです。

IK(インバースキネマティクス=逆運動学)・・・初めてこの名前を聞いた時は脳が3回ほど爆発しました。
初めて3DCGをやる私にとっては、この言葉自体が難しかったんですよね(=▽=;
もうほんとに「何それ?」って感じでした。
ここで長々とIKの難しい説明を書くより、どういう機能なのか見てもらった方が一番解りやすいいと思いますので、髪の毛のボーンを使ってやってみたいと思います。
------------------------------------------------------------
今、写真の髪の毛にはボーンが4つ入っています。
この最初のボーンのジョイントの始点と最後のボーンのジョイントの終点を、1本のチェーンで繋げている様なイメージを思い浮かべてください。
そうするとこの4つのボーンがどの様な動きになるか、大体想像出来ると思います(^^)。

繋げ方なんですが、まずIKチェーンの始点となるジョイントを選択します。
今回の場合は髪の毛の付け根(hair1)が始点になります。
そして髪の毛の先のジョイント(hair1 joint)が終点になるので、オブジェクトマネージャにある髪の毛の付け根と毛先のジョイントを選択します。
この時、始点と終点の間にあるジョイントは選択しないで下さい。
選択するのはあくまでも始点と終点のジョイントだけです。

そしてキャラクターメニューからIKチェーンを選択すると、オブジェクトメニューに”IKエクスプレッション”というタグが表示されて・・・

”hair joint1.ゴール”というヌルオブジェクトが出来ます。
※”ゴール”の部分が日本語になっているので、そこは後で英語に直しておきます。

そしてジョイントの始点と終点を結ぶように緑の線が1本出来ます。
この線はハンドルラインと言います。
この線が出たら動かす準備はOKです。

属性マネージャの”タグ”を見てみると、終端とゴールにそれぞれジョイント名が入っています。

試しに先ほど出来たジョイントゴール(hair joint1.ゴール)を選択して動かしてみると、4つのボーンがグネグネと一緒に動くようになりました。
これがIKチェーンの機能です(^▽^)/


このように髪の毛にIKチェーンを設定して毛先にあるゴールを動かせば、風が吹いてうひゃ~みたいなアニメーションを簡単に作ることが出来るようになります。

つまりIKは「子が動けば親も動く」という機能を持っているわけです。
”子”というのは毛先のゴールで”親”はその後ろに続く髪のジョイントです。
毛先を動かすと、そこから髪の付け根まで連動して動く・・・つまり子が動くと、その後ろに続いている親のジョイントの位置と角度が自動的に計算されて動くようになります。
一方IKと似た名前でよく一緒に出てくるのがFK(フォワードキネマティクス=順運動学)といわれるものです。
IKが「子が動けば親が動く」ならFKは「親が動けば子が動く」です。
もっと解りやすい例えで言うなら、IKがあやつり人形でFKがプラモデルの人形のような動き・・・そう考えてみるとさらに動きのイメージがつきやすいかもしれません。
--------------------------------------------------------------
IKとFKのことをざっくり書いたところで、今度は腕や足にもIKチェーンを使ってみたいと思います。
腕に使う場合は、キャラクターの腕の付け根と手首のジョイントだけを選択してIKチェーンを設定します。

そうすると腕のゴールのヌルオブジェクトが出来るので、後はそれを選択して動かせば、腕の付け根、肘、手首が関連して動くようになります。

足も足の付け根と足首のジョイントだけを選択してIKチェーンで繋げます。


すると足首にもゴールが出来るので、それを動かすと足の付け根、膝、足首を関連して動かせるようになります。

これで腕と足にIKが設定されました。
キャラクターアニメーションを作る為には、IKの設定は絶対必要です。
この機能を覚えないと長いアニメーションを作るのは難しいと思います。
私は最初IKなんて設定しなくても、地道に関節を動かせばアニメーションは出来るだろうと思っていました。
うん・・・まあ(==;死ぬほど時間をかければ出来ることは出来るんですが凄く大変です。
以前ゲームキャラクターを作った時に歩くアニメーションを頼まれたんですが、その時私はまだIKのことをほとんど勉強していなかったのでIKなしで作りました。
最初は直ぐに出来るだろうと思ってたんですが、これがいざやってみると時間はかかるし、びっくりするほどうまくいきませんでした。
そこで今度はIKの勉強をしっかりしてからやってみたんですけど、そしたらあっと言う間にサクッと歩かせることが出来ました。
この作業効率の差は歴然でした。
この時キャラクターのアニメーションを作る為には、IKの機能は絶対必要なんだということがよく分かりました。
-----------------------------------------------------------------
では最後にIKを使った時に気づいたことを2つ書いておきたいと思います。
IKチェーンを設定してからファイルを保存して、CINEMA4Dを終了させてからまたその保存したファイルを開くと、キャラクターのジョイントがグシャグシャになって表示されるんですが、これはIKチェーンの機能が壊れた訳じゃないのでびっくりしないでください。
私も初めて見た時「ふおお-っ!!せっかく作ったモデルがグチャグチャになったーっ

と思って物凄くびっくりしました。

でも大丈夫です。
そういう時は慌てずにアニメーションパレットにある再生ボタンをクリックして下さい。

するとあっという間にジョイントがビヨ~ンと伸びて、キャラクターの形が元に戻ります。
それともう一つ、キャラクターをエディタビューで確認している時にボーンがちょっと邪魔だな~と思うことがあると思います。
そういう時はエディタービューのメニューにあるフィルターを選択して、その項目のず~っと下にある”ジョイント”をクリックします。


すると表示されているジョイントが全て消えて、キャラクターが見やすくなります。

でもちゃんとジョイントやジョイントゴールは動かすことが出来るので、表示のONとOFFをうまく利用しながらジョイントを動かしてアニメーションを作るといいかもしれません(^^)。

----------------------------------------------------------------
今回やった設定は腕と足、そして髪の毛を動かすだけの簡単な設定です。
もっとキャラクターの体を細かく正確に動かしたいと思ったら、ポールベクターやコンストレイントなどIK以外の設定もしないといけません。
本当はそのこともブログで書きたいんですけど、残念ながらまだこのブログで書けるほどちゃんと機能を理解してないので今は書けません

ちゃんと書くにはもう少し勉強しないと駄目そうです(==;
先は長いですけど地道に頑張ります。