ひぃの雑多書き

日記からお役立ち情報まで色んなことを書きます。

【Blender 3.2.0】Blenderを使って非専用衣装を着せる 第4回「ボーン・メッシュの移植とウェイトペイント(後編)」

前回に続き、Blenderを使って非専用衣装を対応させていこうと思います。
大分更新の間が空いてしまったので、変なこと言ってたらコメントください!

4.ボーン・メッシュの移植とウェイトペイント(後編)

メッシュを移動する

まずはメッシュを移動しましょう。メッシュの移動は簡単で、オブジェクトモードで異動したいメッシュを選択してからShiftを押しながら移動先のアーマチュアドラッグ&ドロップです。

▲こんな感じで移動していきましょう。

▲全て移動し終わりました。

ボーンを移動する

続いて、ボーンの移動です。 ボーンの移動はちょっと面倒臭いです。

まず、移動したいボーンを選択してからビューにマウスを持っていき、右クリックします。 そして、「ボーンを別アーマチュアに分離」を選択します。
また、分離前にどのボーンが親となっていたか覚えておきましょう。

▲ボタンを押すとこんな感じで新しくアーマチュアができます。

アーマチュアの分離ができたら、今度はアバターのアーマチュアに結合します。
オブジェクトモードに切り替えてから、分離した衣装の橙色の人型マークのArmatureを選択し、アバターの橙色の人型マークのArmatureをCtrl+クリックで選択します。

▲緑色の方ではなく、橙色の方を選択します。

選択できたら、マウスをビューの上に持っていって、Ctrl+Jで結合しましょう。この操作は特に確認もなく実行されます。Ctrl+Jを押した後、アバターのアーマチュアを開いて結合できたら確認してみましょう。

▲今回はLeft_String_1とRight_String_1を移動しました。

最後です。現時点ではボーンを結合しただけで階層が正しくありません。衣装で親ボーンとなっていた物と同一のボーンの子に設定してあげる必要があります。
編集モードで移植したボーンを選択した後、親となるボーンをCtrl+クリックで選択します。Ctrl+Pを押した後、「オフセットを維持」を選択するとそのボーンの下に移動するはずです。

▲Left_String_1はChestの子ボーンだったので、Chestを選択しました。

この時、ボーンの向きや大きさがおかしなことになっている場合、修正しましょう。Unityで着せ替える時のように、編集モードでボーンを移動・方向転換してOKです。
この現象は恐らくBlender以外のソフトで書き出されたfbxファイルだった場合に発生します。ちゃんと内部構造が決まってないfbxくんが悪いです。諦めましょう。

▲ボンボンの紐のボーンが宙に浮いてしまっています。

▲メッシュの位置に揃えてあげました。

メッシュとボーンを紐づける

移植したメッシュをアバターのボーンに紐づけます。

オブジェクトモードで移植したメッシュを選択し、アバターのボーンをCtrl+クリックで選択します。その後、マウスをビューに持っていきCtrl+Pを押します。出てきたウィンドウで「空のグループで」を選択しましょう。

ウェイトを転送する

さて、やってきました。問題の地点です。ここまでこれた人であれば、ウェイトペイントを乗り越えればもう衣装の着せ替えは終わったも同然ですので、頑張りましょう。

オブジェクトモードで移植元のウェイトが設定されているメッシュを選択します。その後、移植先のメッシュをCtrl+クリックで選択します。そして、モードを「ウェイトペイント」に切り替えましょう。
「移植元のウェイトが設定されているメッシュ」というのは大抵の場合、「アバターの身体のメッシュ」になると思います。

続いて、モード切り替えプルダウンの少し右にある「ウェイト」タブを選択。出てくるプルダウンの中から「ウェイトを転送」を選択します。

そして、新しく出てきたウィンドウの「転送元レイヤーの……」という部分の「アクティブレイヤー」を「名前」に変更しましょう!

▲「ウェイトを転送」を押した後はこの状態

▲「名前」に変更しました!

さて、どうでしょうか。今まで青色だった所がカラフルになってたりしませんか?もっと言うと、右下の「頂点グループ」のリストの中に、先程まで無かったアバターのボーンの名前が追加されていれば成功です。

ただし、現時点ではウェイトを塗らなくても良い部分も頂点グループに追加されてしまっています。例えば、パジャマの上着のメッシュは足ボーンの影響は絶対受けませんよね?
関係ない頂点グループが設定されていると思わぬ事故に繋がりますので、削除しておきましょう。

要らない頂点グループを選択してマイナスボタンで削除できます。

あとは、同じ要領で移植したメッシュ全てにウェイトを転送してあげましょう!

ウェイトを手動で塗る

ウェイトの転送はできましたか?できた人は、頂点グループを一つ一つ選択して、意図したウェイトが塗られているか確認してみましょう。

もし、この時点で問題なさそうであればウェイトを手動で塗る必要はありません。おめでとうございます!
しかし、こんな感じでウェイトの塗られ方が中途半端だったり、明らかに関係ない部分にウェイトが塗られてたりする場合は手動で調整が必要です。もうちょっとだけ頑張りましょう!

▲右手が中途半端になっています。

ウェイトペイントモードに切り替えた後、右下でウェイトを調整したい頂点グループを選択します。その後、「強さ」やブラシの「加算」「減算」や「グラデーション」機能を駆使してウェイトを塗っていきます。

個人的には、グラデーションで解決できそうかを試してみて、それでは上手く行かない場合や一部分だけウェイトを調整したい時にブラシを使うのがオススメです。

また、ウェイトを塗る際はShift+ZでUVを表示したり、Alt+Zでメッシュを透過表示するのがオススメです! ウェイトは「頂点」に対して設定されるので、ブラシで塗る場合は線と線が重なる部分をクリックして調整していきましょう。

▲ウェイトの加算・減算はここにあります。

▲最終的にこんな感じになればOK!場合によっては一度「減算 1.0」を使って全て青くしてから、強度を0.2等に弱めて加算した方が良いかもしれません。

全ての頂点グループを確認して、ウェイトが綺麗に設定されていればBlenderでの作業は終わりです!お疲れ様でした!

▲右腕も中途半端なウェイトが設定されていたので、綺麗に塗ってあげました。

今回の記事で使用しているアバター

booth.pm

booth.pm