これは古い記事です。以下に新しく、もうちょっとわかりやすい記事を書きましたのでこちらから見ることをオススメします!
アーマチュアとか、リギングとかいろいろやってるけど原理原則をちゃんと理解してないので、よくいろいろなハプニングがおきます。今回はなぜか歯が置き去りになってしまうトラブルが起きました。せっかくなのでちょっと整理しとこうと思います。
結論から言うと今回のパーツ置き去りはパーツとアーマチュアを関連付けしてなかったからでした。
そもそもアーマチュアとは何か
※↑参考ページです。
そもそもモデルに対してボーンを組んで動かすとはどういうことなのか。どういう仕組みで動いているのか、その概要をつかんでおこうと思います。
上のページでもあるように、Blenderは3DCGソフトとして独自の名前や仕組みがあり、例えばボーンを組んだ後に「自動ウェイトを付けてペアレント」してしまうと、もういきなりモデルが動いてしまいます。これが、便利なんだけど、仕組みとしてどうなってるのか曖昧なまま作業が進んでしまう一因となっている気がします。(便利なので最高なんですが)
いきなりアーマチュア出して、組んで、関連付けたらもう動いてしまうので、その間に本当は微調整できることや設定できることが置き去りになってしまう。
そもそもメニューにはアーマチュアと書いてありますが、正式には人型アーマチュアのようにもう組んであるもののことをいい、単一ボーンのように個別のものはボーンです。組んで構造体になったときにアーマチュアと言うらしい。しかもアーマチュアという言葉そのものがBlender専門用語みたいなもので、3DCGの世界ではスケルトンという名前だと参考記事にあります。
このボーンを次々に出していくと、生物の骨のように、つながって、ボーン同士をペアレントすると、その繋がりの連結点を起点としたような回転ができるようになって、それをモデルに入れて関連付けしてあげることによって動くというわけです。(連結せずにボーン同士が関連付けられている場合もある)
この、ボーンを次々に出していくだけの作業でも、実際は自動でペアレントされた状態でボーンが出ています。このように、ソフト側で勝手にペアレント付けされているような機能が多いため、ペアレント(関連付け)がものすごく重要な作業なのに意識しづらい。結論から言うとペアレント(関連付け)のことを理解していないまま作業が進んでいるということだと思います。
よく考えたら、アーマチュアとは、ペアレントされたボーンの集合体ですよね。ペアレントのことがわかってないならアーマチュアがよくわからないとなって当たり前なんだと思えてきました。
(リグとは、アーマチュアを組み立てていく作業のこと、とネットでは書かれています。自分はもうちょっと制御用ボーンなどで仕組みをつくることだと思ってました。アーマチュアは構造体自体のこと、リグは構造を組むこと、仕組みなどのことという理解でいいのだろうか。)
モデルが動くまでの流れ
ペアレントが大事だということはわかるのですが、今回説明したいのは何をペアレントしなければならないかであって、ペアレントの仕組みではないのでそういう記事はまた別の機会に書いてみたいと思います。
今自分が思う、モデルにアニメーションをつける流れを簡潔に書いてみます。
- モデルを作る
- ボーンでアーマチュアを組む
- リギング
- モデルとリグ(アーマチュア)の関連付け
- スキニング(ウェイト割り当て)
2と3が、リグという行為でかぶってると思うんですが、自分の中ではアーマチュアを組むことと、制御機構を仕込むことってちょっと別だと思ってしまっているんですよね…。本当は2も3もリギングなのかもしれないけど、個人的にここは分けたい作業です。
この流れの中で、2、3はボーン同士がペアレントされており、4でアーマチュアとモデルが関連付けされているわけですが、今回やったミスは、5のスキニングを先にやっちゃって、4を忘れてたということです。
いつもは自動ウェイトで関連付けをすることによって
- モデルとアーマチュアの関連付け
- アーマチュアモディファイアで動かす頂点との結び付け
この二つの紐づけが勝手になされていたわけです。4と5のフローを自動でやってもらっちゃってた状態。
アーマチュアモディファイアのやってること
そもそも自分が誤解していたことは、アーマチュアモディファイアをつけて頂点グループとバインドすれば関連付けされたことになると思ってたことです。結果、そうではなくて、アーマチュアモディファイアがやってることは、頂点グループと結び付けているだけであって、ペアレントはしてないということ。
ボーンが動かす頂点グループと結び付けているので、ボーンを動かすとメッシュは動く
だけど、
ペアレントしてないのでメッシュは置き去りになる
ということです。
多分、ボーンとバインドした頂点グループはポーズモードでは動くんですが、オブジェクトモードなどで移動させると、ペアレントしてないから動かない、ってことなんだと思います。でも理解するのに時間がかかりました。
ペアレントするとオブジェクトは一緒になって動いたりしますが、アーマチュアモディファイアは動く範囲、部位、影響の度合いなどを微調整しているだけというか、ポーズモードでのみ動くとかそういう効果しかない感じだと思います。
結局ペアレントが大事
というわけで、とにかくペアレントしてないと、一緒の構造体にならない、移動したときについてきてくれないということなんだと思います。

Armature Deform、いろいろ種類はありますが、とにかくアーマチュアと関連付けしなければいけないです。空の無駄な頂点グループも作りたくないし、自動ウェイトもいらないってときはシンプルにアーマチュア変形を選択すれば関連付けができ、メッシュの親にアーマチュアが設定されます。
いまさらと思われるかもしれませんが、こういう原理原則みたいなものが初学者にはとても難しい。またペアレント自体についてもいろいろ理解してないところがあるので勉強していきたいなと思っています。
コメント