VRoidからのMMDモデル作成(3)

セットアップ

ここからPMXエディタでのセットアップに入ります。
試行錯誤が多くなると思うので、途中で適宜別名保存して、段階的なバックアップをとっていくことをお勧めします。
基本的な部分は共通ですが、特に衣装に関してはどんなものを作るかによってだいぶ変わってきますので、こちらも衣装作成の回で作ったものを例としてやっていきます。全く違う形状だとなかなか同じようにはならないので、参考にしつつ応用して頑張ってみてください。


1.ベースモデルからの移植

まずはベースモデルを開き、そのまま持ってくる部分を整理します。
基本的に、「持っていく部分を残して」「要らない部分を削除する」という形になります。

材質からは、
 ・00_FaceMouth
 ・00_Face
 ・00_Face_頬染め
 ・00_EyeWhite
 ・00_EyeIris
 ・00_EyeIris_星
 ・00_EyeIris_ハート
 ・00_EyeHighlight
以上が必須で、他はXISMOで何も編集せず、出力したものをそのまま使用するパーツ(靴やめがねなど)があればそれと、VRoid Studioで作った髪を使う場合は髪関連を一式。表情モーフ用の「00_EyeWhite_はちゅ目」や「00_EyeWhite_なごみ」などは、(私は使わない派なので消しちゃうのですが)生成されたモーフをそのまま使いたいのであれば必要です。

ボーンは、0番の全ての親~115番の右足先EXまでは必須です。
それ以外の装飾ボーンは、スカート・コート系の裾は物理を入れるので不要です。(今回の例ではありませんが)袖の装飾ボーンに関しては袖の形状によるところが大きいので判断が難しくなります…が、最終的に必要なら持ってくることは比較的簡単なので、この段階では一旦削除してしまっていいと思います。
また、最後にある「Face」「Body」「Hair」「secondary」の四つに関しては、要らないはずなのになぜか消すと変な挙動になったのでおまじない的に残していました(過去形)。しかしこの解説を書くに当たって一度消してみたところ、別におかしくならなかったのでなくてもいい気がします。
一応、ボーンの親子関係とかウェイト的な意味では要らないはずなので…。

剛体は全部そのまま残します。
完成までのどの段階でしてもいいし、別にしなくても動くんですが、私は左右の尻の剛体の関連ボーンを足から下半身に変更し、同時に足系列のボーンを全て「左足ボーン」→「左足Dボーン」等に変更しています。
尻剛体は物理設定時に足より下半身に連動してくれた方が好みの挙動になるのと、Dボーンは実際使う機会は少ないとは思うんですが(D系列ボーンは足IKを無視して足を動かすためのものです)、足が動くのに剛体がついてきてくれないとスカートを突き抜けちゃって困るためです。

ジョイントは、私の作り方だと何もない…はずですが、VRoid Studioの方で髪の動作設定をしてたらあるのかな? あるなら必要だと思うので、そのまま残しておいた方がいいと思います。

材質・ボーン・剛体・ジョイントの全てで必要なもの以外を削除したら、ベースモデルを必ず名前を付けて保存してください。消した部分もまだまだ必要なので、上書き保存はしちゃだめです。

保存できたら、今度はXISMOで作成した方のモデルを開きます。そして、そこに先程名前を付けて保存した移植用のベースモデルをドラッグ&ドロップします。するとこういう窓が出ますので、

インポート方式で「追加」を選択。

追加にするとモデル調整のチェックなども触れますが、今は何も弄らずそのままOKボタンを押しましょう。
追加読込ができたら、移植したベースモデルの材質・ボーン・剛体がきちんと追加されていることを確認してください。このとき、それぞれのモデルとテクスチャファイルの保存場所によってはテクスチャが読み込めず真っ白になっていると思うので、テクスチャファイルをコピーしてきたり、ファイルの指定を正しくして、きちんと表示されるように調整してください。また、XISMOから出力した材質の方も、テクスチャのファイルがフルパス表記になっていたりする場合がありますので、相対表記に変えるなどして整えておきましょう。Toonとかスフィアは後でやるので、まずはテクスチャだけが意図した通りに指定されていればOKです。
ここまでくると、(まだ動かないけど)とりあえずぱっと見はキャラの全体像ができて、MMDっぽい見た目でテンションも上がります。やったね!

