Mayaで背骨(FKIKハイブリッド)のセットアップ -中編-

spine_hybrid_chuMayaでRigging

背骨(FKIKハイブリッド)のセットアップの続きです。

前回までで背骨のspline_IK(IK_spline)を作成し、そのspline_IKのカーブにjointをバインドし、そのjointにコントローラーをつけるところまで作成しました。

Mayaで背骨(FKIKハイブリッド)のセットアップ -前編-
「背骨のセットアップなんてものはすべてFKでええじゃないか」という(アニメーターの)意見があることは存じています。しかも、そのような意見が少なくないことも。リグを作る立場からすれば楽なので良いのですが(退屈だと思われる方もいらっし...
スポンサーリンク

FKのjointを作成する

背骨(FKIKハイブリッド)のセットアップということで、今度はFKのjointを引きます。

太いjointがFK用のjointです

spline_IKを引いたリグ用のjointの同一線上にFK用のjointを4つ(だいたい3等分になるように)配置します。

根本と先端のjointはspline_IKを引いたjointと同じ位置にスナップさせて配置します。

joint orientをspline_IKを引いたjointと同じ方向にします

最初にFKのjointを引きたいところにLocatorを配置してそれにスナップさせて引くと簡単に引くことができます。

FKのjointをコントローラーにする

FK用のコントローラーを作成します。

このFK用のコントローラーは普段使うようなjointをコントローラー(カーブ)にコンストレインする方法ではなく、jointのシェイプノードをコントローラー(カーブ)にする方法を使用します。つまりjointの見た目(シェイプ)を変えてそのままコントローラーにしてしまいます。

ちなみに過去の記事ではこのFKとIKのブレンド(切り替え)の記事で説明しました。

MayaでFKとIKブレンド(切り替え)方法
MayaでFKとIKのブレンド(切り替え)方法を解説します。ブレンドと切り替えについては人それぞれ好みがあると思います。私は補間してくれるブレンドは嫌いではありませんが、キーを沢山打たなくてはならないアニメーターとしては数値をいれてキーを...

nurbs Circleを作成してこれをコントローラー(jointのシェイプ)にします。

OutlinerのDisplayの中のShapesにチェックをいれてシェイプノードが表示されるようにします。

nurbs Curveのシェイプノードを選択して、次にシェイプをナーブスカーブにしたいjointを選択して

MELのコマンドラインで

parent -r -s

を実行します。

すると‥

Circleが縦になってしまいました。

これはjointの軸とnurbs Circleの軸の方向が違うためです。

nurbs Circle Shapeのヒストリの設定を変更します。

Normal Xを0から1に

Normal Yを1から0に変更します。

これでX軸に巻き付くようなCircleになります。

この方法でFKのjointの2番目と3番目のjointのシェイプをnurbs Curveのコントローラーにします。

spline_IKとFKを連動させる

「Ctrl_Grp」に入れた「chest_Ctrl_Grp」と「hip_Ctrl_Grp」をそれぞれグループ化(Ctrl + g)します。

名前をそれぞれ「chest_Ctrl_Grp」と「hip_Ctrl_Grp」にします。

そして、先程作成したシェイプをnurbs Curveにしたjointはコントローラーとして使用するので、「ctrl_Grp」の中にいれてしまします。

上の画像のように、FKの根本のjointを選択して、次にhipのコントローラーをグループ化したものを選択して、parent constrain(offsetつき)をします。

次にFKの先端のjointを選択して、次にchestのコントローラーをグループ化したものを選択して、parent constrain(offsetつき)をします。

これでspline_IKとFKを連動させるハイブリッド構造になりました。

Squash and Stretchできるようにする

このままの状態の背骨のspline_IKでは、胸と胸のコントローラーが離れてしまった場合に思い通りに制御できなくなります。胸が胸のコントローラーに追随するようにSquash and Stretchの機能を追加します

jointが伸びたり縮んだりさせる方法の説明については過去の記事を参照してください。

今回はNode Editorでどことどこを接続したのか結果だけ示します。

過去の記事で腕のjointがStretch(Squashしない)する方法を解説したものと、

MayaでStretch IK(scaleX版)part1
Stretch IK(伸びるIK)の解説です。 腕や脚で使われることを考慮して 今回紹介するのは伸びるIKなので縮みません。正確に言うと縮まないようにしています。Stretch IKを作る場合、jointのtranslateXを使...

spline_IKでSquash and Stretchさせる方法を解説したものがあるので参考にしてください。

Mayaでシュルシュルとのび~るIK spline(spline IK)
MayadでRiggingというシリーズでここ最近はstretch IK(のびるIK)についての記事を扱ってきました。そこで、今回はのび~るIK spline(spline IK)について解説します。こののび~るIK spline(spl...

spline_IKなので長さを得るのに都合の良いCurveがあるのでCurve Infoノードを使ってノードを組みます。

カーブのシェイプノードの「World Space[0]」をcurveInfoノードの「Input Curve」に繋ぎます。

curveInfoノードの「Arc Length」をmultiplyDivideノードの「input 1X」に繋ぎます。

multiplyDivideノードは「multiply」にします。

multiplyDivideノードの「Output X」をそれぞれのspine_**_Jntの「Scale X」に接続します。

背骨そのものを動かすpelvisコントローラーを作成する

「pelvis_Ctrl」という名前にしてコントローラーとなるnurbs Curveを作成します。

一筆書きしたnurbs Curveはそのままコントローラーとして使用することができますが、もう少し複雑なシェイプのコントローラーを作成したい場合は過去記事を参考に作ってください。

Mayaでコントローラー作成
Mayaを長年使ってきて疑問に思うことがあります。それは「なぜこんな(簡単な、技術的に難しいわけでもない)ことが標準機能として搭載されていないのか?」ということです。その筆頭格といえるのがリグのコントローラーを作成する機能です。このことこ...

このコントローラーはコントローラーなので「ctrl_Grp」の中にいれます。

この「pelvis_Ctrl」の子に今まで作ったFKのjointをいれます。

完成1歩手前

現状ではここまで完成しました。

しかし、全体スケール対応がまだできていません。

この仕上げの作業が面倒であったり、難しかったりするのですが次回この作業にあたります。

Follow me!

コメント

PAGE TOP
タイトルとURLをコピーしました