見出し画像

VRMから変換したPMXを整理する

前の記事で出力したPMXをMMDで動いてもそれなりに見えるように設定していきましょう。

用意するもの

 ◆PMX Editor
https://kkhk22.seesaa.net/category/14045227-1.html
 ◆PMDEditor用プラグイン・モデルの身長計測・変更(身長158cm)
https://seiga.nicovideo.jp/seiga/im2597790
 ◆[ツール]MMD変換したVRM(Vroid)を使いやすく最適化
https://nossori.booth.pm/items/1329577
 ◆準標準ボーン追加プラグイン
https://www.nicovideo.jp/watch/sm14956092
 ◆MaskImageToEdge
https://bowlroll.net/file/262848

PMX Editor本体以外は全部PMX Editor用のプラグインなので、説明書どおりにプラグイン登録しておいてください。

プラグインも準備できたら、まずはPMX Editorでさっき作ったPMXを開きましょう。

一応この状態でもMMDで動くといえば動くんですがね。

身長を直す

「身長158cm」プラグインを実行して身長を整えます。

Userにプラグインを入れていれば、実行の場所はここ。
最終的な全長を数字として入力します。

最適化

2つ目のプラグイン「VRM2PMX変換モデルの最適化」を実行します。
このツールは本来Vroidのモデルを最適化するものなので、とても多機能ですが、今回は最小限の機能だけ使わせていただきます。
さっくりいうと姿勢の調整、そして表示枠の整理です。

画像の通りチェックを入れてください。

準標準ボーンの追加

準標準ボーンはこのプラグインで追加すると失敗が少ないと思います。

全部入れちゃいます。

材質の整理

マテリアルの調整です。
アウトラインのあるモデルの場合、この作業が必要になります。
「MaskImageToEdge」プラグインは、Unityで言うところのアウトラインマスクを利用してアウトラインの太さを変えてくれるものです。
MMDのモデルは基本的に1頂点ごとにアウトラインの幅を決めていく仕様なので、アウトラインをいい感じに出すのは結構苦労するのですが、このプラグインで一発で調節できます。

左がテクスチャ。右がマスクです。アウトラインを出したくない部分を黒く塗ります。

アウトラインマスク用の画像を用意したら、材質タブで適用したいマテリアルを選択し、プラグインを実行してマスク画像を読み込ませてください。

出力されたPMXは基本的にアウトラインはオフなのでエッジサイズを調整してください。

揺れものの整理

MMDの揺れものは奥が深すぎるので、ここではざっくりと説明します。
VRMからの変換で吐き出されたPMXの揺れものには不要なデータがいくつかあるのでそれらを削除していきましょう。

まずは剛体(コライダー)を整理します。
おそらくスカートや髪などのゆれものを作る際は、ルートボーンを使うことが多いでしょう。UnityのダイナミックボーンやVRCのPhysBoneはルートに指定したボーンは揺れないようにすることができますが、VRMから変換したPMXのルートには揺れ設定が仕込まれてしまうので、挙動がおかしくなってしまいます。
ルートのコライダー、そしてエンドボーンがある場合はそれらのコライダー、そしてエンドボーンの先に生える_comとついたコライダーは消して大丈夫です。

いっぱい消すけどビビらなくて大丈夫。消す前にはバックアップを取っておこう!

そして足ボーンに入れていた貫通防止のコライダーを整理します。
丸いコライダーが3つ縦に並んでしまっていたので、不要な部分を削除し、形状を変更していい感じに配置します。

カプセル形状に変更して高さや半径を調整しましょう。
裾のコライダーもカプセル形状にして大きさをそれぞれ調整しました。
最終的にこんな具合に剛体を整理しました。

次はジョイントの整理です。
ジョイントは剛体をつないでいるものなので、さっき消してしまった剛体とつながっている部分をつなぎ直し、不要なジョイントを削除して整理します。
先程の剛体の整理と同様に、ルートのジョイントと_comとつくジョイントをすべて削除してください。

ルートとエンドのジョイントを選択して消します。

ジョイントの接続を直します。
ジョイントの項目を見ると、「A」 -> 「B」というふうに剛体同士がつながっているのがわかります。先に消した剛体を登録してあった部分はリンク切れになって「 」->「B」となってしまっているので、「接続剛体A」の部分に接続先の剛体を登録します。

スカートなどは下半身の剛体に接続して上げると良いです。

これでひとまずの整理は終了です。
あとは納得行く物理演算が出来るまで剛体やジョイントの数値を調整していくことになると思いますが、そこはもっとMMDに詳しい方の記事や便利なプラグインなどを使っていくといいと思います。

ここまで読んでいただいてありがとうございます、お疲れ様でした!
素人記事なので間違っていることや無駄なことをしているかもしれませんが、そこは一緒に探っていく仲間として大目に見ていただければ幸いです!