みなさんこんにちは、ますくです。
今回は、キャラクターを作った後のお話になります。
どんな3Dソフトでも共通する概念ですが、今回はMayaを使って解説していきます。
①測地線ボクセルバインドのススメ
キャラクターをモデリングした後は、まず、骨(ジョイント)を作って、
骨と皮膚を関連付け(バインド)させるのが基本なのですが、
最近はボクセルバインドという、メッシュをボクセル解像度で分析してウェイトを割り当てる方法が開発され、かなりきれいにウェイトが割り当てられるようになりました。
ウェイトというのは、その骨が周囲のスキンメッシュにどれだけ影響するかという影響地を、白黒のペイントなどで調整するものですが、このウェイト調整がかなり面倒くさい。
測地線ボクセルバインドを活用すると、一発できれいにウェイトが割り振られることが多いので、是非活用してみて下さい。
②FK、IKというのはご存知でしょうか?
FKはフォワードキネマティクス、IKはインバースキネマティクス、の略で、
FKは親子関係のみのボーンに対して、肘などを回転すると、肘から先の手も指も全部まとめて動くというような、軸の中心から回転させポーズを付ける方法、
対するFKは、回転ではなく、先端をつまんだで引っ張ったり縮めたりすることで腕全体、足全体を動かすようなポージング方法です。
例えば腕の先端部を掴んで引っ張ると、先端部に引っ張られるように肘や方も全部連動して引っ張られるような挙動をします。
また、手を引っ張ると、足腰まで全部連動して動く、フルボディIKというのがありますが、これもIKを重ねがけすることである程度擬似的に再現することができます。
FKでは、足が地面に埋まってしまったり、手を動かしたくないのに少しポーズを変えると体ごと腕も手も階層下にあるものがまるごと動いてしまうという難点があります。
正直な話、FKでアニメーションを付けるのは無謀なので、IKと言うのはほぼほぼ必須だと思います。
IKを設定して、感覚的にキャラクターを動かしてみました。
動画で見れば挙動を理解しやすいと思います。
③IKを組んでみよう
IKは手足の腱と似ています。
まずは、IKを作るときは、少し関節を曲がる方向に曲げておく必要があります。
IKを設定したいボーンを、親→子の順に選択して、
左から三番目がIKの設定ボタンになります。
ここで注意したのは、IKの向きを後から変えられるようにしたいので、『回転プレーンソルバ』を選択して、IKハンドルを作成しましょう。
これは、IKが曲がる向きを変更できるようにするためのものです
向きを変えるためのコントローラーを作って、
コントローラーを動かすと関節の向きが変わるような設定をしていきます。
こういった仕組みを「IKの極ベクトル」と勝手に呼んでいます。
IKの極ベクトルを組むために、まずはロケーターを置きます。
ロケーターは、コントローラーです。わかり易ければ何でも良いです。
次に、極ベクトルというコンストレイント(拘束条件)を設定します。
拘束条件をつけるときは、親→子の順番で選択し、図の⑤にある極ベクトルコンストレイントを選択します。
④Rigを組んでいこう
Rigとは、キャラクターを動かしやすくするための仕組み全般のことを言います。
キャラクターの骨を直接動かすのではなく、
キャラクターの骨を制御するためのコントローラーを作り、
コントローラーでわかりやすくポーズを付けていこう、という考え方です。
Rigを作る最も簡単な方法は、ダミーのオブジェクトやロケーターなどを作り、
コンストレイント(拘束条件)で骨やIKと連動させることです。
Mayaのリギングシェルフの中ほどに、5種類のコンストレインがあります。
ヒエラルキー上で親子関係を組まなくても、ペアレント関係を構築することが可能です。
今回は、簡単にIKハンドルを選択、移動しやすくするための、リグコントローラーを作ります。
KIの付け根に、円形のダミーをおいて、また親→子の順番で選択、ペアレントコンストレイントをクリックします。
するとどうでしょう。
動かしやすくなりました。
この作業をひたすら繰り返していくと、以下のようなキャラクターコントロールRigができます。
ZBrushでモデリングしたSDキャラに、ぱぱっとボーンを入れて、リグを設定します。
すると、こんな感じで自由自在にポーズをつけることができました。
おまけ編
ブレンドシェイプを設定して顔とかも動かすと楽しいです。
スカートと髪の毛にクロスシミュレーションを設定しました。荒ぶっています。
という感じになります。
Rigやボーンは一回組んでしまえばある程度使いまわせるので、一度自分の用途にあったRigやボーンのシステムを作ってみてはいかがでしょうか。
次回は、ゲームエンジンにアニメーションを持っていく方法をまとめたいと思います。