目次
ウェイトペイントとはなにか?
ウェイトペイントとは
ウェイトペイント(weight paint):ウェイト情報をブラシなどで「ペイントする(塗る)」という直感的な方法で管理する方法。ウェイトとは直訳すれば「重さ」。青くペイントすれば影響度が低くなる。すなわち重くなる。赤くペイントすれば影響度が高くなる、すなわち軽くなります。
たとえば腕の関節付近が真っ青だと、ボーンを動かしたときにうまく曲がらなくなります。逆に真っ赤だと曲がりすぎてしまいます。ちょうどいいペイントをすることが重要になっていきます。
通常は自動のウェイトを設定したあと、不自然な箇所を調整したりするときに使います。
前回の記事
【blender2.82】シンプルな人間をモデリングするメモ【blender】
【blender2.82】シンプルな人間をリギングするメモ【ブレンダーアニメーション】
今回参考にする動画
今回作成した動画
人間にウェイトペイントをつけるテスト
「体積を維持」にチェックを入れる
まずはオブジェクトモードで「体積を維持」にチェックを入れましょう。
「体積を維持」とは?意味とやり方(ブレンダー,blender)
オブジェクトとボーンをペアレントしたときに、[モディファイアーを追加]の中にある設定に[体積を維持]という項目がある。デフォルトではチェックが入っていない。blenderの説明では「クォータニオンで回転変形を補間します」とある。
Preserve Volume
Use quaternions for preserving volume of object during deformation. It can be better in many situations.
Without it, rotations at joints tend to scale down the neighboring geometry, up to nearly zero at 180 degrees from rest position. With it, the geometry is no longer scaled down, but there is a “gap”, a discontinuity when reaching 180 degrees from rest position.
*2
肝心の「体積を維持」の意味だが難しそうだ。直訳では変形中のオブジェクトの体積を維持するために、四元数(quaternions)を使うらしい。とにかく体積を維持することによってうまくいくことが多くなるらしい。変形しすぎないように調整してくれる機能のようだ。
あるサイトでは「関節部分の沈み込みを低減できる」効果があると書いている.ゲームエンジンによってはチェックを入れないほうがいいケースもあるそうだ*3。
ウェイトペイントモードにする
参照動画はblenderのバージョンが古いようで、動画と同じ方法ではできないようです。
まずオブジェクトモードでボーンをSHIFTを押しながらクリックし、次にメッシュ(人間)もSHIFTを押しながらクリックして連続選択します。その状態でウェイトペイントモードに切り替えます。
そうするとControl+クリックでボーンを選択でき、そのボーンに関連したウェイトペイントが表示されるようになります。ここで表示されているウェイトペイントは前回”自動のウェイト”で設定したものです。
ウェイトペイント設定
まずは腕を動かします。ボーンを選択(Control+クリック)してRをクリックし、回転させましょう。詳細は動画で見てください。肩と上腕のボーンを回転させました。
腕を上げただけで脇腹が不自然に変容してしまっていますよね。脇腹をよく見るとうっすら緑色です。つまり動いてしまうということです。
したがって色を青に近づける必要があります。
まずペイントの種類を変えます。F.Subtractに変えます。Subtractは減算という意味で、Addの加算とは逆ですね。つまり青に近づけるペイントモードで、より動かなくするためのペイントです。
ウェイトは1から0.248、半径は57px、強さは0.2に変えておきます。数値は後で切り替えるのであまりこだわらなくていいです。
ワイヤーフレームモードに切り替える
これも動画のようなかなかうまくいかない。バージョンが違うだけでいろいろ大変ですね。Zキーでワイヤーフレームモードに切り替えるとウェイトペイントが表示されません。
一度選択を解除して、オブジェクトモードで設定を変更します。上の方にある[ビューポートオーバーレイ]から[ジオメトリ]の[ワイヤーフレーム]にチェックを入れます。
その後で再びSHIFTクリックでボーンとオブジェクトを選択した状態でウェイトペイントモードに切り替えると、ワイヤーフレームモードとウェイトペイントが同時に表示されています。これで成功です。
ボーンがワイヤーフレームモードになっていませんねまだ。ボーンが邪魔で見にくいのでオブジェクトモードのビューポート表示からワイヤーフレームモードに変えておきます。ほんとは違う方法があるかもしれません。ついでに名前にチェックを入れておきます。
ウェイトペイントで修正していく
さてやっと本題に入ります。ウェイトペイントで修正してくわけですが、不自然に曲がっている箇所を中心に青くしていきます。この領域は私のような初心者には到底理解できる領域ではないので、参照動画を参考にしてウェイトペイントを塗っていきましょう。そもそも人体の仕組みを理解していないと、腕を上げたらどこが動いてどこが動かないかわからないですよね。自分の腕を上げてどこが動くか確かめながらウェイトペイントしていくほうがいいとおもいます。あるいは画像を探しましょう。
今回は脇の下や胸、そして反対側の動いてほしくない領域を減算ペイントですこし塗ってみました。
上がウェイトペイント前で、下がウェイトペイント後の挙動です。ウェイトペイントで修正したほうが若干自然な動きになっていることがわかります。
メッシュやボーンによってどう塗ればいいかは変わるので、各自調整してください。
ちなみに左側のウェイトペイントを変更すると、自動的に右側のウェイトペイントも変更されています。楽でいいですね。
肩も同じように変更していきます。肩の場合は首周辺のウェイトペイントを青くしていくようですね。
次にまたupper boneです。今度は減算ではなく加算(add)モードで修正していくようです。
すこし寄り道をします。参照動画ではALT+Gで初期位置・回転に戻れていますが、私の場合戻れませんでした。戻るためにはいくつか設定の必要がありそうです。
まずはポーズモードに変える必要があります。しかしウェイトペイントモードからポーズモードに移行できません。なので一度オブジェクトモードでボーンを選択し、スケルトンをレスト位置に変更します。
そうするとポーズモードに変更できるようになります。次にポーズモードでスケルトンを再度ポーズ位置に変更し直します。その状態でALT+RやALT+Gを押し、ポーズ位置の状態でレスト位置になるように設定します。
再びオブジェクトモードでSHIFTクリックでボーンとメッシュを選択し、ウェイトペイントモードに変更します。この状態でポーズ位置=レスト位置になっているはずです。つまり初期状態です。
この状態のままAで全選択をして、Control+Aで位置や回転を記録します。
そうするとウェイトペイントモードでボーンを回転させても、いつでもALT+Rなどで初期状態に戻せるようになります。
次に足を調整していきましょう。お腹あたりの色を青くしていくようです。足を曲げた状態で修正していきましょう。初心者の私では正直どこをどう塗ったらいいのかよくわかりません。動画のメッシュと違うので、同じように塗ってもうまくいくとは限りません。動かしながら不自然なところを調整していく形になります。やっぱり人体の仕組みを勉強しないと難しいですね。
編集モードでupper boneの位置を修正するようです。すこし右斜め上に動かしました。
ポージングさせたらこんな感じになりました。やっぱり難しいですねウェイトペイントは。
そもそも動かしやすいモデリングを学んだほうがよさそうですね。でも楽しいですねblender。飛行鬼のキャラクターをちゃんと動きやすいモデリングをしていつか歩かせてみたいです。
参考文献リスト
1:https://wiki.blender.jp/Doc:JA/2.6/Manual/Modeling/Meshes/Vertex_Groups/Weight_Paint
2:https://docs.blender.org/manual/en/latest/modeling/modifiers/deform/armature.html
3:https://dskjal.com/blender/the-tips-of-joint.html#preserve-volume
コメント
この記事へのトラックバックはありません。
この記事へのコメントはありません。