blenderでMMDモデルを作ろう|第2-4回:ウェイト(ウェイトペイント、補足)
前記事の自動ウェイトである程度うごくようになりましたが、
- ひじがない
- 上半身が肩にひっぱられすぎ
- 上半身服が下半身服を貫通
という問題があったのでそれを解消していこうと思います。
まずひじですが、Tda式アペンドミクさんを参考にひじ補助ボーンを使ってみます。
動かす用のアーマチュアのひじボーンの付け根に、ひじ補助.L、+ひじ補助.Lという2本のボーンを作成します。
2本のボーンは全く同じ位置にあります。
[親]->[子]の関係は、[腕捩]->[ひじ補助]->[+ひじ補助]となるようにします。
次にポーズモードでひじ補助.Lボーンを選択し、MMD Bone Toolsタブを開き、MMDで言うところの回転付与を設定します。
Rotate + ボタンを押し、Influence: 0.6、その下のボーンをひじ.Lにします。
(ついでに、エクスポート時のためのボーン名も左ひじ補助にしておきます。)
するとひじ.Lを回転させるとひじ補助.L(とその子である+ひじ補助.L)が60%の割合(たぶん)で追従して動くようになります。
ボーンの制約(コンストレイント)も自動で追加されます。
真上から見た図がこちらです。
同様に、ひじ補助.R、+ひじ補助.Rも作成します。
+ひじ補助のほうを変形に使用するので、自動ウェイト用のアーマチュアにも+ひじ補助というボーンを作成します。
だいたいひじ部分に来るように設置します。
この状態で再度自動ウェイトを行い、ひじを曲げてみます。
ひじのところに+ひじ補助ボーンのウェイトが割り当てられ、ひじの変形がましになった気がします。
躍らせてみると
ビフォー
アフター
でましになった気がします。
次に、上半身が肩にひっぱられすぎる問題を解消します。
ウェイトを見てみると、腕ボーンのウェイトが動いてほしくないところにまでのっていることが分かります。
そこで、自動ウェイト用のアーマチュアに、上半身2ボーンを補足するようなボーンを追加します。
試行錯誤の末、4つのボーンをこの位置に配置しました。
この状態で再度自動ウェイトを行い、上記4つのボーンの頂点グループと上半身2の頂点グループが合算されるようにモディファイアを設定します。
Vertex Weight Mixというモディファイアを選択し、
- Vertex Group A: 上半身2
- Vertex Group B: 上半身2.001.L
- Mix Mode: Add
- Mix Set: All
とします。
これを先ほどの4つのボーンに対して繰り返し、最後に動かす用のアーマチュアモディファイアをもってきます。
すると、先ほどのこんな感じだった上半身2ボーンのウェイトが、
こうなりました。
肩と腕を上げてみるとこんな感じです。上半身があまり肩/腕に引っ張られなくなりました。
上半身と同様に、ウェイトを補足したい部分(今回は下半身と首)にも補足ボーンおよびvertex weight mix モディファイアを追加していきます。
首と下半身にも2本ずつ補足用ボーンを追加しました。
Vertex Weight Mixモディファイアは合計8つに。
おどらせてみると、全体的にだいぶ良くなった気がします。
あとは、自分が気に入るまで、
を行ったり来たり、繰り返すのみです。大変です。
でも動くと嬉しいからがんばるよね。
ただ、手動でウェイトを調整したあと、再度自動ウェイトを行うとそれまでの手動調整が消えてしまうので要注意です。
上半身服が下半身服を貫通する問題も今回は上記の流れで解決しましたが、うまくいかない場合は、上半身のオブジェクトと下半身のオブジェクトを統合 (Ctrl + J key) し、メッシュをつなげてから自動ペイントを行うとうまくいったりします。
また、自動ペイントは細かいパーツが苦手だったりするので、細かいパーツは手動でウェイトペイントするか、ウェイト転送がいいと思います。
ウェイト転送する際は、ウェイトのもとになるオブジェクトを選択後、Shift keyを押しながらウェイトを転送したいオブジェクトを選択し、ウェイトペイントモードに入り、Transfer Weightsを押し、 以下のような設定でうまくいくことが多いです。
たとえば、こういう体にそったものはウェイト転送でうまくいったりします。
------ 追記ここから -----
自動ウェイトでウェイトを設定したズボンのベルト穴部分がポーズによって浮くことに気づいたので、ウェイト転送を試してみます。
編集モードに入りベルト穴部分を選択し、P key -> Selectionで選択した面をズボンから分離します。
ズボンからベルト穴にウェイトを転送するので、ズボン -> ベルト穴の順でShift keyを押しながら選択し、ウェイトペイントモードに入ります。
画面左側のTransfer Weightsをポチ、以下のように設定を変更します。
オブジェクトモードに戻り、先ほどと同じポーズにしてみたところ、ベルト穴は浮かなくなりました。
ウェイト転送が終わったら、再度ベルト穴とズボンをCtrl + J keyでオブジェクト統合してもOKです。
------ 追記ここまで -----
そんなこんなで動くようになりましたー。
次はUV展開です。
と、そのまえにpmxにおためしエクスポートしてみてもいいかも。