Blenderで一度つけたウエイトを反転させる方法について説明しています。左右対称のオブジェクトおよびボーン(アーマチュア)がある前提です。
Blender2.91以降に対応。
ウエイトを反転させたい
Blenderでモデリングをしているときによく使うのがミラーリング。ウエイトをすでに塗っている場合はオブジェクトをミラーリングすれば自動でコピー+反転される…のだがウエイトに対応しているボーンまでは反映されないため、人型のモデルなどの場合は上手く行かないことがある。
下の画像の例だと左腕にあるウエイトは右腕に移動したけど対応しているボーンは左腕のまま。
本当はこうあってほしい。
この場合はボーンを指定して一からウエイトを塗り直す必要があるのかというとNoでちゃんと方法があるので以下で説明。
ウエイトを反転させる方法
まず左右対称のオブジェクトおよびボーン(アーマチュア)を設定してペアリングする。ボーンはわかりやすいようにそれぞれL/Rの名前(例:Upper-Arm-L/Upper-Arm-R)表記にしておく。
ウエイトモードにして任意のボーンをCtrlを押しながら選ぶ。上の画像のようにすでに反転先にウエイトが塗られている場合は消しておく。
右のメニューにある頂点グループのプロパティを開く。
先ほど選択したボーンに対応する頂点グループが選択されているので「頂点グループをコピー」を選択する。
コピーした頂点グループを選択して「頂点グループをミラー反転」を選択する。上手く行かない場合は「トポロジーによるミラー反転」を選択する。
ただウエイトを反転させる場合はこれでOKだが記事冒頭に書いたように左腕/右腕とかの場合は対応するボーンまでは反転されないので以下の方法で設定する。
上で選択したボーンの反対側となるボーンを選択し、対応している頂点グループを削除する。
コピーした頂点グループの名前を先ほど削除した頂点グループの名前にリネームする。
これで反転したウエイトがあるべきボーンと連動するようになる。あとはポーズモードで動かして確認する。
コメント