
【Blender】ウェイトペイントでちょっと便利な機能の紹介
ウェイトペイント中、試行錯誤した内容をメモしておく。
しかしながら、UI/UXや操作性に一貫性がないのが気になる・・・。
あと、厳密にやろうとすると頂点に設定したウェイト値をリスト化して表示・個々の値を編集する機能が無いのは痛い。
<Blender2.83.4>
■おさらい:ウェイトペイントの導入説明
例題として下図のような立方体とボーン(アーマチュア)を用意する。
※ボーンと表現しているがオブジェクト追加時はアーマチュアを選択。
※ボーンを増やすには、編集モードで押し出し(E)を使用する。

立方体のメッシュとボーンをバインドする。(Blenderではペアレント)
「メッシュ → ボーン」の順番で複数選択した後、マウス右クリックメニューで、ペアレント>アーマチュア変形>自動のウェイトで を選択実行。

一旦選択解除。
今度は、ボーン → メッシュと先ほどとは逆の順番で複数選択した後、ウェイトペイントモードに変更する。

すると下図のように青色~赤色のスペクトラムで表現される。

※ウェイト0を目視で確認するには、ビューポートオーバーレイ>ウェイトペイント>ウェイト0>アクティブにした設定する。
するとウェイト0の部分が、黒く表示されて判別しやすくなる。

以上で、おさらい終了。
●●●
あとは、以下の便利なTipsを紹介。
■Tips: ボーンを動かしてウェイトの具合を確認
各ボーンに自動的に割り当てられたウェイトの具合を確認。
ボーンを動かして変形具合を確認することができる。
ブラシツールでボーンを直接選択する場合は、以下の操作方法で行う。
・SHIFT+クリックで、ボーン選択(複数選択可)
・Ctrl+クリックで、ボーン選択(個別選択可)
・全選択は、ボーンを一つ選択した後、Aを押す。
・全選択解除は、Alt+Aを押す。(または、SHIFTで再クリック)
キーマップで全選択/選択解除をトグル設定にしている場合は、Aを押す。
※プロパティウィンドウ>オブジェクトデータプロパティ>頂点グループ でボーン名の頂点グループを選択するとボーンを切り替えられる。

なお、ボーンを動かす操作はショートカットキーで行う。
移動:G、回転:R。(移動、回転どちらを使ってもボーンは回転する)
元の状態に戻す場合、Ctrl+Zを使用しても良いが、もっと簡単なショートカットを使う解決方法がある。
ボーンの状態を初期値に戻す時は、ショートカットキー:Alt+G(移動)、Alt+R(回転)、Alt+S(スケール)を利用する。
<トラブルシューティング>
ショートカットキーで、ボーン選択ができない場合は、うまくスキニングのペアレントができていない。ペアレントする時の選択する順番が間違っている。必ず、メッシュ→ボーンの順番で行う必要あり。
(※見分け方例:ウエイトペイントモードにした時、頂点グループにボーンの名前が表示される。Group~という名前だとスキニングができていない。

なお、再ペアレントの前にボーンまたは、メッシュを選択した後、ペアレント>親子関係をクリア を実行して元の状態にもどしておくことをお忘れなく。(親子関係の状態は、アウトライナーで確認できる)
■Tips: ウェイト値設定に便利なWeight Palette
大まかなウェイト値でざっくりペイントしたいと思うが、ブラシツールには、ウェイト値を入力するスライダーか数値入力ボックスしかない。
ここで、ボタンをクリックするだけで11個の大まかなウェイト値がペイントできる標準Add-onを紹介。プリファレンス>アドオン>の検索で、Paintと入力すると現れる「Paint Palettets」をインストールする。


注意)Blender 4.2LTSからエクステンションの仕組みが導入されたので従来方法ではインストールできない。なので、Paint Palettesは、下記リンク先からインストールするか、プリファレンス>エクステンション入手 からインストールすることになった。
■Tips: 切りの良いウェイト値を入力したい
右クリックメニューのスライダーを動かしながら、Ctrlキーを押すと0.1単位で調整できる。

■Tips: ブラシでウェイトをベタ塗りできない時の対処
ブラシの設定に問題あり。
ベタ塗りしたい場合は、下記の設定にしてからペイントする。
・強さ:1
・減衰>一定
・筆圧を無効(ウェイトの半径、強さスライダー右にあるアイコン)

■Tips: スポイトツールって正常動作しているか心配
スポイトツールで頂点をクリックしても何も反応がないし、数値がどこにも表示されないので心配になるが、問題なくウェイト値を吸い取っている。確認は、マウス右クリックで表示されるメニューで確認できる。

※v2.92からスポイトツール使用時、ウェイト値が表示されるよう変更。

