自作MMDモデルをMMD4Mecanimを使わずにFBXにしてVRMにする

タイトルの通りです。
PMXエディタでいろいろセットアップする直前、ガワをすべて作り終わってボーンとウェイトの設定が終わった状態のblendファイルをHumanoidにしてVRMにします。
その過程で躓いたところのまとめです。
説明が割と雑なので詳しいコンバートの仕方とかは前回の記事を見てください。

 

 ・とりあえずそのままUnityに入れてみる

とりあえずblenderの方でFBXに変換しUnityでHumanoidを選びます。

f:id:shiragai:20180814103540p:plain

うわーすごいことになってる……直していきましょう。
Hipsは下半身に、Spineは上半身、Left ArmのHandは手首_Lにしてみましたが……

f:id:shiragai:20180814103929p:plain

上半身と下半身の親子関係がちょっとそのままでは駄目っぽいです。
Unity上での直し方がよくわからないので、一旦blenderに戻ってボーンの設定を変えましょう。
下半身の親をセンターから無しに変更、上半身の親をセンターから下半身に変更します。すると……

f:id:shiragai:20180814104414p:plain

今度は大丈夫そうです!
足首も設定をしなおして、Bodyはこんな感じ。

f:id:shiragai:20180814104728p:plain
LeftHandはこう。人差し指と親指を間違えていたので直しました。
右側はLとRが違うだけなので割愛します。

f:id:shiragai:20180814113022p:plain

Headはこう。あごあたりに前髪のボーンが割り当てられていたので消しました。

f:id:shiragai:20180814105023p:plain

追記
このような状態のFBXをVRchatにアップロードしようとしたところ、Chestが無いよ!と怒られました。blender側で上半身のボーンを細分化しChestに割り当てたところ無事にアップロードすることができました。

・Tポーズじゃないって怒られる

f:id:shiragai:20180814202831p:plain

Unityにシバかれていきますよ。
poseからEnforce T-Poseを選んでちゃんとTポーズにしてあげれば大丈夫みたいです。

f:id:shiragai:20180814203340p:plain

場所がわかりづらくて苦戦したので書いておきました。
ちなみにこの作業を怠ってVRMにすると……

f:id:shiragai:20180814203513p:plain

なんかちゃんとピシッとTポーズになってくれないんですね。そのうえ指もよく動かなかったです。

 

・Mtoonをどうにかする

VRMで使えるシェーダーは限られていて、今回はその中からVRM/MToonを使うことにしました。Mtoon、結構PMXエディタっぽい。
Mtoonで何ができるかというと、公式↓

MToon - dwango on GitHub

を見ればいいのですが、ざっくりまとめると

・アニメっぽい影ができる(陰色の設定がマテリアル毎に可能)
・輪郭を描画できる(太さ、色を調節可能)
・両面描画が簡単にできる

といった感じです。

いろいろ設定をし終わったのですが輪郭線が出て欲しくないところに出てしまいました……

f:id:shiragai:20180814214836p:plain

目周りだけに違うマテリアルを割り当て、そのマテリアルでは輪郭線を描画しないことで解決できます。

f:id:shiragai:20180814215250p:plain
こんな感じにマテリアルをblenderの方で分けています。
Unityで新しくエッジ消し用のマテリアルを作り、それをScene上のモデルのblenderでマテリアルを割り当てたあたりにD&Dすると新しくマテリアルを割り当てることができるので

f:id:shiragai:20180814220233p:plain

またテクスチャやシェーダーの設定をし、今度は輪郭線を出さないようにすると……

f:id:shiragai:20180814220458p:plain

勝利しました。

・あとはVRMにするだけ

ここまできたら後はVRMにするだけです。
前回の記事を読んでください。

shiragai.hatenablog.com

 

というわけでMMD用にセットアップしていたモデルを少しの手間でHumanoid及びVRMにすることができました。
ちょっとボーンの親子関係を見直すだけでよかったとは……

思ったよりもお手軽に、しかもプラグイン等を使わずにできたので嬉しいです。
MMD用、Unity用と二種類のボーンを組んでそれぞれにウェイト塗りをしなくてはならないのでは……???と戦々恐々としていたのでほっとしています。
それでは。