[setup] "恐竜少女カプア" ボーンセットアップ紹介
概要
お疲れ様です。VolcaでアニメーションTAを担当している"Katahira"です。
この記事はVolcaオリジナルキャラクター、カプアのセットアップ(リギング)に関するメイキング記事になります。
(ちなみにカプアという名前は私のアイデアです!)
主にリギングの初心者の方や、リギングも始めたいというアニメーターの方などに向けて、”Advanced Skeleton”というMaya向けのプラグインを使用し、動かせるところまで持っていく過程をご紹介します。
軽くリギングとその用語についてご説明
リグ(rig) とは、CGにおいてキャラクターやプロップなどを効率的かつ直感的に動かすための仕組みです。
( リギング : rigging はリグを作ったり仕組むこと行動の方を指します )
リギングにおいては、大体大まかに以下のような流れで進めていきます。
クレイアニメや操り人形のようにスケルトン(Skeleton、骨組みの意)を、モデルのプロポーションに合わせて設定
どのように動かすかの想定のもと、各箇所の仕組み作り(例:足は地面に設置していることが多いからIKでも動かせるようにしよう、等)
クレイアニメでいうところの肉付けのような感じで、各スケルトンがどこまでどのくらいモデルを動かせるかの調整(スキニングと呼ぶことが多いです)
今回のセットアップ記事については、骨組み作り、仕組みづくり、スキニングの3回に分けてご紹介予定です。細かい点については各工程で説明していきます。
それではまずプラグインの準備から始めていきましょう。
1️⃣ プラグインをインストール
今回全部ではないですが、AdvancedSkeleton(以下AS)というMaya向けのリギングのプラグインを使用します。
こちらの公式サイトからダウンロードすることができます。
https://animationstudios.com.au/
※個人での自主制作などには無料で使用できますが、商用利用する際にはライセンス購入が必要です。(企業向け永久ライセンス=3000USD、個人向け永久ライセンス=750USD)
ダウンロードしたzipファイルを解凍し、中身をインストールしたいmayaのバージョンのscriptフォルダへ置き、install.melをmayaのビューポートへドラッグ&ドロップすればインストール完了です。
そうするとシェルフにこのようなアイコンが表示されるので、一番左のオレンジ色のものをクリックすると、ツール一覧が表示されます。このツールたちを使って、セットアップを進めていくことになります。(右の3つは体と顔のセレクターとカスタムピッカー)
ちなみにインストール済みでアップデートしたい際には、一番下のセクションで確認することができます。
2️⃣ モデルの確認
ASのインストールが完了したら、セットアップが開始できそうかモデルを確認していきます。
まずは必要に応じてケージモデルの作成や、モデルの整理(例:ボディと羽の分離、顔のパーツの分離、など。基本的にはモデラーにお願いしてやってもらうのが良いかと思います)を行います。
今回カプアはベースの表情としてブレンドシェイプを作成してもらっているため、頭部と体が分離しています。
それぞれに別々のスキニングをしてしまうと境目がずれてしまいます。ですのでいったんこの2つをマージし、一つのボディとしてスキニング&ウェイト調整し、そのウェイトを頭部と体それぞれにコピーすることでズレを防ごうと思います。
ケージモデルについて
ケージモデルというのは本番モデルのポリゴン数を間引いて極力シンプルにした状態のモデルのことです。最初にこのシンプルなメッシュでウェイトを調整した後に本番モデルへウェイトをコピーすることで、後々の調整時間をかなり削減できる効果があります。
ただやみくもに間引けばいいということではなく、モデル(キャラクター)の動き(骨や筋肉、関節など)や実際のジョイントの配置を意識したエッジの流れや、形状を保っている必要があります。
シンプルなキャラクターであればLowモデル一つ、複雑な筋肉や関節などの動きを持つキャラクターであればMidも挟むなど、場合によって複数用意することもあります。
また付随する揺れものや小物などについてはひとまず考えず、後ほどそれらにもウェイトをコピーすることで大まかな出発地点とすることができます。
(参考リンク)
https://backbone-studio.com/blog-cageweight/
https://area.autodesk.jp/movie/maya-skinning/04.html
ただ説明しておいてなんですが、カプアのモデルに関してはそこまでポリゴン数は多くなく、最初から直接本番モデルを使用しても問題なさそうなため、そのまま進めていくことにします。
一通りモデルの整理が完了しましたら、ASのモデルチェック機能に通します。
と言いたいのですが、今回カプアにはブレンドシェイプでベースとなる表情を作成していただいており、このチェック機能を使うと変な感じ(デフォルトの頭のモデルが消えてしまう)になって上手くいかない為、このモデルに関してはスキップしてしまいます。
後にASのフェイシャルセットアップの機能でブレンドシェイプを追加するものがあるので、もしブレンドシェイプが必要で未作成の場合は、まず一通りボディのセットアップを終わらせてフェイシャルに取り掛かった時に作成するのが良いかもしれません。
一応機能の説明は以下に記しておきます。
ASのモデルチェック機能
この機能はオプションであり別に使わなくても問題ありませんが、ASでセットアップしていくにあたって問題無いか確認してくれるので、一応チェックしておくのがおすすめです。
基本的には上から順に進めていけばいいようになっていますので、まずはPreparation(準備)というタブのModel項目にある指示に従い、ポチポチボタンをクリックしていきます。
Model Cleanをクリックするとダイアログが表示されます。Createで自動で”geo”という名前のグループが作成され、全てのジオメトリーが格納されます。
その後Cleanをクリックでジオメトリーをクリーンアップしてくれますが、変なエラーなどが発生すると嫌なので、その前に必ず一度保存しておいてください。
ちなみにこういった各工程で何をするか、内部でどんなことをしているかは大体ボタン横の”?”マークをクリックすると、説明のダイアログが表示されますので、参考にすることができます。
最後にModel Checkをクリックで、シンメトリー(左右対称)になっているかを確認してモデルチェックは完了です。
リギングにおいては最初完全なシンメトリーで大方作成したあとに、非対称部分を個別で調整することが定石のようです。ASでもまずは対称で作り、後ほど非対称部分のための機能が備わっています。
たまに完全な左右対称に見えるのに非対称になっています、と注意文が表示される場合はヴァーテックスが少しズレているかもしれません。見てわからないほどなのでそのまま進めても大体問題ありませんが、しっかりしておきたい場合はモデルを修正しておくのが良いかもしれません。
ここで一度セットアップ準備完了モデルとして保存します。
そしてそのまま下へ進みNew Sceneをクリックし、Referenceで保存したモデルを読み込みます。これは文字通り単に新しいシーンを開き、モデルをレファレンスしているだけなのですが、ASではモデルに変更があっても反映しやすいようにそうしているようです。
リグが完成したら最後のパブリッシュ時にモデルをインポートするので、二重レファレンスにならないようになっています。
次にジオメトリーを指定しておきます。
Skin → 肌、素の体部分。今回のように複数ある場合は全て選択。
All → リギングするモデル全て
Right eye → 右目玉
Left eye → 左目玉
Optionsはそれぞれ、
Game engine → ゲームエンジンで使用する予定があるならチェック
Z up axis → Mayaでは基本上を向く軸はYですが、UEなどのゲームエンジンではZが上向きの物もあるということで、それに対応させる
Offset parent matrix → 親空間の切り替えを実現するための手法を、従来のコンストレインを用いるものから、こちらのoffset parent matrixというマトリクスを用いるものに変更する機能
↓ こちらの記事が参考になりました
https://cgworld.jp/regular/202109-coyote-ta09.html
最後にGUI colorsですが、特に変える必要も感じないためスキップします。
これでやっとボーンを配置する準備が整いました。
3️⃣ 骨を配置していく
ASでは実際に動かして調整するボーンのことをフィットスケルトン(fit skeleton)と呼んでおり、キャラの種類別(人間、四足歩行、恐竜など)でのプリセットが用意されています。
今回は恐竜型が一番近いかと思いますので、Dinosaurを選択してimportします。
サイズが小さいのでrootコントローラーを掴んで、大まかにスケールをモデルに合わせます。自分は腰のジョイントが重なるくらいのサイズにしました。
実際の骨格を意識して配置する
今回はカートゥーンチックなキャラクターなのでそこまで細かく気にしなくてもいいかと思いますが、なるべく実際の生物の骨格を意識して骨を置くことで、視聴者にキャラクターをもっとリアルで身近な存在として感じてもらうことができます。
今回はラプトル(カプアは本来肉食より草食という設定ではありますが)の骨格図を参考にして、ある程度寄せて配置しようと思います。
ここで少し用語について説明しますと、ジョイントというのはこの軸を持った丸い点のことで、
ジョイントの親子ををつなぐピラミッド型の部分がボーンです。子の方に先端が接続されるようになっています。そしてこれらをまとめて指すのがスケルトンという言葉になります。
各ジョイントは回転軸を持っており、デフォルトではX軸が子の方を向くようになっています。
骨組みの設定が終わった時点では、全ジョイントの回転軸(xyzすべて)が”0”になっている必要があるため、基本ジョイントは移動で想定の位置に置いていきくか、回転したらfreeze transformationで回転値を0にする必要があります。
( 実際はjoint orientというアトリビュートに数値が保存されている )
またジョイントの軸が子の方を向いていない場合もありまして、その時はorient jointというツールで設定した方向へ向かせることができます。
( Orient jointについては以下の記事が参考になります )
http://cgjishu.net/blog-entry-374.html
ASでは上記のように回転に値を入れた場合、対象のジョイントを選択した状態でAuto-orientのUpdate nowをクリックすることでfreeze transformationと同じように回転地を0にすることができます。
もしくはFitModeをクリックしておくことで、回転すると随時自動で0にフリーズしてくれます。
上記を念頭に置きつつ、腰から順に(頭方向と尻尾方向)ジョイントを配置していきます。
右半身に配置していき、後ほどASのツールで自動的にミラーしてくれます。パースペクティブビューやオーソグラフィックビューを切り替えて確認しつつ、良い位置に配置していきます。
ジョイントを移動する際に、普通のtranslateだと子までついてきてしまうので扱いづらいことがあります。そんな時はピボット移動(標準ホットキーではinsertキーで切り替えかDキー押しっぱなし)で移動させると、そのジョイント単体だけを動かせるので、微調整に便利です。
またジョイント関連の他の機能で言えば、ASの機能でジョイントの増減ができます。カプアの例でいうと尻尾のジョイントの数がちょっと足りない気がしましたので増やしてみます。
Add JointsのReSampleをクリックするとダイアログが出てきますので、ジョイントを足したい部分を挟む最初と最後のジョイントを選択し、分割数を指定して実行します。
他にもスケルトン配置に便利なツールがありますが、ちょっと記事が長くなりすぎてしまいますので割愛します。”?”ボタンで機能を確認できますので、活用していきましょう。
一通り配置完了しますとこんな感じになりました。
羽毛について
ボディの方は一通り骨を入れましたので、今度は羽毛や髪飾りなどのセカンダリー部分へも同様の方法で骨を入れていきます。
こういったセカンダリーや装飾部分に関して (キャラやモデルによって結構変わるところかと思いますのであまり深くは説明しませんが) 、カプアの場合は羽毛がかなりの数があったのですが、GPTの力を借りてスクリプトを作成し、自動生成することができました。
こちらのセカンダリー部分についてはちょっと邪魔なのでいったん隠しておきます。
次回予告
上記の流れで、ジョイントの配置までが完了しました!
次の記事ではリグの設定を紹介していきます。
最後まで読んで頂きありがとうございました。