Blender ウォッチング

VRMモデルの服から体がはみ出す現象を「Blender」で解決!

ウェイトペイントモードでの「ウェイト転送」と「編集」の使い方

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

 今回は前回装着したエプロンと下の制服との干渉を減らすため、ウェイトペイントモードで調整を行います。

エプロンに穴が開いてお怒りの慧さん
作業ファイルと「Blender」について

 作業ファイルには、プロ生ちゃんこと「暮井 慧」をサンプルファイルに使用されていただいています。許諾をいただいたPronama LLC様、VRMモデルを公開されている120様に感謝いたします。

 このサンプルファイルは120様作成のVRMモデルを.blendファイル化した物に少し手を入れているため、公式の.blendファイルとは差異があります。使用条件については下記をご覧ください。

「サンプルキャラクターモデル」のblendファイルをダウンロード(※)

※ダウンロード数が少ないため、Webブラウザーによってダウンロードがブロックされる場合があります。その場合はリンクの右クリックメニューからファイルの保存を行い、警告が表示されても[継続]などの項目を選択して保存してください。

 「Blender」のバージョンは以前と同様「Blender 2.93LTS」を使用します。

ウェイトの転送

 上ではウェイトを調整すると書きましたが、Blenderでは確認できないスカート周りの調整は地獄になること必至なので、「キャラクターモデル」にすでに設定済みの「ウェイト」をコピーすることにします。これにはスカートの下に隠れる衣服との干渉がほぼなくなるメリットもあります。

 画面左上のプルダウンリストが[オブジェクト]モードになっていることを確認し、まずプロ生ちゃんをクリックして「PronamaChan.baked」という キャラクターメッシュオブジェクト を選択します。今回は アーマチュア ではないことに注意してください。

「PronamaChan.baked」キャラクターメッシュオブジェクトを左クリックで選択

 次に[Shift]キーを押しながら「エプロン」をクリックし、追加で選択します。

「エプロン」を[Shift]+クリックして追加選択

 [3Dビューポート]左上から[ウェイトペイント]モードに入ります。この2つは前回も行いましたね。

[3Dビューポート]左上から[ウェイトペイント]モードへ

 モードを切り替えるプルダウンリストの右側にある[ウェイト]メニューから[ウェイトを転送]を実行します。

[ウェイト]メニュー→[ウェイトを転送]を実行

 [3Dビューポート]左下に[メッシュデータの転送]と書かれたバーが表示されますので、クリックして展開します。

[3Dビューポート]左下の小さなバーをクリックして展開

 これは以前にも書きましたが、[最後の操作を調整]パネルといい、直前のツールの設定やオプションを変更して再実行できる機能です。

 ここの[転送元レイヤーの選択]プルダウンリスト(画面では「転送元レイヤーの…」)を、[名前]に変更します。

[最後の操作を調整]パネルの[転送元レイヤーの選択]プルダウンリストを[名前]に変更

 これで「キャラクターモデル」の全頂点グループのウェイトが、「エプロン」に転送されます。

 ちなみに前回の「自動ウェイト設定」は無駄ではありません。もし「ウェイト転送」のみを行った場合はスカートより丈の長いエプロン先端にウェイトが転送されず、エプロンの裾が動かなくなります。

頂点グループの確認と整理

 これでウェイトの転送はできましたが、その確認はどうすればいいのでしょう。前回の「自動ウェイト設定」で設定した分も残っているため、単純にボーンで確認してみても意味はありません。そこで、各頂点を直接確認してみます。

 [Tab]キーまたはモードを選択するプルダウンリストみから[編集]モードに変更し、隣のアイコンから[頂点選択]を選びます。

図の囲みをクリックし[編集]モード、[頂点選択]に変更

 [3Dビューポート]右上の端にある小さな「≺」型アイコンをクリックして左の[サイドバー]を展開します。

[3Dビューポート]右上端の小さな「≺」型アイコンをクリックして[サイドバー]を展開

 左クリックで図の頂点を選択します。すると、[サイドバー]から伸びる[頂点ウェイト]パネルに、現在の頂点に設定されている「頂点グループ」とその「ウェイト」が表示されます。

頂点を選択すると[サイドバー]から伸びる[頂点ウェイト]パネルに頂点の「頂点グループ」と「ウェイト」が表示

 このように大量の頂点グループが表示されていれば、転送は成功しています(なお「Blender 3.0」では「0.0」のグループが作成されないため、違う結果になります)。

 この頂点グループの大半は「ウェイト」が「0.0」の不要な頂点グループで、動作には支障はないものの、綺麗にしておいた方がいいでしょう。

 [Tab]キーなどで[ウェイトペイント]モードに戻し、[ウェイト]メニュー→[クリーン]を実行し、[最後の操作を調整]パネルの[使用部分]を[All Groups]にすれば消すことができます。

数字の順番に実行・設定すれば不要な「0.0」のウェイトの頂点グループが消去

VRMエクスポートと「3teneFREE」での確認

 早速VRMエクスポーターで出力し、「3teneFREE」で確認してみましょう。全体的に改善されましたが、「お願い」などの一部のモーションで裾が変になっていますので、これを直してみます。

「3teneFREE」による確認。囲み部分に異常が発生
エクスポート用アドオンについて

 エクスポートには「VRM Addon for Blender」を使用しています。スクリプト作者の皆様に感謝いたします。

 アドオンの導入方法については以前の記事でご確認ください。

ウェイトペイントモードによる調整

 「アーマチュア」と連携してウェイトの編集を行う準備をします。

  1. [3Dビューポート]左上から[オブジェクトモード]に戻します。
  2. 「アーマチュア」を選択します。
  3. 左側の[プロパティエディター]を[アーマチュアプロパティ]タブに切り替えます。
  4. [ビューポートの表示]エリアの[最前面]チェックボックスをONにします。
①[オブジェクトモード]で②「アーマチュア」を選択し、③[アーマチュアプロパティ]で④[ビューポート表示]エリアで[最前面]をONに

 そして再び[Shift]+クリックで「エプロン」を選択し、[ウェイトペイント]モードに切り替えます。

①[Shift]+クリックで「エプロン」を選択し、②[ウェイトペイント]モードに切り替え

 下図のように画面右の太ももの「ボーン」(Foot.L)を[Ctrl]+クリックします。

画面右の太ももの「ボーン」(Foot.L)を[Ctrl]+クリック

 裾の部分が少しだけ色が変わっていますね。太もものボーンの影響がここにあるのが原因なので、画面上部の[ツールの調整]バーの[ウェイト]を「0」にし、この部分をドラッグで消してしまいしょう。

[ツールの調整]バーの[ウェイト]を「0」にし、ドラッグでペイント

 同様に反対側のボーン(Foot.R)も選択し、こちらのウェイトも消してしまいましょう。

反対側のボーンを[Ctrl]+クリックで選択し、ペイント

 ではいったん保存後、再びVRMエクスポーターで出力し、「3teneFREE」で確認します。今度は問題ないようです。

「3teneFREE」による再確認。

終わりに

 ほかにもエプロンと脚とのコリジョン(衝突判定)もどうにかしないといけないのですが、ひとまずはこの辺で終わりにさせていただきます。コリジョンについては機会があれば解説してみたいと思います。お疲れさまでした!