(約 2,500文字の記事です。)
Mayaのリグの基礎を学習中。その過程でBlenderのボーンとMayaのボーンの、基本的な考えの違い、実装の違いが明らかになった。Blenderのボーン表現のほうが癖が強い。対してMayaの扱いのほうが理解しやすいし、本質的だと思った。
対象読者はMaya初心者。Blender学習者にとっても勉強になるかも。
今回はここからスタート。
Start@Maya〜Maya で 3DCG をはじめよう〜 16. リギング スケルトン作成
HumanIKでは「骨盤」ではなくて「ヒップ」
MayaのHumanIKでは、骨盤相当の場所のボーン名をヒップとしている。ちなみに骨盤の英語名はpelvis(ペルビス)だ。spine(スパイン)は脊椎(せきつい)だ。
医者か3DCG関係者か美術関係者以外、まずお目にかからない専門用語。
またlegとfootが別れている点も英単語の持つ意味を良く表している。日本語では大腿部もすねも足首も「足」だが、英単語では指し示す部位がハッキリ分かれている。
やっぱり3DCGでは英語(英単語)はとても大事ね。
また上の図でボーン名が「ヘッドジョイント」を指し示すように図示されている点も興味深い。ボーンではヘッドジョイントに意味がある。またボーン同士に親子関係がある場合のみ、テールジョイント=子のヘッドジョイントなので意味がある。もし1本の単体ボーンの場合、テールジョイントには本質的には意味がない。(せいぜいヘッドジョイントのデフォルトの回転状態が目で見て分かる程度)
MayaとBlenderのボーンの実装の違い
Mayaを学んでようやくBlenderとMayaとの違いがハッキリと分かった。両者ともボーンの概念は同じだが、どこに注目しているかということの違い、それが名称にハッキリと現れている。
Mayaはジョイント(Blenderで言うヘッドジョイント)に注目している。なのでボーンという概念ではなくてあくまでも「ヘッドジョイント」に注目している点が重要。これはボーンの挙動に対する本質的な扱いになっていて凄く理解しやすい。
ジョイントが3つある。そしてボーンが2つという表示はない。また三角錐をクリックすると常に「ヘッドジョイント」が選択される。
そう、三角錐はヘッドジョイントを選択しやすくしたり、ヘッドジョイントの向きを可視化したり、(Mayaでは)親子関係を示しているサポートオブジェクトなのだ。
そしてこのMayaの実装で行くと、ヘッドジョイント、テールジョイントという「ヘッド、テール」の概念は不要になる。親子関係がない場合、単体のジョイント(※)1つで存在できる。その単体ジョイントに親子関係をセットしたり、複数ジョイントに親子関係がある場合、テールジョイントよりもむしろ次のボーンのヘッドジョイント(※)の存在に意味がある。
どうやらMayaの場合は「全てがヘッドジョイント」という考え方で理解できそうだ。テールジョイントが存在せず、また、作業の過程で単体ジョイントも作成できる(たいていの場合は次の工程で親子関係をセットするのでボーンっぽい見た目になるが、それでも末尾のジョイントはテールジョイントではなくて単体で作成したヘッドジョイントなわけです。)だからもはやテールもヘッドも関係ないから、名称が「ジョイント」なんだな。
実際、Mayaでボーン(ジョイント)に親子関係をセットすると、Blenderでは黒い点線で表示される親子関係が、Mayaでは他のボーンと全く同じ三角錐で表現される。
Blenderの場合は親子関係がありながらもヘッドとテールのジョイントが離れている場合、黒い点線で表示される。
ただしBlenderの場合の黒い点線は「かつて親子関係設定時にヘッドとテールが結合されていた時の接続先」を示しているので分かりにくいのだ。
上の図の腰周りの場合、ボーンの親子関係は股間の最下部のヘッドジョイントと、左右の大腿骨の付け根のヘッドジョイントが親子付けされているのだが、黒い点線を辿ると(股間から上向きに伸びる)テールジョイント(※)につながっている。
接続先は見た目だけで言えば最初の脊椎のヘッドジョイント(※)につながっているようにも見えてしまうわけだ。
だから混乱する。
(見方を変えれば、そりゃテールジョイントはヘッドジョイントに100%追従するから、つまりはヘッドジョイントの変形がテールジョイントに100%反映されるので、結果、黒い点線の接続先の動きに追従する、というのは理解できる。でも根本原理としてはヘッドジョイントが全ての起点なのだ。その理解にわざわざテールジョイントの概念を導入する必要がない。)
(ただしもし黒い点線で親と子のヘッドジョイントをつないで表現すると、どっちが親でどっちが子?という問題が発生する。そうなると依存関係を示せない黒い点線が大問題なのだ。黒い点線+矢印ならば問題ない。あれ?それってMayaの実装じゃん?)
Blender使いの視点で書いた記事はこちら。
https://www.yamato-tsukasa.com/b3d-armature-bone-rig-diff/
Mayaを学びながらも、なぜ私はBlenderの解説をしているのか(笑)
なおこちらでさらに詳細に比較検討されていらっしゃるので参考までに。
ボーンの表現の正確さや分かりやすさはMayaのほうが上だ。ボーンの理解の基本は「子は親のヘッドジョイントに追従する」ことなのだ。この理解はBlenderで気付いたことと何も間違っちゃいない。だがMayaでは最初からそう教えていたのだ。うん、やはりデファクトスタンダードを学ぶ価値はある。
ちょっと長くなってしまったので記事を区切ります。
次回はここから。
Start@Maya〜Maya で 3DCG をはじめよう〜 16. リギング スケルトン作成
今回の創作活動は約4時間30分(累積 約2,985時間)
(856回目のブログ更新)
筆者はAmazonアソシエイト・プログラムに参加しています。(Amazon様の商品を宣伝することで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下の商品名や画像アイコンをクリックしてからAmazon様で何かお買物をして頂ければそのご購入総額の1~2%が私に寄付されます。クリック後に別の商品のご購入でもOKです!誰が何を買ったかは私に通知されませんのでご安心下さい😊
また当サイトは楽天アフィリエイト、バリューコマース Yahoo!ショッピング アフィリエイト、および第三者配信の広告サービス(Googleアドセンス)を利用しています。