![見出し画像](https://assets.st-note.com/production/uploads/images/21724063/rectangle_large_type_2_4be7f8f5e92c5d30e8eef4ca9cf3700a.png?width=1200)
MMDモデルをUE4に持ってきて表情を付けたりする方法
このページではMMDモデルをUnityを経由してVRM化して、UE4向けプラグインのVRM4Uで扱えるデータにして、UE4で扱える状態にする方法を簡易的に説明します。
すでにMMDをVRM化する手順は、Unityで完成されており、その仕組を利用してUE4でも扱えるVRMデータを作るという流れです。
ちなみに著者はUnityまるで詳しくないのですが、変換する作業ぐらいはそれほどつまらずに理解できました。
その上で、UE4上で、表情をつけたり、髪の毛を風で揺らしたりするところまで紹介します。
サンプル画像に使わせていただいているMMDは、Tda式初音ミクV4X_Ver1.00、Tda式初音ミク・アペンド_Ver1.10、初音ミク MMD_muuubuです。
■導入が必要なもの
Unity
-MMD4Mecanim
http://stereoarts.jp/
-UniVRM
https://github.com/vrm-c/UniVRM/releases
UE4
-VRM4U
https://github.com/ruyo/VRM4U
■手順
1.PMXファイルをUnityに読み込む
MMD4Mecanimの導入のチュートリアル
https://qiita.com/hiroyuki_hon/items/931c79164b0ffe19517f
大体上記の手順を踏めば大丈夫です。ここで必要なのは、モデルを読み込むところまでです。
MMD4Mecanimがインストールされた状態で、PMXファイル(MMDのモデル、事前に用意しておいてください)を読み込みます。フォルダをそのままUnityにコピペします。
その後に規約の確認後に「同意する」を押すことで、Unityで扱えるモデルに変換します。
※注意:MMDの作者の方によっては、ゲームエンジンにMMDを持ち込まれることを認められていない方もいます。必ず規約で、大丈夫かどうかを確認した上で変換してください。
2.VRM用に調整したあとにExport
VRChatのモデルをVRMモデル化する場合と、やり方は基本的に同様でした。
https://keiki002.com/vr/unity-vrm/
上記のチュートリアルどおりで問題なくできます。
マテリアル・シェーダーの設定が特に重要です。
これがVRM>MToonとかを選んでないとちゃんとしたマテリアルデータになりません。マテリアルを全部選んで、MToonを選んでも問題ないです。
テクスチャが半透明の場合は、VRM> UniteTransparentを選ぶと変換時に半透明になります。
設定の方法は、上記のリンクで確認してください。
3.UniVRMを通じて、VRMファイルとしてExport
ファイルが.vrmとして書き出せれば成功です。
4.UE4に変換したVRMファイルを持ち込む
ExportしたファイルをUE4にドラッグアンドドロップすることで、VRM4Uで読み込むことができるようになるため、VRMとして持ち込むことができます。
これで、他のVRMモデルと同様にVRM4Uの機能を使って扱えるようになります。
VRM4Uの各種設定については、公式を確認してください。
https://ruyo.github.io/VRM4U/
アニメーショ設定を行った状態が下記になります。
さらに髪の毛を風に揺らせるとこんな感じになります。
■VRM変換MMDに表情をつける
それでは、表情を付けていきましょう。
以下、MMDをVRM化して、表情をつけて、髪の毛を揺らしたりする方法も簡単にご紹介しておきます。記事を書いた際の最新のVRM4Uの20200325を使っていますので、まだ、今後変更が入るかもしれません。
表情をつける際の注意点として、
MorphTarget機能のみ、VRMとMMD由来のVRMとは別項目になっています。MMD由来VRMの表情を変える場合は、DetailのVRM用のVRMMorph Weightの下にあるMorph Weightのパラメータを調整することで設定できます。
■髪の毛を揺らす
髪の毛を揺らすには、BP_SpringBoneUtilを使います。1)これをレベル上に配置し、2)Target Actorを選択、3)揺らせたいボーンを設定します。
揺らせたい髪の毛のボーンは、アニメーションで確認できます。髪の毛の一番、子構造が連なる親のボーン名をコピーして、3)にペーストしてやります。
設定後に必ず 「Generate Spring Param」を押すのを忘れないようにしてください。
■風を吹かす
風は「WindControl」を配置することで発生させることができるようになります。矢印が向いている方向が風向きで、ディフォルト内のパラメータで風の強弱やそのタイミングを制御します。
スカートも同様の処理で可能なのですが、2020年3月28日時点ではまだ正しく動作しません。今後のアップデート待ちです。
最後に
これまでMMDをUE4に元の映像の良さを生かした状態で、持ってくることは非常に難しかったと思います。VRM4Uを使って非常に美しいMMDをUE4上で表示できたときはなかなかの感動モノでした。UE4ならではの画質は、新しいVRMでの表現を可能にするもので、触っていてとても楽しいものです。
ぜひ皆さんも試してみてください。
VRMも、UE4も、MMDも、それぞれの可能性を大きく広げた、VRM4Uの作者のはるべえさんに感謝します。
一方で、VRMをMMDのダンスモーションをUE4に持ち込んで、VRMファイルに適応させる簡単な方法がないので、MMDダンスは、現時点では、ハードルが高いとは思われます。誰かいい方法があったら教えて下さい…。
MMDのダンスモーションなくて、普通にUE4用に販売されているダンスモーションの動作には、おかわりはくまいさんが成功されています。
ヒナちゃん持ってくる実験できました、ありがとうございました!
— おかわり はくまい (@OkawariHakumai) March 28, 2020
揺れ物のやり方で手間取って時間がかかってしまいましたが、慣れれば設定自体はさっくり行けそうですね。
あとは調整ですね。スカートと腰のコリジョン設定がうまくできてなく貫通しまくっちゃうので要研究です。 pic.twitter.com/Coaav3smF6