Blenderでボーンを指定してウェイトの自動割り当てができるボーンから自動割り当て(Assign Automatic from Bones)という機能を紹介します。
ボーンを指定しないアーマチュア変形(Armature Deform)の自動のウェイトで(With Automatic Weights)との違いが分かるように両者を比較しながら紹介をしていきます。
1 自動のウェイトで(With Automatic Weights)の使用方法
まずはアーマチュア変形(Armature Deform)の自動のウェイトで(With Automatic Weights)を使用した場合です。
1.1 説明用のメッシュとアーマチュア
説明用に画像1のようなモンキー(Monkey)のメッシュと「head」・「ear.L」・「ear.R」という名前のボーンがある「モンキーアーマチュア(Monkey Armature)」という名前のアーマチュアを使用します。

1.2 自動のウェイトで(With Automatic Weights)で関連付け
オブジェクトモード(Object Mode)でShiftキーを押しながらモンキー⇒アーマチュアの順番で選択したら(画像2参照)、

Ctrlキー+Pキーを押してペアレント対象(Set Parent To)のメニューを呼び出して、アーマチュア変形(Armature Deform)の自動のウェイトで(With Automatic Weights)を選択します(画像3参照)。

これでモンキーとアーマチュアの関連付けができました。
1.3 関連付けの結果の確認
モンキーを選択してプロパティ(Properties)のモディファイアープロパティ(Modifier Properties)を確認すると、アーマチュア(Armature)が追加され、オブジェクト(Object)に「モンキーアーマチュア(Monkey Armature)」が指定されています(画像4参照)。

また、モンキーを選択してプロパティ(Properties)>オブジェクトデータプロパティ(Object Data Properties)>頂点グループ(Vertex Group)を確認すると、「head」・「ear.L」・「ear.R」の3つすべての頂点グループが作成されています(画像5参照)。

さらに、モンキーを選択したままウェイトペイント(Weight Paint)モードに切り替えて、3つの頂点グループ(Vertex Group)を選択すると以下の3つの画像のようにウェイトが割り当てられていることが確認できます。
画像6は頂点グループ(Vertex Group)の「head」を選択したもので、

画像7は頂点グループ(Vertex Group)の「ear.L」を選択したもので、

画像8は頂点グループ(Vertex Group)の「ear.R」を選択したものです。

以上のように自動のウェイトで(With Automatic Weights)を使用した場合、基本的にはアーマチュアのすべてのボーンをメッシュと関連付けします。
1.4 変形(Deform)
自動のウェイトで(With Automatic Weights)を使用した場合でも、ボーンの変形(Deform)のチェックを外すことで関連付けをしないようにすることも可能ですが、この機能はIKなどのコンストレイント(Constraint)を追加した操作用のボーンに対して使用します。

2 ボーンから自動割り当て(Assign Automatic from Bones)の使用方法
次にボーンから自動割り当て(Assign Automatic from Bones)を使用して関連付けをするボーンを指定します。
2.1 説明用のメッシュとアーマチュア
先程使用したモンキー(Monkey)のメッシュと「head」・「ear.L」・「ear.R」という名前のボーンがある「モンキーアーマチュア(Monkey Armature)」という名前のアーマチュアを使用しますが(画像9参照)、自動のウェイトで(With Automatic Weights)で行った関連付けはすべて解除した状態から始めます。

頂点グループ(Vertex Group)を残したままだと違った結果になる場合もあるので注意してください。
2.2 ボーンから自動割り当て(Assign Automatic from Bones)で関連付け
モンキーを選択したら、プロパティ(Properties)>モディファイアープロパティ(Modifier Properties)>モディファイア―を追加(Add Modifier)からアーマチュア(Armature)を追加して、オブジェクト(Object)に「モンキーアーマチュア(Monkey Armature)」を指定します(画像10参照)。


Shiftキーを押しながらアーマチュア⇒モンキーの順番で選択してウェイトペイント(Weight Paint)モードに切り替えたら、Ctrlキーを押しながら「head」を選択します(画像11参照)。

3Dビューポート(3D Viewport)のヘッダー(Header)のウェイト(Weights)内にあるボーンから自動割り当て(Assign Automatic from Bones)を選択します(画像12参照)。

これでモンキーとアーマチュアの「head」だけを関連付けることができました。
2.3 関連付けの結果の確認
アーマチュアについては画像10で確認済みなので省略します。
オブジェクトデータプロパティ(Object Data Properties)の頂点グループ(Vertex Group)を確認すると、「head」だけ頂点グループが作成されています(画像13参照)。

Ctrlキーを押しながら「head」を選択してみると、画像14のようなウェイトが割り当てられていることが確認できます。

ボーンから自動割り当て(Assign Automatic from Bones)を使用した場合、画像13で確認できるように「ear.L」と「ear.R」の存在を無視したようなウェイトの割り当てになるわけではなく、自動のウェイトで(With Automatic Weights)を使用した後に頂点グループの「ear.L」と「ear.R」を削除した場合と同じ割り当てになるのがポイントです。
Ctrlキーを押しながら「ear.L」を選択してみると、画像14のようにメッシュ全体が紫色になり頂点グループが作成されていないことが確認できます(「ear.R」でも同様です)。

以上のようにボーンから自動割り当て(Assign Automatic from Bones)を使用した場合、ボーンを指定してウェイトの自動割り当てができます。
上の例ではボーンをひとつだけ選択しましたが、ボーンを複数選択した状態でボーンから自動割り当て(Assign Automatic from Bones)を使用すると、選択中のすべてのボーンとメッシュを関連付けします。
3 ボーンから自動割り当て(Assign Automatic from Bones)の補足
3.1 すでに別のウェイトが割り当てられていた場合
すでにメッシュとアーマチュアの関連付けがされている状態で、後からボーンを追加してボーンから自動割り当て(Assign Automatic from Bones)を使用した場合は、すでにあるウェイトの割り当てはそのまま残して、追加したボーンだけでウェイトの割り当てをするようなかたちになります。
例えば、「head」というボーンだけがあるアーマチュアとメッシュをすでに自動のウェイトで(With Automatic Weights)で関連付けしていたとします。
この場合頂点グループは「head」だけで、ウェイトを確認するとメッシュのすべてが1の値が割り当てられます。
このアーマチュアに「ear.L」と「ear.R」を追加して、「ear.L」と「ear.R」を選択してボーンから自動割り当て(Assign Automatic from Bones)を使用した場合、「head」に行っているウェイトの割り当てはそのまま残して、さらに「ear.L」と「ear.R」のウェイトを割り当てます。
耳の部分はウェイトの合計が1以上になっている部分があるのでこれを修正したい場合が多いと思いますが、この修正は手動でする必要があります。
上記の例はボーンの数が少ないので手動で修正するより再度自動のウェイトで(With Automatic Weights)を使用したほうが早いですが、すでに修正した多くのボーンがある状態で自動のウェイトで(With Automatic Weights)を使用してしまうと、修正をやり直す必要があるので、このような場合にボーンから自動割り当て(Assign Automatic from Bones)を使用すれば、追加したボーンの部分だけの修正で済みます。
以上、Blenderの「ボーンを指定してウェイトの自動割り当てをする方法」でした。
コメント