[blender]アーマチュアとウェイトペイントの方法

blender2.82使用
アーマチュアとオブジェクトの関連付けの方法とウェイトペイントの方法です。






結構勘違いしている方が多いのが
  • アーマチュアの関連付けはアーマチュアにペアレント(CTRL+P)しないと出来ない
  • ウェイトペイントじゃないとウェイトの設定は出来ない
の2つです。
両方とも間違いです。
そこらへんも含めて紹介しましょう。
この記事に限らず、当ブログは表面的な操作だけでなく仕組みも知って欲しいという思いで書いています。






アーマチュアの編集
まずはアーマチュアからいきましょう。
冒頭の様な簡単なボーン構造ならともかく、人型などの複雑で左右対称のボーンを作る場合はどうするのでしょう?
今回はシンプルな下半身のボーン作りを説明します。

まずは正面ビューにしてオブジェクトモードでアーマチュアオブジェクトを追加します。
そうするとボーンが一本できます。





編集モードに入ってボーンを選択し腰の高さまで真っ直ぐ上に移動します。


次に脚のボーンを作成するのですが、左右対称のボーンを作る方法はいくつかあります。

  • 一つは半分だけ作って対称化(または反転コピー)する。
  • もう一つはX軸ミラーをオンにしてShift+Eで分岐押し出しをする。その後、左右対称に動くので押し出しでボーンを伸ばしていく。
X軸ミラーをオンにして分岐押し出しをする方法。左右のボーンに名前をつけるので手間かも。

どちらでも良いのですが、ボーンの名前をつける手間を考えると、名前をつけてから対称化の方が楽かなと思います。
ただし対称化するにはボーンの名前に決まりがあります。
詳しくはマニュアルを読んでいただきたいのですが、◯◯_Lか◯◯.Lが一般的かなと思います。

まずはEの押し出しをして脚のボーンを作っていきます。

各ボーンの名前は次の様にしました。もちろんこれは私がつけたもので必ずこの名前にする必要はありません。
しかし末尾の_Lは決まり事の一つです。
waist
upper_leg_L
lower_leg_L
foot_L

_Lのついたボーンを選択してアーマチュア→対称化を実行します。
対象化を実行すると反対側のボーンの名前の末尾が_Rになっている
これで簡単ではありますが下半身のボーンができました。
ボーンを対称に動かしたい場合は先ほどのX軸ミラーをオンにするか片方を削除し、もう片方を編集し再度対称化をしてください。

オブジェクトとアーマチュアの関連付け
アーマチュアができたのでオブジェクトと関連付けしましょう。
まずアーマチュアオブジェクトを選択して最前面にチェックをしましょう。
これでオブジェクトの内側にあるボーンが見える様になります。




オブジェクト→アーマチュアの順にShiftを押しながら選択しCTRL+Pでアーマチュアの子供にしてください。(過去記事の[初心者向け]一歩先を行くペアレントとアクティブオブジェクトも参考にしてください)その際に出てくるメニューで「自動のウェイトで」を選択するとウェイトが設定されアーマチュアのポーズモードで動かせるようになります。



ここで誤解しがちな事を一つ。
オブジェクトとアーマチュアの関連付けですが必ずしもCTRL+Pで行う必要はありません。
オブジェクトに手動でアーマチュアモディファイアを追加してアーマチュアを指定する事もできます。つまり親子関係にしなくても良いという事です。

それともう一つ。今回のような簡単なオブジェクトでは自動ウェイトで良いのですが、ちゃんとウェイト設定をしたい場合、「空のグループで」を選び一からウェイト設定した方がかえって楽な場合があります。自動ウェイトは必要以上にボーンのウェイトを設定する事があり修正が大変なのです。また後から個別のボーンで自動ウェイトを行えるので、最初から全てのボーンを自動ウェイトで設定する必要はありませんし、既に設定したウェイトも上書きされてしまいます。

ちなみに私はエンベローブを使った事がありません。ノウハウもありませんのでこの記事では割愛します。









ウェイトペイントの方法
アーマチュアの関連付けができたらウェイトペイントをしましょう。
オブジェクトモードで、アーマチュア→オブジェクトの順にShiftを押しながら選択してウェイトペイントモードにしてください。
そして、ウェイトを設定したいボーンをCTRLを押しながら選択する事ができます。
それでウェイトペイントを行ってください。
当然ウェイトペイントは頂点にしか塗れませんので、細かく塗るにはメッシュを細かくする必要があります。

ウェイトを塗る前にオプションのXミラーをオンにしておくと良いでしょう。
片方を塗ればもう片方も同じように塗られます。


選択中のボーンは回転させたりできます。
その状態でウェイトを塗るとウェイトの効果が反映されるので分かりやすくてお勧めです。

ウェイトの正体はボーンと同じ名前の頂点グループ
2020/02/29:画像を2枚追加しました
ウェイトペイントじゃないとウェイトの設定ができないと思う人も多いですが、ウェイトはボーンと同じ名前の頂点グループです。つまり編集モードで頂点グループにウェイトを設定する事もできるのです。ロボットのようなパーツが変形しないキャラクターの場合は編集モードでウェイトを設定した方がやりやすいでしょう。

編集モードでボーンの頂点グループにウェイト設定できる

ウェイトが頂点グループという事は削除する事も作り直す事もできるという事です。ボーンと同じ名前にすればちゃんと機能します。また既存のボーンウェイト頂点グループはボーンの名前を変更するとちゃんと頂点グループの名前も変わりますし、頂点グループがない状態でウェイトペイントをすれば自動的に頂点グループが作られます。
自動で作られるボーンの頂点グループと自動的にボーンと同じ名前になる頂点グループ


またXミラーの効果は頂点グループの名前にも関係していますので、上で書いたように「空のグループで」で頂点グループを作っておく事が重要なのです。ボーンを消しても頂点グループは残っているのでボーンを再度配置すればまた動かす事もできます。しかし、そこで自動ウェイトを使ってしまうとせっかく設定したウェイトが上書きされてしまうのです。







通常、関節部に必要なウェイトは2〜3種類だけ
これは個人差というかケースバイケースと言ってしまえばそれまでなのですが、余程補助ボーンなどを配置しない限りほとんどの関節のウェイトは2~3種類のウェイトがあれば充分なのです。自動ウェイトを使うと場合によっては5種類近くのウェイトを拾ってきてしまい修正が困難になります。なので最初から自動ウェイトを使うのは避けた方が良いのです。
ちなみにウェイトペイントモードでは個別のボーンを選択して自動ウェイトを行えます。
必要なところだけ上手く使うのが良いでしょう。