LightWaveプラグインのPaintWeightsでウェイト付けをしてみた
今回からウェイトを付けていく、ボーンがメッシュに与える影響度を調整する作業を始めます。
ここまで長かった・・・まだ服ないけど。
ウェイト付けはLightWave2020標準で備わっているものではなく、3rdPowersさんのPaintweightsというプラグインを使います。
標準機能でもできないことはないと思いますが、他のソフトと比べると現状弱いかもしれません。(まあ開発がしばらく止まっていたんで仕方がない部分ではありますがLightWave2024でレイアウト上でウェイト付けができるようになった)
ウェイトペイントといえばプロでも苦手とする工程だそうなので正直少し怖いです。
作業中にウェイト消し飛ばさないようにしないと・・・
それではやっていきます。
ウェイト付けの準備
オブジェクトの整理
まずオブジェクトを整理して、一旦レイアウトに送るものだけに黒ポッチをつけておきます。
体もローポリで作っていたものをfaceレイヤーにコピペ&細分化して頭と結合。
ボーンも各レイヤーにコピペします。
末端ボーンとIKやコントローラー用のボーンはモデル本体に影響を与えたくないので選択しないように注意。
全てのボーンをコピペしたら保存。
これらをレイアウトに送信します。
SkelegonReaderでボーン変換
レイアウトに送ったら今度はオブジェクトを選択した状態にして、SkelegonReaderでボーンを読み込みます。(ヴィィィィィッ!!)
- 体
- 目
- 前髪
- 横髪
- 後髪
PaintWeightsの使い方
簡単な説明
オブジェクトを選択した状態でPaintWeightsを起動。
すると上記のような画面が表示されます。
全ての内容を書こうとするととんでもない文字数になるので、簡単に内容を分けたのがこちらです。
- 選択ボーンにあるウェイト名を表示
- ショートカットみたいなもの
- ペイントツール
- 選択ツール
- ブラシやウェイト値の設定
- 変形のONOFF
- 見た目の切り替えと裏面を塗るか否かの設定
- オートセーブと専用のアンドゥ・リドゥ
ペイントツール
ペン
大まかな操作としては
- 左クリック:ペイントやメッシュを選択
- 右クリック:ボーンの選択やブラシサイズを変更
選択の解除方法はツール上のボタンが無い部分をクリックします。
ペンは指定したウェイト値を減衰なく塗れます。
指定した値のまま塗れるので扱いやすいです。
ブラシ
ブラシはカーソルの中心から広がるようにウェイトが減衰するタイプのものです。
重ね塗りをすることで段階的に指定した値に近づいていきます。
使い方はペンと同じ。
グラデーション
グラデーションは始点から終点の範囲内をグラデーション状に塗るものです。
このツールはボーンを直接選択することができないので、予めウェイトを塗りたいボーンを選択しておく必要があります。
投げ縄塗り
投げ縄塗りは囲った範囲を指定したウェイト値で塗ることができます。
塗りたい面積が広い場所を一気に塗りたいときに使えそうですね。
塗りつぶし
塗りつぶしは繋がっているメッシュを指定したウェイト値で塗りつぶすものです。
一旦全部一定値で塗りたい場合や消去したい場合に使えます。
頂点を選択している場合は、その選択範囲内にウェイト付けができます。
ぼかし
ぼかしはウェイトが乗っている境界を滑らかにしてくれるものですね。
感覚的にはガタガタを抑えることができるのでスムースみたいに使うことができます。
選択ツール
ペン選択
ペン選択はなぞったメッシュを選択するものになります。
既に選択されている部分をもう一度なぞると選択の解除ができます。
選択部分にだけペンで塗ったり塗り潰したりできます。
投げ縄選択
投げ縄選択は囲ったメッシュを選択するタイプです。
使い方はペン選択と同じ。
塗り潰し選択
塗り潰し選択は繋がっているメッシュを一気に選択することができます。
左クリックだと単一、右クリックで複数選択になります。
選択を一部解除したいときは、もう一度左クリックをすることで選択解除ができます。
ボーン選択
ボーン選択は名前の通りボーンを選択するものですね。
こちらも左クリックで単一、右クリックで複数選択が可能です。
選択ボーンを一つだけ外したいときは左クリックで解除します。
オブジェクト選択
オブジェクト選択はレイヤー別になっているオブジェクトを選択することができます。
1レイヤーにまとまっているとすべてのオブジェクトを選択してしまうので注意。
起動直後に設定すること
ボーン設定の変更
PaintWeightsを起動した直後はボーンが1本だけ選択された状態なので、まずはツール内のボタン以外の部分をクリックしてどのボーンも選択されていない状態にします。
LightWaveだけかは不明ですが、何も選択されていない=全選択なのでボーンを全選択状態にします。
編集を開くと" ボーン設定を変更 “というものがあるので、まずはこれを開いて・・・
画像のようにボーンの設定を変更しておきます。
- ウェイトのみ使用:オン
- ウェイト正規化:オン
- 固定長の長さで乗算:オフ
この設定にしておかないとLightWave内だと問題ない変形なのに、他のツールに読み込むとおかしな変形になるのでペイントを塗る前にやっておく必要があります。(たぶん固定長の長さで乗算というのが影響していると思う)
あと個人的にですがPaintWeightの自動保存はOFFにしておいた方が良いかなと思います。
理由はペイント中に操作を誤ってツールから抜けちゃうと、ウェイトがおかしな状態で保存されてしまうという危険があるからです。
こうなるともうアンドゥができません。
大丈夫だという状態でない限りはONにしないようにしています。
ウェイト塗り開始
自動ウェイト
まずは自動ウェイトをかけて一気にウェイト名を作っちゃいます。
編集から自動でボーンウェイトを作成をクリック。
すると設定画面が出てくるので
- 計算方法:距離
- 対象:全てのボーン
- ボーンを有効にする:オン
以上の設定にしておきます。
すると自動的にボーンの名前と同じ名前のウェイトが割り当てられます。
動かしてみるとめちゃくちゃ適当なウェイトが入っているので、首とか腕がおかしな変形をしています。(髪の毛と目が付いてこないのはこの段階では別レイヤーにしているから)
なのでこのおかしい変形を気合で直していきます。
髪のウェイト付け
まずはすぐに終わりそうな髪の毛から。
めちゃくちゃになっているウェイトを一旦全部消したいので塗りつぶしを選択。
次にウェイトの値を “消去" にして、これで塗っていくと一気にウェイトを消すことができます。
今度は新たにウェイトを100%で塗りつぶしてボーンが曲がる位置だけを50%、先端のウェイトは消します。
先端のボーンも同じような感じで一旦ウェイトを消去してから先端だけ塗り直します。
PaintWeightsを起動したまま確認するには画面下にオブジェクトとかボーンとかのボタンがあるのでボーンを選択。
これで変形を確認することができます。
ただこの場合だとボーン1本ずつしか変形を見ることができません。
複数のボーンを同時に曲げたい場合はツールを一旦終わらせる必要があります。
作っているものが初期モデルということもあってボーンと髪の毛の作りが雑になっちゃっていますが、多少おかしくてもこのまま進めます。
目のウェイト付け
目に関しては奇跡的に自動ウェイトだけで全部100%で塗れていました。
一応動きも確認。
目が顔からはみ出ていないので問題なさそう。
体のウェイト付け
頭~首
肩と足の付け根はかなり難しい部位なので後回し。
まずは末端の部位から攻めていくことにしました。
頭は全て100%の値でペイント、首も関節付近が頭との合計値が100%になるように調整。
口の中も忘れずに深度を無効にして内部もペイントしました。
指~肩
次は指ですが関節はグラデーション状にするとイメージ通りに曲がることが分かったので、隣のウェイト値の差が大きくならないようにしました。(100%の次が50%ではなく、90%とか75%とか)
手のひらはこんな感じにペイント。
水かき部分はあまり動かないように思えたので、ウェイト値は少なめです。
一旦ツールを解除して指をまとめて確認。
時間かかりましたが、なんとかうまく行った様子。
指の根元の関節がきれいに曲がってくれるか心配でしたが、大丈夫そうですね。
握った状態も確認。
まあ こんなもんでしょうか?
腕~胸
腕と前腕も指と同じように関節がグラデーション状になるようにペイント。
もう塗りまくっていきます。
肩は思った以上に時間かかっちゃいました。
あっちを直すとこっちがおかしくなるみたいな丁度良い状態にするのがもう・・・ねぇ
ひとまずこれでいきます。
上半身はこんな感じ。
胸を除いて全体的にウェイトを乗せていきました。(塗り方として合っているかだんだん不安になってきた・・・w)
腹のウェイトはぐるりと周辺をグラデーション状に簡単にペイント。
胸に関しては普通に塗ろうとすると段差的な変化になっちゃうので、スムースという機能を使います。
モデラーのスムージングのようなもので変化を滑らかにしてくれます。
最初に胸の半分くらいをウェイト値100%でペイント。
そして胸の根本まで選択したら編集タブからスムースを実行。
胸のウェイトだけに影響を与えたいので “現在選択されているウェイトのみ" に変更して、そのままの値で実行。
すると胸の根本までグラデーション状にウェイトが変化します。
最終的にはこんな感じになりました。
きれいに変形してくれますように・・・
つま先~腰
腕の時と同じように先端から根元に向かってウェイトを塗っていきました。
太ももはお尻に少し影響を与える感じでグラデーション状にペイント。
足の付け根との変形を見ながら腰(尻)を塗っていきました。
もう何回塗り直したことか。
最終的にはこの状態になりました。
尻の補助ボーンのウェイトは薄めにしました。
変形の確認
一通り終わったのでLW上で簡単なモーションを付けて確認。
股まわりは思ったより良い感じ。
大丈夫そうなのでPaintWeightsの自動保存を有効にしてツールを解除。
これでモデルが保存されます。
もしくはモデラーに戻って手動でオブジェクトを保存します。
MMD上で確認して完成
モデラーに戻りましたら
- 各オブジェクトのスケルゴンを削除
- 各オブジェクトと本番用ボーンを一つのレイヤーに統合
- ゼロウェイトを作成
- ウェイトを再割り当てして保存
- レイアウトに送信
- skelegon_readerでボーン変換
- 最新のFBXで出力
- mmd_tools導入済みBlenderでPMX化
- PMXEditorで英和変換
- 全ての親、足IKなどを追加
- MikuMikuDanceにぶちこむ
- モーションを適応して確認
以下過去記事はもう少し詳しく書いています。
ただIKや剛体の入れ方はまだよく分かっていないので、その部分については未記載。
もう少し理解を深めてから記事として残そうかなと思います。
MMD上で確認。
モーションはyurieさんという方の極楽浄土というものをお借りしました。(確認用に向いているらしい)
確認してみるとちょいちょい手が体にめり込んじゃっていますね。
ただこれはモデル差によるものかなと思います。
ひじやひざもちょっとおかしい気がしますが、微修正でなんとかなりそう。
PaintWeightsの使い方もだいぶ分かってきました。
軽くまとめると
- ボーンとオブジェクトは各レイヤーに分けておく
- 起動するにはオブジェクトを選択した状態で行う
- 全ボーンの設定はウェイトのみ使用をON、固定長の強さで乗算をOFF
- 基本は左クリックでツールの実行、右クリックで選択
- 全解除したいときはツール上の空白部分をクリック
- ボーンを動かす時はボーン選択モードに切り替える
- 複数ボーンを動かす時は一旦PaintWeightsを閉じる
こんな感じですかね。
次回はモーフを入れていきます。
初めて作る初期モデルなので、基本モーフだけ入れる予定でいます。
ではここまでお疲れさまでした~
使用したツール
- GIF&MP4:Screen to GIF
- データ変換:Blender3.6.4LTS
- PMX編集:PMXEditor ver0.2.7.3
- モデリング:LightWave 2023.0.2