人柱系CGモデラーのTipsブログ

3DCGモデラーとして活動する管理人の独自解釈に基づく実践重視の解説や備忘録です。

■齟齬や誤字にお気づきの際は優しくご指導ご鞭撻のほどお願いいたします。

簡単Rigの基本はIKと極ベクトル!

 

 みなさんこんにちは、ますくです。

 

今回は、キャラクターを作った後のお話になります。

 

 

どんな3Dソフトでも共通する概念ですが、今回はMayaを使って解説していきます。

 

 

①測地線ボクセルバインドのススメ

 

 

 キャラクターをモデリングした後は、まず、骨(ジョイント)を作って、

 

骨と皮膚を関連付け(バインド)させるのが基本なのですが、

 

最近はボクセルバインドという、メッシュをボクセル解像度で分析してウェイトを割り当てる方法が開発され、かなりきれいにウェイトが割り当てられるようになりました。

 

f:id:maskmen2:20171002131016p:plain

 

f:id:maskmen2:20171002130239p:plain

 

ウェイトというのは、その骨が周囲のスキンメッシュにどれだけ影響するかという影響地を、白黒のペイントなどで調整するものですが、このウェイト調整がかなり面倒くさい。

 

測地線ボクセルバインドを活用すると、一発できれいにウェイトが割り振られることが多いので、是非活用してみて下さい。

 

 

②FK、IKというのはご存知でしょうか?

 

FKはフォワードキネマティクス、IKはインバースキネマティクス、の略で、

 

FKは親子関係のみのボーンに対して、肘などを回転すると、肘から先の手も指も全部まとめて動くというような、軸の中心から回転させポーズを付ける方法、

 

対するFKは、回転ではなく、先端をつまんだで引っ張ったり縮めたりすることで腕全体、足全体を動かすようなポージング方法です。

 

例えば腕の先端部を掴んで引っ張ると、先端部に引っ張られるように肘や方も全部連動して引っ張られるような挙動をします。

 

また、手を引っ張ると、足腰まで全部連動して動く、フルボディIKというのがありますが、これもIKを重ねがけすることである程度擬似的に再現することができます。

 

FKでは、足が地面に埋まってしまったり、手を動かしたくないのに少しポーズを変えると体ごと腕も手も階層下にあるものがまるごと動いてしまうという難点があります。

 

正直な話、FKでアニメーションを付けるのは無謀なので、IKと言うのはほぼほぼ必須だと思います。

 

IKを設定して、感覚的にキャラクターを動かしてみました。

 

動画で見れば挙動を理解しやすいと思います。

 

 

www.youtube.com

 

 

③IKを組んでみよう

 

 

IKは手足の腱と似ています。

まずは、IKを作るときは、少し関節を曲がる方向に曲げておく必要があります。

IKを設定したいボーンを、親→子の順に選択して、

 

f:id:maskmen2:20171002134855p:plain

 

左から三番目がIKの設定ボタンになります。

 

ここで注意したのは、IKの向きを後から変えられるようにしたいので、『回転プレーンソルバ』を選択して、IKハンドルを作成しましょう。

 

 

f:id:maskmen2:20160223011743j:plain

 

 

これは、IKが曲がる向きを変更できるようにするためのものです

 

向きを変えるためのコントローラーを作って、

コントローラーを動かすと関節の向きが変わるような設定をしていきます。

 

こういった仕組みを「IKの極ベクトル」と勝手に呼んでいます。

 

f:id:maskmen2:20160223011819j:plain

 

 IKの極ベクトルを組むために、まずはロケーターを置きます。

 

ロケーターは、コントローラーです。わかり易ければ何でも良いです。

 

次に、極ベクトルというコンストレイント(拘束条件)を設定します。

 

拘束条件をつけるときは、親→子の順番で選択し、図の⑤にある極ベクトルコンストレイントを選択します。

 

 

f:id:maskmen2:20160223011749j:plain

 

 

④Rigを組んでいこう

 

 

Rigとは、キャラクターを動かしやすくするための仕組み全般のことを言います。

キャラクターの骨を直接動かすのではなく、

 

キャラクターの骨を制御するためのコントローラーを作り、

 

コントローラーでわかりやすくポーズを付けていこう、という考え方です。

 

Rigを作る最も簡単な方法は、ダミーのオブジェクトやロケーターなどを作り、

 

コンストレイント(拘束条件)で骨やIKと連動させることです。

 

Mayaのリギングシェルフの中ほどに、5種類のコンストレインがあります。

 

最も簡単なのはペアレントコンストレインで、

 

ヒエラルキー上で親子関係を組まなくても、ペアレント関係を構築することが可能です。

 

 

f:id:maskmen2:20160223011807j:plain

 

今回は、簡単にIKハンドルを選択、移動しやすくするための、リグコントローラーを作ります。

 

KIの付け根に、円形のダミーをおいて、また親→子の順番で選択、ペアレントコンストレイントをクリックします。

 

するとどうでしょう。

 

動かしやすくなりました。

 

f:id:maskmen2:20160223011835j:plain

 

この作業をひたすら繰り返していくと、以下のようなキャラクターコントロールRigができます。

 

 

f:id:maskmen2:20160223013312j:plain

 

ZBrushモデリングしたSDキャラに、ぱぱっとボーンを入れて、リグを設定します。

 

 

すると、こんな感じで自由自在にポーズをつけることができました。

 

f:id:maskmen2:20160223011729j:plain

 

 

おまけ編

 

ブレンドシェイプを設定して顔とかも動かすと楽しいです。

 

f:id:maskmen2:20160223013450j:plain

 

スカートと髪の毛にクロスシミュレーションを設定しました。荒ぶっています。

 

f:id:maskmen2:20160223013451j:plain

 

という感じになります。

 

 

Rigやボーンは一回組んでしまえばある程度使いまわせるので、一度自分の用途にあったRigやボーンのシステムを作ってみてはいかがでしょうか。

 

 次回は、ゲームエンジンにアニメーションを持っていく方法をまとめたいと思います。