■Tips: ブラシツール使用中に頂点のウェイト値を吸い取りたい(スポイトツールと同等)
ショートカットで可能。ブラシツール使用時、頂点をCtrl+マウス右クリックすると吸い取る。吸い取ったウエイト値は上部ツールオプションで確認。

※Blender 4.0以降は、ウエイト値のスポイトのショートカットキーが、Shift+Xに変更された。
■Tips:ウエイトペイント中、頂点グループを素早く切り替えたい
ブラシでペイント中、Shift+マウス右ボタンクリック すると選択メニューが表示される。このメニューで頂点グループを切り替えることができる。

■Tips: ボーンのウェイトを左右対称にペイントしたい
ボーンのウェイトに対して左右対称にペイントしたい場合は、プロパティ>Draw>対称>ミラーを無効にし、オプション>Xミラーを有効にした状態でペイントする。


※【注意】
「ミラー」と「Xミラー」は動作に違いがある。対称>ミラーを有効にした状態でペイントするとメッシュに対して左右対称にペイントしてしまう。
ピンとこないと思うので動画で説明。画面に向かって右側のボーンにペイントしたウェイトが、左側のボーンにウェイトがミラーリングされていない点に注目。


<UI変更について>
頂点グループのミラー反転機能は、2.91からバージョンアップの度に
UIが変更されて操作に迷う。
下記リンクにUI変更履歴を作成したので、必要なら参考にされたし。
■Tips: 頂点に直接ウェイト値を入力したい
任意に選択した頂点に直接ウェイト値を入力したい場合があると思うが、そのような場合は、頂点で選択(V)、選択ツールを合わせて使う。
上部にある頂点で選択ボタンをクリックすると選択ツールが現れるので、下図の状態にして次の操作へ進む。

<操作>
1.選択ツールで、任意の頂点を選択する(SHIFTキーで複数選択可)
2.ウェイト値を設定(マウス右クリックメニューの数値入力で)
3.ウェイト>ウェイトを設定 を実行(Shift+K)
※もし、うまくペイント出来ない場合は、ウェイトを設定コマンドを実行する前にカーソルをペイントしたい部分に充てておくとうまくペイントできる。
<別の方法>
ウエイトペイントモードでも、頂点で選択モードに切り替えてから、選択ツールで頂点を選択後、プロパティ>オブジェクトデータプロパティで、ウェイト値を設定して割り当てすると直接、ウエイト値を設定可能。

■Tips:任意の頂点ウェイトを別の頂点にコピペしたい
頂点ウェイトのコピペは、ウェイトペイントモードではできないので、編集モードに切り替えてで行う。
ただし、頂点に0~1のウェイトが入力されていることが前提。
やり方は、下記の通り。
頂点をマウス左ボタンクリックすると、頂点を選択すると頂点ウェイトパネルが開く(サイドバー>アイテム>頂点ウエイト)。
頂点を選択するときにコツがある。
1)まず、転送先の頂点を選択する(複数の頂点選択OK)。
2)次に転送元の頂点(1点)を選択する。
そして、Copyボタンをクリックするとウエイト値が転送(コピー)される。


※編集モードでウエイト表示がされていない場合は、ビューポートオーバーレイ>頂点グループウエイト を有効にしておく。

■Tips: 3Dビューポートでボーンを最前面に表示にして作業時の視認性向上
視認性向上のため、編集しやすい表示にして作業効率化を目指す。
<ボーンを手前に表示するやり方>
オブジェクトモードで、ボーンを選択してオブジェクトデータプロパティ>ビューポート表示>最前面 を有効にする。これだけでOK。
ウェイトペイントモードでも、この表示が保持される。


<視認性が向上する詳細なやり方>
・ソリッドモード
・3Dビューのシェーディング>透過 を無効。
・透過表示を切り替え を有効。
・ビューポートオーバーレイ>最前面に表示 を有効。
・ビューポートオーバーレイ>ワイヤーフレーム を有効。
・プリファレンス>テーマ>3Dビューポート>頂点サイズを5に設定。


■Tips:リストで切り替えてウェイトペイント
ウェイトペイントモードで、プロパティ>頂点グループ のリストで、任意の頂点グループに切り替えた状態で、ブラシを使って、ウェイトペイントできる。(頂点グループ名が、ボーン名で設定されている)

ボーンの上で、Shift+マウス右クリックすると、頂点グループを切り替えメニューが表示されるので併用して作業を効率化する。

■Tips: 頂点で選択、選択ツールでの編集時にもマウス操作でボーンを選択したい
「Tips: ボーンを動かしてウェイトの具合を確認」で紹介したやり方が通用しない。ボーンを動かしてウェイト値の具合を確認するのにブラシツールまで戻るのは少々手間だ。
ここで、ボーンを動かす手順だが、裏技っぽい手順で行う。
一旦、上部の頂点で選択ボタン、サイドバーの選択ツールをクリックして有効にする。

