「MayaでRigging」このシリーズではMayaでのリギングについて書きます。リギングといっても様々なレベルがあり、人によって認識がバラバラです。「リグなんてものは簡単だ」という人もいれば、「リグはとても難しい」という人もいます。これはどちらかが間違っているというわけではなく、リグというものに対する認識が違うためだと思われます。簡単だという人はおそらくモバイル(に限りませんが)ゲームなどを制作するうえでキャラクターがジョイントにバインドされた状態のものを受け取ってそれの腕と足にIKを設定して、胴体や頭はFKとしてそれらにコントローラーをつけてアニメーションを付けられるようにすることを指している場合が多いでしょう。いっぽう難しいという人は様々なギミック(スケール対応、ストレッチ(伸びる)機能、スペース切り替え等)をリグに組み込むことを前提としている場合が多いでしょう。
日本語でリグについて学べるサイトというものは私が知る限りほとんどありません(BACKBONEさんのリグブログはとても高度な内容なので初心者には難しすぎると思います)。私はリグは専門ではないので学びながら記事を書くことによって理解を深めることが一番の狙いです。ですので間違っていたり、いい加減な部分があれば指摘していただけると大変助かります。
また、同じような理由で「Davinci Resolve Fusion でコンポジット」というシリーズの記事を書きました。こちらはMayaのリギング以上に日本語の情報がない状態でした。ノードベースでのコンポジットなどというものに対しては全くの門外漢です。ですのでこんな記事よりももっと良いものを書いてくれるであろう勇者の登場を待っています。そうなれば私も大いに報われます。よろしくお願いいたします。
参考書籍
上でも述べたように日本語でMayaのリギングを学ぼうとしても情報は非常に少ないです。しかし、ボーンデジタルさんより良書がいくつも出版されています。
『Maya キャラクターリギング – 二足歩行・四足歩行・フェイシャルアニメーション』
2022年にこちらの本が出版されました。
それ以降まずはこれをMayaのリグ本としてはおすすめしています。
背骨にリボンリグといった比較的新しい手法を用いたリギング方法が解説されています。また、題名にあるとおりに四足歩行やフェイシャルアニメーションについても書かれています。ただし基本的にこの本はリギング初心者のための本なのでブレンドシェイプとジョイント制御のハイブリッドの方法を知りたいといった人には物足りない部分もあるかもしれません(フェイシャルアニメーションはブレンドシェイプとジョイント制御の2つの方法として書かれています)。
しかし、腕のIKとFKの切り替えや四足歩行の足(脚)や指のセットアップといった厄介な部分のチュートリアルもあるので満足できる内容です。今私はこの本のチュートリアルをやっている最中なのでそれが全部終わったらこの本のレビューを書くつもりです(途中経過ですがリグについてあるていど知っている人でないとわかりづらい部分もあるのでそのあたりはレビューをお待ち下さい)。
そして、この本にはこのブログ記事に書かれている「スキニング(バインド)用のjointとリグ(コントローラーをつける)用のjointを分けて両方用意しましょう。」といった内容は書かれていないのでまずはこの記事(基礎の基礎ですが非常に重要なことです)を読んで頭に入れた上でこの本を読んで下さい。
この本についてのレビューを書きました。詳しくは以下のレビュー記事を御覧ください。
Mayaによるリギング上級者と自認している方以外には内容も十分に濃いのでおすすめです。
『Mayaリギング 正しいキャラクターリグの作り方』
Mayaでのリギングを専門で扱ったものといえばこれです。私が持っているのは2013年9月25日の初版のものです。どの部分が改定されているかはわかりませんが、今から読む人は改訂版ということで羨ましくもあります(アニメーターズ・サバイバルキットの記事でも同じことを書きました(笑))。スケールやリバースフット、そしてストレッチするリグも解説されています。リグについて学ぶならまずはこれがマストバイです。
いまは上の『Maya キャラクターリギング – 二足歩行・四足歩行・フェイシャルアニメーション』のほうをおすすめします。ただし、Mayaのリギングを日本語で学べる本は非常に少ないので、上記の本を読み終わったあとにでも読んでみてください。リグを学ぶ上では様々なやり方を知ることが重要です。どれか一つの本に書いてあったからといってその本の盲信者(原理主義者)になってはいけません。リグは会社やチームによってやり方がいろいろと違ってくるのでそれぞれの良し悪しを理解しながら様々なやり方を知っている方が強いです。
『マヤ道!! : The Road of Maya』
こちらはリギングの本でもありますが、Mayaそのものを知るための本です。DAGやDGといったMayaの基本設計から本質を探る内容になっています。ジョイントやスキニングの説明もあるのでリギング(Maya)を勉強したい人は手元においておきたい本です。ただ、内容はMayaの本質に迫る高度なものなので初心者にはおすすめしません。逆に言えばこの本の凄さがわかれば、あなたもなかなかのものだと言えます(笑)。
『MAYAキャラクタークリエーション プロが教えるフォトリアル人体制作術』
モデリングの本だと思われがちですが、リギングやアニメーション、ライティング、レンダリングまで網羅されている本です。解剖学的説明やリギングの部分だけのためにも買う価値はあります。実際にこのモデルをダウンロードすることも出来ます。
バインド(スキニング)するジョイントとコントローラーをつけるジョイントを分ける
2018年2月24日に「Rigging help me!『リガー、集まれ~!』」というセミナーに参加しました。そこで説明されていたことでもあります。
利点
分業するため
バインド(スキニング)用とコントローラー作成用とでわけることにより二人で同時進行で作業を行える利点があります。
管理しやすい
ゲームエンジン等に出力する場合にバインド用ジョイントだけをベイクして、他のコントローラー関係のものはすべて消してしまうことが出来ます。
欠点
ジョイントの数が2倍になるのでデータが(少し)大きくなります。なので(少し)重くなるかもしれません。しかし、あとで修正がやりやすいなどのメリットのほうが多いと考えます。
手順
コントローラーをつけるジョイント(コントロールジョイント)からバインド(スキニング)するジョイント(バインドジョイント)へアトリビュートを接続します。
Connection EditorかNode Editorで「translate, rotate, scale, shear」の各アトリビュートを対応するジョイントにそれぞれ接続します。
動かされる側のチャンネルボックスのアトリビュートが黄色になっていれば成功です。
手作業は大変
ただこれを手作業ですべて行うとなると大変です。
ジョイントの数が多くなればそれだけ作業量も増えますし、接続するアトリビュートの数も比例して増大します。数が多くなるとそれだけミスを犯す確率も上がります。
そこでアトリビュートを接続するためのスクリプト(pymel使用)を作成しました。
これを使えば一度にすべてのジョイントとアトリビュートを接続することが出来ます。
このスクリプトと使い方は次回の記事で紹介します。
こちらがジョイントとあとリビューをを接続することができるスクリプトの記事です。
Mayaでリギングをするには「joint orient(ジョイント・オリエント)」というものを考慮しなければいけまません。この記事の次の段階では以下の記事をおすすめします。
また、アニメーションとリギングにおいては避けることのできないジンバルロック(Gimbal Lock)とRotate Order(ローテートオーダー)については以下の記事をご覧ください。
今回の記事が気に入っていただけた場合、ぜひとも他の記事もチェックしてみてください。Mayaのリギングに関する記事をまとめたページです。
コメント