ひぃの雑多書き

日記からお役立ち情報まで色んなことを書きます。

【Blender 3.2.0】Blenderを使って非専用衣装を着せる 第3回「ボーン・メッシュの移植とウェイトペイント(前編)」

こんにちは。前回に続き、Blenderを使って非専用衣装を対応させていこうと思います。

わからない所があったり、間違った情報や補足があればコメントにてお願いします!

3.ボーン・メッシュの移植とウェイトペイント(前編)

メッシュを結合する(必要に応じて)

今回使用するお洋服は上着のパーツが細かく分かれています。(襟、パジャマ、ポケット、ボンボン)

この先の作業を進める上で一緒にしてしまいたいなと思ったので、メッシュを結合することにしました。 細かくパーツが分かれていないお洋服を着せ替える場合、この作業は不要です。 ▲オブジェクトモードで結合したいメッシュをCtrl+クリックで選択します。

▲マウスをビューの上に持ってきた状態でCtrl+Jを押すと、メッシュが結合されます。

結合したメッシュはわかりやすい名前に変更しておきましょう。 今回は「Pajamas」と名前を変更しました。

ボーン?メッシュ?ウェイト?って何?

続いて、服のウェイトを活かす所と素体のウェイトを転送する所を分けます。

が、その前に「ウェイト?塗る?素体のウェ……転送?」となってる人がいると思うので、少し解説します。 んなこたー知ってるよ!って人は飛ばしてください。

まず、ボーンとメッシュについて。 こちらはUnityでも取り扱うのでなんとなく理解してる人も多いかと思いますが、例えるなら「針金」と「粘土」です。 棒人間のように針金があって、そこにメッシュという粘土で造形をするんですね。 そして、メッシュは『どの針金を動かしたら動くか』を指定してあげる必要があります。

「右腕を動かしたら右腕が動くに決まってんだろダラズ!!」って思う方もいるかもしれませんが、自分のアバターをよく見てみてください。 「右腕」というメッシュはありますか?恐らく、「Body」みたいな形で、全身で1メッシュになっているのではないでしょうか。Binacoちゃんの場合、「body_base」というメッシュが全身に該当します。

ここで登場するのがウェイトです。 ウェイトは「メッシュのこの部分は、このボーンと同じ動きをするよ」っていう設定みたいなものです。もっと言うと、「このボーンの影響をこのくらい受けるよ」という設定ができます。

「『Hand_R』というボーンを動かした時、『body_baseというメッシュの右手部分』が動きます!さらに、手首とかもちょっと引っ張られます。」って感じです。

んでもって、そのウェイトの設定をすることを「ウェイトペイント(=ウェイトを塗る)」と言います。 ウェイトの大きさを色で表しているので、ペイントって言います。赤の方が数値が大きくて、青になると0になります。

ウェイトは頂点ごとに1の値を持っています。 さっきの例で行くと、右手は右手ボーンの影響しか受けないので、ウェイトの設定は1になります。

でも、手首は右手を動かした時もちょっと引っ張られるし、下腕を動かした時も引っ張られますよね? そういう時は「右手ボーンのウェイトが0.4」「下腕ボーンのウェイトが0.6」みたいな感じになります。 1つのボーンの影響を受ける場合でも、複数のボーンの影響を受ける場合でも、全部の値を足したら必ず1になります。

そんなウェイトの設定ですが、例えば「右腕」というボーンは服にも素体にも存在すると思います。 その場合は素体のボーンやウェイト設定を使いたいのですが、例えば「パジャマのボンボン」とか「ツノ」みたいに素体の方にはボーンやウェイトの設定がないパーツもあると思います。

なので、まずは素体のボーン・ウェイトを使う部分とお洋服からボーン・ウェイトを転送(=移植)する部分に分けようという話です。

衣装のボーンを使う所と、素体のボーンを使う所を分ける

というわけで、改めて服のウェイトを活かす所と素体のウェイトを転送する所を分けます。

専門用語が出てくるので頭の中がゴッチャになると思いますが、簡単に言ってしまえばお洋服を「元々アバターに存在するパーツと、服にしかないパーツに分けよう!」という話です。あーはいはいなるほどね、そうなら最初からそうと言ってよ。

まず、ウェイトペイントモードに入ります。 オブジェクトモードでメッシュを選択した後、左上の「オブジェクトモード」を「ウェイトペイントモード」に変えます。

▲ただでさえよくわからんBlenderが、更によくわからん画面になりました。

画面の右下にある緑色の三角形みたいなマークのタブをクリックしてください。 すると「頂点グループ」って項目が出てくると思います。 この項目のうち「服にしかないパーツ」を残して、「アバターにもあるパーツ」を削除していきます。

頂点グループをクリックすると、色が青じゃなくなる部分があると思います。 それを見ながら、「あー右腕を動かしたらメッシュのこの辺が動くんだな」ってなんとなーく思っておきましょう。 あとで自分でウェイトペイントを行う際に参考になります。

そして、削除したいグループを見つけたら同じく頂点グループのウィンドウ部分にあるマイナスボタンをクリックで消せます。 基本的にアバターに同じ名称のボーンがある場合は消しちゃってOKです。 アンダーバーとかドットの細かい違いも無視しちゃってOK。(例:アバターに「Shoulder_R」ボーンがあるので「Shoulder.R」を削除)

▲今回はパジャマのボンボンだけ残りました。

全てのメッシュで整理が終わったら、一度プロジェクトファイルを別名で保存しておきましょう。 Creators, Back up your Projects!

この後はいよいよアバターにお洋服を着せていきます。

masyaexample.hatenablog.com

今回の記事で使用しているアバター

booth.pm

booth.pm