現在発売中のCGWORLD vol.230(2017年10月号)では、「ワンランク上のキャラクターリギング」と題して、個人のアーティストとプロダクションの双方にとって実用的なリグ作成に関するTIPSを紹介しました。本稿では本特集からハイクオリティなCGアニメーションに定評あるコロッサスによるプロダクションワークとしてのリギングの効率化TIPSとして、犬や馬といった四つ足のキャラクターの動きに欠かせない「逆関節リグ」の作成方法を紹介します。通常のIKでは制御できないため、悩んでいる人も多いのではないでしょうか? 記事の末尾にサンプルデータのダウンロードリンクも記載していますよ!

※本記事は月刊「CGWORLD + digital video」vol. 230(2017年10月号)からの転載となります

TEXT_李 振元、山部道義(コロッサス)
EDIT_沼倉有人 / Arihito Numakura(CGWORLD)、山田桃子 / Momoko Yamada

コロッサス
常に進化し続ける映像制作集団、CGをただの技術としてではなくエンターテインメントの中でどう表現に結びつけていくのかを常に模索している。近年は高解像度キャラクターの制作、ドームやプロジェクションマッピングなどの大型映像にも力を注いでいる。
cls-studio.co.jp

4つ足をもつ動物などの逆関節IKリグの作成

<STEP 1>MayaのIK handle固有の問題点

犬や馬といった四つ足のキャラクターの場合、【A】のように足全体を1つのIKで制御すると、角度Aと角度Bを個別に制御することが難しくなり、【B】のような座ったポーズをとるのが難しくなってしまいます。

そこで【C】のように【A】の部分はFK制御、【B】の部分はIK制御に分けることで各関節の位置が定まるようになり、お座りポーズのような姿勢も制御しやすくなります。


アニメーション作業を行うアニメーターがキャラクターを思いどおりに動かせるリグを組むことが、リガーの一番大事な役割と言っても過言ではありません。そのためには「少ないコントローラでわかりやすい」構造にするのが大事でしょう。今回作成する逆関節足リグのコンセプトは下記のとおりです。

1.第1関節のコントローラは、足のコントローラが連動して動くようにセットアップすることでアニメーション作業の手間を省く
2.同コントローラは、独立したアニメーションも行えるように組む

次ページ:
<STEP 2>人間の足と逆関節をもつ動物とのちがい

[[SplitPage]]

<STEP 2>人間の足と逆関節をもつ動物とのちがい

続いて、人間のような2足歩行の生物と、馬など逆関節の構造をもった動物との骨格的なちがいを解剖学の観点から見てみます。4足歩行の動物は馬と犬のあいだでもその差異はありますが基本的には「かかと」を上げて、手足の指だけ地面に着いてることになります【A】。馬の場合、地面に着く蹄(ひづめ)は人間の中指にあたります【B】。


人間と馬の骨格のちがいを図示したもの(川崎悟司、『動物の立ちポーズ。』(2007年9月25日付)、オフィシャルブログ「古世界の住人」、ameblo.jp/oldworld/entry-10048600968.html


馬の身体に骨や筋肉を正確に描き込んだ写真(MP Equine Therapy、「Painted Horse Anatomy」、mpequinetherapy.wordpress.com/resources/painted-anatomy-demonstrations



このちがいをMaya上で再現してみましょう。その際、【C】のように解剖学の構造に従った位置に膝をもたらしてリグを組んでしまうと、「かかと」が浮いてる状態の動物の足では【D】のようなRollの制御が難しくなります。



そこで、【E】のように人間の足と骨盤の間に肩のような関節(upLeg)がもう1つ付いてる構造にすれば、Rollアニメーションに影響なく、足の制御が行えるようになります。




次ページ:
<STEP 3>逆関節リグの作成手順

[[SplitPage]]

<STEP 3>逆関節リグの作成手順

それでは実際に逆関節リグを作成していきましょう。SkinWeightが載る「Skin Joint」は「Control Joint」と1:1でコンストレイントされます。Control Jointには、IK handleやコントローラなどが付き、このジョイント階層を動かして、足のアニメーションを制御することになります。そして、「Aim Joint」には、ControlJoint「upLeg」がコンストレイントされます。Aim JointはupLegの自動制御に使います【A】。




Control JointとAim Jointは同じIKコントローラとPole Vectorコントローラをもっていて、Aim Jointの第1ジョイントがControl Jointの第1ジョイントを制御するFKコントローラのOrient Constraintの親になります。この構造によって、FKコントローラはIKコントローラが連動しながら、独立したアニメーションキーをもつことができるようになります【B】。完成したジョイントが【C】になります。


  •  


最後に、IK制御に付きものであるフリップを解消するためのTIPSを紹介します。一般的なIKリグでは、IKコントローラがIKが始まるジョイントとPole Vectorコントローラを結ぶ線を越えるとフリップが生じてしまいます【D】。



もちろんPole Vectorコントローラを移動させれば回避できる問題ではありますが、面倒ですよね? フリップが起きてしまう原因は、「IK handle」と足の進行方向が「Pole Vectorコントローラ」と同じ平面上に存在するためです【E】。

そこで、Pole Vectorの位置をその平面からずらせば解消されます。具体的には、Pole Vector用のLocatorの位置を「IK handle」の真横に配置して「IKのTwist」の値を元の姿勢になるように調節します【F】。今回はTwistに-90を入れると元の姿勢になりました。



その後、LocatorをIKコントローラの子にします。ですが、このままでは足だけをひねることができないため、「IKコントローラ」に「Knee Twist」というAttributeを追加してPole Vectorの親Groupノードの「Rotate Y」と繋げれば完成です【G】。激しいポーズをとらせてもフリップが起きないことが確認できます【H】。





いかがでしたか? 今回作成した逆関節リグのデータをコロッサス公式サイトからダウンロードできるようにしたので、ぜひご利用ください。

【サンプルファイルのダウンロード】
今回紹介した逆関節リグですが、コロッサス公式サイトから実データをダウンロード可能です(下記URLからダウンロード、解凍してください)。

cls-studio.co.jp/cgworld-vol-230

月刊誌に掲載した元記事の「ダイナミックコントロールリグの作成」(nClothを利用して作る、手付けアニメーションとシミュレーションが共存できる揺れ物リグの作成方法と、リグ作成の複雑な手順を自動化するためPythonスクリプトを紹介)のサンプルシーンファイルとPythonスクリプトもダウンロードできるのでぜひご利用ください。



info.

  • 月刊CGWORLD + digital video vol.229(2017年9月号)
    第1特集:劇場アニメ『機動戦士ガンダム THE ORIGIN 激突 ルウム会戦』
    第2特集:ワンランク上のキャラクターリギング

    定価:1,512円(税込)
    判型:A4ワイド
    総ページ数:144
    発売日:2017年9月8日
    ASIN:B074WTYF4P