Unreal Engine4でMMDモデルを使ってみた(前編)
本記事でできること
・好きなMMDモデルを動かせる
・環境に依存せず必要なインポートデータが作れる(かも)
1.開発環境
Windows8.1 Pro
Unreal Engine 4.10.4
利用サンプルプロジェクト:Third Person
使用するもの |
・使いたいキャラクターのモデル(.pmx or .pmd) |
・使いたいモーションファイル(.vmd) |
・IM4U |
・MMD4Mecanim |
キャラクターのモデルは「Unity-Chan!」や「Tuneちゃん」など公式からも配布されていますが、本記事内容ではユーザによって作られたモデルをインポートして動かすことに重きをおいています。ニコニコ動画に投稿されている動画と共にモデルを配布されている方もいらっしゃるので、動かしたいと思ったら作者に迷惑の掛からない程度にお借りしましょう。
モーションファイルは「mmd 歩行モーション」で検索するといろいろヒットします。もちろんモデルと相性が悪いことも多々ありますので、その時は諦めて別のモーションファイルを探しましょう(今回は既にあるものだけで作っていきます)
※作者への感謝の気持ちを忘れずに
今回使用したモデルは下記書籍に収録されています。
今回使用したモーションは下記の通りです。ありがとうございました。
モーション名 | 作者 |
H57_SO_女の子走り速め_s2500_p20.vmd | susuki様 |
歩行モーション_おんな_ゆっくり.vmd | ノラ様 |
11.やったぁ.vmd | おかっち様 |
rea_stand.vmd | あー、とり様 |
2.Unreal Engine4でPMXファイルを読み込む
IM4Uというプラグインをプロジェクトに追加する。
作者:bm9様
MIT License
https://github.com/bm9/IM4U/tree/4.10.X
ダウンロードしたPluginsフォルダは下記ディレクトリのように配置して下さい。
プロジェクトを再起動して「編集→Plugins」からプラグインウィンドウを開いてEnabledにチェックが入っていることを確認してください。
これでUnreal Engineプロジェクトにpmxファイルをインポートできるようになったので、さっそくインポートしてみましょう。(コンテンツフォルダにpmxファイルをドラッグアンドドロップ)
この状態でもモデルデータを確認することができますが、モーションが付いていないのでAnimation BPで動きを制御することができません。もちろん、ここでインポートしたスケルトンを選択してVMDファイルをインポートすることは可能です。しかしながら、生成されたアニメーションシーケンスを開いてみると、たいてい期待したアニメーションをしてくれないと思います。下記リンクにあるようにアニメーションのリターゲットをする方法はありますが、なかなかハードなので今回はやりませんでした。
参考
アニメーション リターゲット(同じスケルトン)
アニメーション リターゲット(異なるスケルトン)
3.FBXファイルを作成する
本章で生成したFBXファイルをUnreal Engineにインポートしていきます。
まず下記ディレクトリのように、モデルデータとモーションデータを配置します。pmx2fbx.exeはMMD4Mecanimよりダウンロードしました。
pmx2fbx.exeを使うためにコマンドプロンプトを開きます。
ディレクトリ内でshift+右クリックをするとこのフォルダをカレントディレクトリとして開いてくれます。
コマンドを入力していきます。入力形式としては
となります。モーション名を複数指定することもできますが、失敗することがあるのでオススメしません。モデルに歩行モーションを付ける場合は下記になります。
正常終了すると下記出力結果となり、ディレクトリ内にfbxファイルが作られていることが確認できます。
なにやらfbxファイル以外にもいろいろファイルが作られていますが、この中で利用するファイルはクロエ・ルメール.fbxのみです。
それではクロエ・ルメール.fbxをUnreal Engineのコンテンツブラウザにドラッグアンドドロップしましょう。インポートオプションは下記のようにチェックを入れます。Import Morph Targetsについては必要であればチェックを入れて下さい。モーフを使わない場合はチェックの必要はないと思います。
インポート中…
インポートできました!!
あれ?
色が付いてない\(^o^)/
どうやらこの方法だとマテリアルの情報がうまく設定できないようです。
そこで、このマテリアルを「2.Unreal Engine4でPMXファイルを読み込む」で読み込んだモデルのマテリアルに変更していきます。M_数字と入力すれば出てくるので楽ですね。少し手間ですが、これさえやってしまえばあとはモーション付け放題です。
こうなります(^o^)
4.次回の内容
・キャラクターに好きなモーションをさせられる
・マテリアルの修正