blenderでMMDモデルを作ろう|第2-4回:ウェイト(ウェイトペイント、補足)

前記事の自動ウェイトである程度うごくようになりましたが、

  • ひじがない
  • 上半身が肩にひっぱられすぎ
  • 上半身服が下半身服を貫通

という問題があったのでそれを解消していこうと思います。

 

まずひじですが、Tda式アペンドミクさんを参考にひじ補助ボーンを使ってみます。

動かす用のアーマチュアのひじボーンの付け根に、ひじ補助.L、+ひじ補助.Lという2本のボーンを作成します。

2本のボーンは全く同じ位置にあります。

f:id:usausakokoko:20180910053143p:plain

 

[親]->[子]の関係は、[腕捩]->[ひじ補助]->[+ひじ補助]となるようにします。

f:id:usausakokoko:20180910053217p:plain

 

次にポーズモードでひじ補助.Lボーンを選択し、MMD Bone Toolsタブを開き、MMDで言うところの回転付与を設定します。

Rotate + ボタンを押し、Influence: 0.6、その下のボーンをひじ.Lにします。

(ついでに、エクスポート時のためのボーン名も左ひじ補助にしておきます。)

f:id:usausakokoko:20180910053620p:plain

 

するとひじ.Lを回転させるとひじ補助.L(とその子である+ひじ補助.L)が60%の割合(たぶん)で追従して動くようになります。

ボーンの制約(コンストレイント)も自動で追加されます。

真上から見た図がこちらです。

f:id:usausakokoko:20180910054140p:plain

 

同様に、ひじ補助.R、+ひじ補助.Rも作成します。

f:id:usausakokoko:20180910054438p:plain

 

+ひじ補助のほうを変形に使用するので、自動ウェイト用のアーマチュアにも+ひじ補助というボーンを作成します。

だいたいひじ部分に来るように設置します。

f:id:usausakokoko:20180910054802p:plain

 

この状態で再度自動ウェイトを行い、ひじを曲げてみます。

f:id:usausakokoko:20180910054959p:plain f:id:usausakokoko:20180910055045p:plain

ひじのところに+ひじ補助ボーンのウェイトが割り当てられ、ひじの変形がましになった気がします。

 

躍らせてみると

ビフォー

f:id:usausakokoko:20180910055541p:plain

 

アフター

f:id:usausakokoko:20180910055557p:plain

でましになった気がします。

 

 

次に、上半身が肩にひっぱられすぎる問題を解消します。

ウェイトを見てみると、腕ボーンのウェイトが動いてほしくないところにまでのっていることが分かります。

f:id:usausakokoko:20180910055841p:plain

 

そこで、自動ウェイト用のアーマチュアに、上半身2ボーンを補足するようなボーンを追加します。

試行錯誤の末、4つのボーンをこの位置に配置しました。

f:id:usausakokoko:20180910060147p:plain

 

この状態で再度自動ウェイトを行い、上記4つのボーンの頂点グループと上半身2の頂点グループが合算されるようにモディファイアを設定します。

Vertex Weight Mixというモディファイアを選択し、

  • Vertex Group A: 上半身2
  • Vertex Group B: 上半身2.001.L
  • Mix Mode: Add
  • Mix Set: All

とします。

f:id:usausakokoko:20180910060707p:plain

 

これを先ほどの4つのボーンに対して繰り返し、最後に動かす用のアーマチュアモディファイアをもってきます。

f:id:usausakokoko:20180910060949p:plain

 

すると、先ほどのこんな感じだった上半身2ボーンのウェイトが、

f:id:usausakokoko:20180910061029p:plain

 

こうなりました。

f:id:usausakokoko:20180910061129p:plain

 

肩と腕を上げてみるとこんな感じです。上半身があまり肩/腕に引っ張られなくなりました。

f:id:usausakokoko:20180910061457p:plain

 

上半身と同様に、ウェイトを補足したい部分(今回は下半身と首)にも補足ボーンおよびvertex weight mix モディファイアを追加していきます。

首と下半身にも2本ずつ補足用ボーンを追加しました。

f:id:usausakokoko:20180910062250p:plain

 

Vertex Weight Mixモディファイアは合計8つに。

f:id:usausakokoko:20180910062423p:plain

 

おどらせてみると、全体的にだいぶ良くなった気がします。

f:id:usausakokoko:20180910063111p:plain f:id:usausakokoko:20180910063122p:plain

 

あとは、自分が気に入るまで、

  • 自動ウェイト用のアーマチュアのボーンの位置調整
  • 動かす用のアーマチュアのボーンの位置調整
  • ウェイトペイントモードで手動でウェイト調整
  • 編集モードで頂点グループの指定

を行ったり来たり、繰り返すのみです。大変です。

でも動くと嬉しいからがんばるよね。

 

ただ、手動でウェイトを調整したあと、再度自動ウェイトを行うとそれまでの手動調整が消えてしまうので要注意です。

 

上半身服が下半身服を貫通する問題も今回は上記の流れで解決しましたが、うまくいかない場合は、上半身のオブジェクトと下半身のオブジェクトを統合 (Ctrl + J key) し、メッシュをつなげてから自動ペイントを行うとうまくいったりします。

 

また、自動ペイントは細かいパーツが苦手だったりするので、細かいパーツは手動でウェイトペイントするか、ウェイト転送がいいと思います。

ウェイト転送する際は、ウェイトのもとになるオブジェクトを選択後、Shift keyを押しながらウェイトを転送したいオブジェクトを選択し、ウェイトペイントモードに入り、Transfer Weightsを押し、 以下のような設定でうまくいくことが多いです。

f:id:usausakokoko:20180910064949p:plain

 

たとえば、こういう体にそったものはウェイト転送でうまくいったりします。

f:id:usausakokoko:20180910065144p:plain

 

------ 追記ここから -----

自動ウェイトでウェイトを設定したズボンのベルト穴部分がポーズによって浮くことに気づいたので、ウェイト転送を試してみます。

f:id:usausakokoko:20180917051711p:plain

 

編集モードに入りベルト穴部分を選択し、P key -> Selectionで選択した面をズボンから分離します。

f:id:usausakokoko:20180917051813p:plain

 

ズボンからベルト穴にウェイトを転送するので、ズボン -> ベルト穴の順でShift keyを押しながら選択し、ウェイトペイントモードに入ります。

f:id:usausakokoko:20180917051906p:plain

 

画面左側のTransfer Weightsをポチ、以下のように設定を変更します。f:id:usausakokoko:20180917051915p:plain

 

オブジェクトモードに戻り、先ほどと同じポーズにしてみたところ、ベルト穴は浮かなくなりました。

ウェイト転送が終わったら、再度ベルト穴とズボンをCtrl + J keyでオブジェクト統合してもOKです。

f:id:usausakokoko:20180917052137p:plain

 ------ 追記ここまで -----

 

 

そんなこんなで動くようになりましたー。

次はUV展開です。

usausakokoko.hatenablog.com

 

と、そのまえにpmxにおためしエクスポートしてみてもいいかも。

usausakokoko.hatenablog.com

 

目次に戻る