再び、頂点で選択ボタンをクリックして無効にする。すると選択ツールが解除される。するとボーンをマウス左ボタンクリックしただけで、直接選択することが可能。複数選択は、SHIFTを押しながら行う。選択解除は、ビューポートの余白をクリックする。

あとは、ショートカットキー: G. R . S でボーンを動かす。
動かしたいボーンを選択した後、ショートカットキーのG:移動、または、R:回転を押す。
ボーンの状態を初期値に戻す時は、ショートカットキー:Alt+G(移動)、Alt+R(回転)、Alt+S(スケール)を利用する。
■Tips: 各ボーンに割り振ったウェイト値を合計1.0を超えないように設定する。
各ボーンに割り振られたウェイト値は、合計で1.0を超えないようにするのが理想。もし、合計値1.0を超えた状態でボーンを動かすとオブジェクトが意図していない変形をする。
<ブラシツールでペイントしながら自動調整する場合>
自動正規化を有効にしてペイントする。
ウェイト値の合計が1になるようボーンに自動的に割り振りされる。


<複数ボーンのウェイト割り振りをまとめて設定する場合>
手順は、ボーンを全て選択してから、全てを正規化する流れ。
メニュー:ウェイト>すべてを正規化 を実行。
下記設定のアクティブをロックを無効にするとボーン全体が設定対象になる。すると各ボーンへの頂点ウェイト割り振りを合計1.0を超えないよう自動的に調整してくれる。
※アクティブなボーンのウェイトを保持したい場合は有効にしておく。



合計が1.0を超にならにように自動t設定される
<頂点を1づつ調整する場合>
頂点ウェイトを使い、合計が1になるようNormalizeボタンを押す。

■Tips: 頂点をマスクして、ペイントしやすくする
ウェイトペイントのモード選択右側にある2つのボタンをクリックして、マスクを切り替える。モード切替はMキーを押す。(トグル操作)

<ペイントマスク>ボタンをクリック
選択ツールで面を選択する。選択した面の頂点をペイント可能。
他の面の頂点は、マスクされてペイント出来ない。
・背面の面を選択できなかった。透過表示を切り替えの有効時も。
・選択した頂点を反転したい場合は、選択>反転(Ctrl+I)を使用。
・全選択は、Aキーを押す。解除はビューポートの余白をクリック。
・複数選択は、Shiftを押しながらクリック、または選択範囲で行う。

<頂点で選択>ボタンをクリック
選択ツールで頂点を選択する。選択した頂点だけペイント可能。他の頂点はマスクされてペイント出来ない。モード切替はV(トグル操作)
・背面の頂点もまとめて選択したい場合は、透過表示を切り替え
ボタンを有効にして範囲選択する。
・選択した頂点を反転したい場合は、選択>反転(Ctrl+I)を使用。

■Tips: あとから「ウエイトの反転コピー」をする
あとから、ウェイトの反転コピーができる。
■Tips: ブラシで塗って、ボーンに割り付けたウェイトを反転コピー
■Tips: 別オブジェクトへウェイト転送する
■関連補足
ボーンの対称化で、ボーンの名前をつける作業を楽にする方法。
また、このボーンの名前は、スキニングしたメッシュをウェイトモードで編集時、頂点グループの名前にも使われるので、わかりやすい。
■トラブルシューティング
Blender 3.1になっても、ウェイトペイントモードで、ツールやコマンドなどの操作不統一や未対応?で、出来そうで出来ないことについてのリスト。
マスクモードでは、範囲選択ツールで選択時、背面の頂点を含めて選択できない。(ビュー前面のみ選択される)なので、背面頂点も含めて選択したい場合は、一旦編集モードで頂点選択して戻る操作。
一方、頂点選択ツールは、透過表示にすると背面も含めて選択可能。オプションの自動正規化を有効にしておくとブラシでペイントした場合のみ、自動で正規化してくれる。以下の操作時は、自動的に正規化してくれない。メニューコマンドで手動で正規化する必要あり。
・ウェイト>ウェイト設定 (Shift+K) した場合
・グラデーションツールで塗った場合
※正規化:ボーンの影響する頂点ウェイトで、各ボーンへのウェイト割り振りを合計1.0超えにならないよう調整してくれる機能。(Normalize)頂点ウェイトの一覧は、スプレッドシートウィンドウにて確認できるが、直接値を編集することは出来ない。数値を確認するだけ。選択した頂点だけの表示も機能しない。
ボーンに対して、1頂点のウェイトの影響度は確認・編集できるが、複数頂点に対してまとめて編集できない。しかも頂点をクリックしたときだけで、選択範囲で1頂点を選択したときは表示されない。

以上。