MMDモデルをUE5で躍らせよう!
こんにちは、普段Unreal Engineを使用して作品作りをしているuruoruです。今回はMMDモデルをUnreal Engineに動かす方法を解説していきます。
2024/3/24更新。
1.使用するソフト
MMDモデルをUnreal Engineに持っていくにあたっては様々な方法が存在しますが、ここではBlenderとUnreal Engineのみで持っていく方法を解説します。
使用するソフトは以下の通りです。
- Unreal Engine5
- Blender(v.3.6LTS)
- PMXEditor
ただし、Blenderは素の状態ではMMDモデルの規格である.pmxと、モーション規格である.vmdが読み込めないので、MMDToolsというアドオンを導入する必要があります。
Unreal Engineに関してはバージョン5.3でやっていますが、5.0.1および4.2.7でも動くことを確認しています。
PMXEditorはモデルの詳細情報を読み取ることができるソフトです。Blenderでもモデルの各マテリアルの依存関係を見ることはできるのですが、まれに対応していないマテリアルも出ることがあったりもするのでこのソフトを使用することをお勧めします。
2.導入までの流れ
1.MMDToolsの導入
MMDToolsの導入に関しては公式Wikiがあるのでそちらに詳しく載っていますが、簡単に説明するとZipファイルをGithubからダウンロードしてきて、解答せずにAddon機能を使用して、Installでぶち込めば完了です。詳しくは以下のサイトをご覧ください。
Blender公式
MMDTools公式(?)
2024/3/24現在MMDToolsはBlenderのver4.xに対応していないとのことですので、Blenderの3.6LTSが最新サポートになっています。将来的にはMMDToolsもver4.xに対応していくようです。ver4.xに導入できなくもないのですが、メッシュが適切に判定されなかったり、ボーンが読み込まれなかったりと安定には動作していないので、現状は3.6LTSを導入することをお勧めします。
2.モデルのダウンロード
MMDモデルをダウンロードしてきましょう。大概はniconico立体に配布先があったり、原神やHololiveなんかは公式サイトで配っています。
*モデルの利用規約にはほかのファイル形式への変換を禁止しているものもあるので、実際に行う前に利用規約を読んでください。
3.モーションのダウンロード
これに関してはニコニコ動画から、Browrollというサイトを経由して行う必要があります。(ほかの配布先もありますが、大半はBrowrollを経由してのダウンロードです)パスワードが必要な場合は、必ず動画の説明欄に書いてあるはずなので探しましょう。ただし、配布期間が過ぎているものも存在しますので、その時は潔くあきらめてほかのモーションを探したほうがいいと思います。
*モーションの利用規約にはほかのファイル形式への変換を禁止しているものもあるので、実際に行う前に利用規約を読んでください。
4.Blenderへインポート
まず最初にBlender上でFile→Import→MikuMikuDance Model(.pmx)を選択し、モデルをBlenderに取り込みます。
*この時、モデルを取り込んだらビューポートには一切操作をしないこと。モデルが全選択されていないと次のモーション読み込みで失敗します。
*初めにデフォルトのカメラやライト、Cubeなどは消しておくとよいでしょう。
5.モーションのインポートと物理の焼きこみ
次にFile→Import→MikuMikuDance Motion(.vmd)を選択し、ダウンロードして解凍したモーションをインポートします。この時、読み込むときの詳細設定でモーションのMarginを0にしておきましょう。この後の物理の焼きこみに影響するので、絶対にしておいてください。
この作業が終わったら次にキーボードのNを押して、Toolバーを開き、MMDタブを開きます。ここでは物理の焼きこみと呼ばれる作業を行います。この時点で再生してみればわかるのですが、服や揺れものなどが全く動かず、物理演算が全く働いていないことがすぐにわかるはずです。これはUnrealEngine上でも解決できないことはないのですが、ここで解決しておいた方が後々の作業が楽になる+シーケンサーでの作業が楽という側面があるので絶対にしておいてください。この物理演算を事前に行い、モーション内のボーンの動きに反映させることを物理の焼きこみといいます。
まず開いたAddonのMMDtoolsのツールバーでのVisibilityという機能で、Rigid bodyのみを選択してください。次に、AssemblyではPhysicsのみを選択してください。そして、ビューポートでマウスを使用してすべてのRigidbodyを選択してください。最後に、その状態でRigid bosy PhysicsでUpdateworldボタンをクリックし、Bakeを行ってください。これで物理の焼きこみは完成です。
6.FBXファイルにエクスポート→Unreal Engineに導入
物理演算がされているのを確認したらFile→Export→FBXを選択し、エクスポート画面でGeometoryのPointをFaceに変更しておいてください。そこを設定したらエクスポートし、そのファイルをUnrealEngineに取り込んでください。Import時の設定はSkeltonは選択なし、CreateMeshを選択、あとはそのままで大丈夫です。ImportしてSkeltalmeshを開くと、Rigidbodyにもマテリアルが割り当てられてしまっているので、新しいマテリアルでTransientに選択し、Opacityを0にした透明なマテリアルに変えてください。
7.PMXEditorでTextureを確認
PMXEditorに使用しているモデルを読み込ませて、材質と書かれているところを開いて、各マテリアルのテクスチャを確認しながらマテリアルを組んでください。
8.簡単なデモ
少し仮組ですがこのように動かすことができます。
少し前の無料配布アセットを使って。#MMD #GenshinImapct #原神 #UE5
— uruoru (@uruoruCG) 2022年12月19日
モデル:HOYOVERSE
モーション:粉吹きスティック
(敬称略) pic.twitter.com/s4mh6EEpVZ
3.さらなる深みへ
UnrealEngine上での見た目をよりアニメっぽくするには、以下のサイトを参考にしてみてください。
動的なアウトラインの生成+セルルックにもなるマテリアル:
Stylizedな見た目に近づけてくれるMaterialの作り方:
終わりに
いかがでしたか?少しでもお役に立てたのなら幸いです。もしよかったらTwitterのフォローをお願いします。
何か問題点等ありましたらDMのほうにご連絡ください。早急に対応させていただきます。