2.ウェイト転送

転送、と言いつついきなり転送じゃないことから始めるんですが、まずは髪と目のパーツを頭ボーン100%で塗ってしまいましょう。これから動作テストで色々動かすときに置いていかれちゃうと悲しいので。
やり方はとっても簡単で、PmxViewで絞込み表示を使い、XISMOで作った髪と目のパーツ(アイラインや眉など)の材質だけを表示します。更に、同じく絞込みを使ってボーンを頭ボーンのみ表示させ、選択モードを頂点とボーンにし、Ctrl+Aで全て選択→Ctrl+Mでウェイト設定。これで、ひとまずのっぺらぼうとハゲは回避できるようになりました。顔そのものはベースモデルから持ってきているので、そのままでもウェイトが保持されています。
※VRoid Studioで作った髪をベースモデルから持ってきている場合は、顔と同じくウェイト情報があるはずなのでここで変える必要はありません。

さてここからいよいよウェイト転送ですが、方法がいくつかありますのでご紹介兼、ウェイト関連で必要なプラグインを説明します。各プラグインの配布先についてはこちらからどうぞ。

◆ウェイト転送プラグイン
転送元の頂点を選択してウェイト情報をテキストファイルに保存し、転送先の頂点を選択してから保存したウェイトを読み込みます。別のモデルからウェイトを転送する際にはそのモデルを開いて保存→転送先モデルを開いて読み込みしなければならないので一手間かかりますが、「選択頂点のウェイト」を保存するので細かい調整がききます。敢えて近傍頂点以外のウェイトを塗りたいときや、隣接する頂点と揃えたいときなどにも使えます。

◆選択モデルの近傍頂点からウェイトを転写する
闇鍋プラグインのVERTEXフォルダ内にあります。機能は名前の通りで、今読み込んでいるモデルの選択頂点に、選択したモデルの近傍頂点(同一または近い座標にある頂点)のウェイトを転送します。別モデルから転送する際にいちいちモデルを開かなくていいので便利ですが、近い座標に違うウェイトを持つ頂点が混在しているとうまく転送できません。

◆選択材質の近傍頂点から選択頂点へウェイトを転写する
こちらも闇鍋プラグインのVERTEXフォルダ内にあります。機能はやはり名前の通りですが、転送元が「選択材質」のため、ウェイトを持った材質を先にモデルに読み込まなくてはいけません。ベースモデルからの転送で使う場合には、後述のモデルコピープラグインなどで先に材質をコピーしてくる必要があります。転送元の材質を限定できるため、座標が重なることが少ない分上記の「選択モデルの~」と比べると若干精度が高い気がします。

◆モデルコピープラグイン
厳密にはウェイト「転送」ではないですが、必要なボーンが揃っていればウェイトを持った状態の材質をそのままコピーできます。
このプラグインの真価は二人目以降のモデルを作ったときで、最初のモデルからこのリボンだけ持っていきたいな~、とかモーフの並び順同じに揃えたいな~とか、共通する部分の剛体設定変えたけど項目多くて手動でやるの面倒…みたいなのを全部解決してくれます。幅広く便利なのでおすすめ。

ここからは「転送」ではないですが、ウェイト関連(に限らず)で必須になってくるプラグインです。

◆ハイポリ化プラグイン
最重要とも言えるプラグインです。これがないと始まらないレベルで必須。機能としては名称通りハイポリ化、つまり選択した面のポリゴンを倍の細かさにしてくれます。このプラグインがすごいのは、細かくなった頂点のウェイトも自動で補間してくれるところ。つまり、XISMOで色々してベースモデルより細かくなったメッシュに、ベースモデルのウェイトを崩さず反映させられるということです。他にも使い道が色々ある素晴らしいプラグインですが、この解説で主に使うのはそれになります。

