「MayaでRigging」このシリーズではMayaでのリギングについて書きます。リギングといっても様々なレベルがあり、人によって認識がバラバラです。「リグなんてものは簡単だ」という人もいれば、「リグはとても難しい」という人もいます。これはどちらかが間違っているというわけではなく、リグというものに対する認識が違うためだと思われます。簡単だという人はおそらくモバイル(に限りませんが)ゲームなどを制作するうえでキャラクターがジョイントにバインドされた状態のものを受け取ってそれの腕と足にIKを設定して、胴体や頭はFKとしてそれらにコントローラーをつけてアニメーションを付けられるようにすることを指している場合が多いでしょう。いっぽう難しいという人は様々なギミック(スケール対応、ストレッチ(伸びる)機能、スペース切り替え等)をリグに組み込むことを前提としている場合が多いでしょう。
日本語でリグについて学べるサイトというものは私が知る限りほとんどありません(BACKBONEさんのリグブログはとても高度な内容なので初心者には難しすぎると思います)。私はリグは専門ではないので学びながら記事を書くことによって理解を深めることが一番の狙いです。ですので間違っていたり、いい加減な部分があれば指摘していただけると大変助かります。
また、同じような理由で「Davinci Resolve Fusion でコンポジット」というシリーズの記事を書きました。こちらはMayaのリギング以上に日本語の情報がない状態でした。ノードベースでのコンポジットなどというものに対しては全くの門外漢です。ですのでこんな記事よりももっと良いものを書いてくれるであろう勇者の登場を待っています。そうなれば私も大いに報われます。よろしくお願いいたします。

参考書籍
上でも述べたように日本語でMayaのリギングを学ぼうとしても情報は非常に少ないです。しかし、ボーンデジタルさんより良書がいくつも出版されています。
『Mayaリギング 正しいキャラクターリグの作り方』
Mayaでのリギングを専門で扱ったものといえばこれです。私が持っているのは2013年9月25日の初版のものです。どの部分が改定されているかはわかりませんが、今から読む人は改訂版ということで羨ましくもあります(アニメーターズ・サバイバルキットの記事でも同じことを書きました(笑))。スケールやリバースフット、そしてストレッチするリグも解説されています。リグについて学ぶならまずはこれがマストバイです。
『マヤ道!!: 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(ローテートオーダー)については以下の記事をご覧ください。

コメント