◆選択頂点の鏡像位置にある頂点を選択

闇鍋プラグインのVERTEXフォルダ内にあります。機能はやはり名前の通り、鏡像位置の頂点を選択してくれます。モデルは基本左右対称で作るため、片方の頂点を編集するならもう片方も同じようになってほしいですが、きっちり同じ位置・同じ範囲の頂点を選択するのは非常に面倒なので、とても便利でお世話になりまくります。

◆選択した頂点のウェイトボーンを置き換える
これも闇鍋プラグインのVERTEXフォルダ内にあります。使う場面自体はそう多くないですが、ものすごく便利です。襟IK仕込んだときに首のウェイトを一括で襟に変更したり、グラデ塗りしたはずの髪の下の方に一個だけ微妙~に頭ボーンのウェイト残ってるのを殲滅したりするのに使えます。

説明終わり。
ここから実際の作業に入ります。

まずは体からいきましょう。顔以外の肌部分全てと、体のメッシュから作ったパーツ、つまりニーソとスパッツが該当します。ここはニーソと太ももの境目ぐらいしか弄っておらず、弄った箇所は左右の足ボーン100%の位置なのであまり気にする必要はなく、素直にベースモデルの体から転送してしまえばOKです。ベースモデルの方にもややこしい頂点はないはずなので、手軽に「選択モデルの近傍頂点からウェイトを転写する」のプラグインを使いましょう。絞込み表示で該当の材質だけを表示し、頂点を全選択した上でプラグインを実行、ベースモデルを選び、「(モデル名)よりウェイトを転送します」にOKを押せば完了です。試しにTransformViewで、センターボーンでも選んでしゃがませてみましょう。服が置いてけぼりですが、体は動くはずです。同様に腕ボーンや足IKを動かせば、手足も動いてくれるはずです。

次も簡単なところで靴を転送します。ベースモデルはストラップがないただのパンプスなので、選択するのは靴の材質のうちストラップ以外の部分だけです。XISMOで別シェーダにしていれば材質も分かれているので楽ですが、もし一緒にしてしまっていた場合は、PmxViewで選択対象を頂点と面、選択範囲を自由曲線範囲にして、

こんな感じで選択→Ctrl+Xを押せばストラップだけ選択できます。

この状態で選択オブジェクトの保存をして、一度靴全体を選択→Ctrlを押しながらMR(選択)ボタンを押せばストラップ部分を除外できますので、その状態でまた「選択モデルの近傍頂点からウェイトを転写する」のプラグインを実行しましょう。これで足の動きに靴もついてきてくれるはずです。
このままだとストラップが置き去りなので、今度はストラップのみを選択し、材質タブからニーソを選択します。そして今度は「選択材質の近傍頂点からウェイトを転写する」のプラグインを実行。これでストラップも一緒についてきてくれるようになったはず。

次はワンピースです。ここから単純な転送だけではなくなってきます。
まず、表示する材質はワンピース本体のみ。表裏分けている場合は表だけ、エプロンはまだ要りません。解説ではフリルの作成は飛ばしましたが、自力で頑張ってつけた人もフリルは一旦置いといてください。
そして、今度はベースモデルを開きましょう。こちらも絞込み表示で半袖ワンピースのみを表示します。そして、選択対象を頂点と面にして、全選択→ハイポリ化プラグインを実行。このとき、モードは「丸めなし」にしてください。丸めありにすると角張った部分が滑らかになり、これはこれですごく使える機能なんですが、今は元からある頂点は動いてほしくないので丸めない方がいいのです。
さて、完了したらワイヤー追加表示モードにして、ハイポリ化したメッシュをよく見ましょう。作成中のモデルの方も同様にワイヤーを表示して見比べましょう。一番細かい部分の頂点はカバーしきれているでしょうか?

大体あってるような…でもちょっと横幅が広いような…。

そういえば、上半身とスカートを合わせるときに辺を二等分→更に二等分したんでした。つまり四等分。じゃあ足りないね、ということでハイポリ化した材質を更にもう一回ハイポリ化します。これで大体合うはずです。
二回ハイポリ化した材質(名前x2x2となっているはず)だけを表示し、頂点を全選択→ウェイト転送プラグインでウェイト保存します。保存したら作成中のモデルに戻り、頂点を全選択→ウェイト読込/設定で転送します。
TransformViewで動かしてみると、スカートの裾が伸びると思いますが今はこれでOKです。上半身はなんとなくいけてそうですが、腕を動かすとやはり袖口が破綻していました。これもこの段階ではOKです。上半身(2・3含む)と下半身を動かしてみておかしくないこと、首・肩・腕が(半袖ワンピースの袖の範囲までは)綺麗に動くことを確認しましょう。
問題なさそうなら、次は袖です。まず、ボディスーツから作った部分の頂点だけを選択します。

わかりやすいように面も選択しています

選択できたら、選択頂点の鏡像位置にある頂点を選択のプラグインを使って反対側も選択し、選択オブジェクトを記憶しておきましょう(うっかりミスで選択解除されちゃうと泣けるので…)。このときの楽さを考えると、袖の上下で別シェーダにしとけばよかったなと思わなくもないですね。衣装作成の回で、必要そうならなんでも細かく分けておくべしと書いたのはそういうことです。参考にしてね…!
ともかく、選択できたらまた「選択モデルの近傍頂点からウェイトを転写する」プラグインを実行します。ボディスーツ部分はほとんど頂点を動かしていないのでこれでいけるはず。完了したら、肩~手首まで綺麗に動くようになったことを確認しましょう。

これで上半身はいい感じになりました。次は伸びてたスカート部分です。
スカートはこの後物理を入れるのですが、ベースになるウェイトがぐちゃぐちゃではまずいので整えます。
PmxViewで表示する材質はそのままワンピースの表側のみ、表示モードをウェイト表示に切り替え、ワイヤーも表示しておきます。更に、絞込み表示でボーンを下半身のみ表示し、選択対象をボーンだけに。そして一つだけ表示されている下半身ボーンを選択すると、

たぶんこんな感じになっています。

次に絞込み表示で上半身ボーンも表示して、それも選択すると、ウエストあたりにうっすら緑の範囲が現れると思います。その境目をよく見て、このへんからは全部真っ赤だな!というラインを見極めたら、選択対象を頂点のみにして、そのラインから下の範囲を全て選択します。そして上半身ボーンの表示を消し、下半身ボーンのみにしてから、選択対象にボーンを追加して、下半身ボーンも選択します。

ざっくりこんな感じ

この状態で、Ctrl+Mでウェイトを塗ります。スカートの下が全部真っ赤になればOKです。この段階でTransformViewを見ると、スカートの上の方に妙な黒い線が入っています。環境次第で入ってなければないでいいんですが、とりあえず私は入ってたのでこのままでは困ります。

こんなの。

そうしたら、編集→頂点→ウェイト正規化をしてみましょう。すると…

これはこの後もまた使う機能なので覚えておいてね
正規化したら消えました。やったね!

これで、ワンピース(の表側)は綺麗に動くようになったはずです。
なお、裾のフリルをつけた人は、ここで全部下半身ボーンで塗ってしまってOKです(エプロンのフリルはまだ別)。

ここまでできたら、次はワンピースの裏側です。
分けておいた裏側の材質だけを全て表示し、表側のウェイトを転写します…が、注意点がひとつ。ここでは「選択材質の近傍頂点からウェイトを転写する」プラグインを使いますが、転送元には一つの材質しか選択できません。正確には、選択自体はできるけど転送がうまくいきません。なので、転送元の材質が複数に分かれている場合、各材質ごとに対応する頂点を選択し、複数回に分けて転写してください。
これで、エプロンとブローチ等の装飾以外は動くようになりました。

NEXT


この記事が気に入ったらサポートをしてみませんか?