概要
Vroid Studioにて作成したキャラクターをUE4に持っていく方法の自分用メモです。
自己流ですので、「もっとこうしたらいいよ!」というのがありましたら是非教えてください!
(一応プログラマなのでDCCツールは専門外ということで…)
要点としては、
- Unityを使用せずBlender経由でFBXに出力する。
- Maya(Maya LT)を経由してもブレンドシェイプ(表情)のデータを消失させない。
という感じです。
環境
- VRoid Studio v0.5.4-p1
- Unreal Engine 4.21.2
- Blender 2.79b
- Maya LT 2017
手順
1. VRoidStudioからVRMデータをエクスポートする
今回はテンプレートの「千駄ヶ谷 渋」ちゃんを使って説明していきます。
まずはVRoidStudioからモデルデータをVRM形式でエクスポートします。
これでVRM形式で保存されます。
2. BlenderでVRMをFBX形式にコンバートする
Blenderのアドオンを使用してVRMファイルをインポートします。
1. VRM_IMPORTERアドオンを導入する
下記リンク先よりVRM_IMPORTER_FOR_BLENDERをダウンロードする。
GitHub – VRM importer for blender2.79
GitHub – VRM importer for blender2.80
ダウンロードしたZIPファイルを解凍せずに、ファイル名を VRM_IMPORTER.zip にリネームする。
Blenderに戻って、ファイル -> ユーザー設定 から アドオンのタブを選択し、[ファイルからアドオンをインストール]を選択し、リネームしたZIPファイルをインストールする。
画面左のサポートレベル欄から[テスト中]を選択すると Import-Export:VRM_IMPORTER が表示されるので、チェックボックスにチェックをいれて[ユーザー設定の保存]を選択。
これでBlenderにVRMファイルをインポートできるようになります。
一度アドオンの設定をすれば以後はアドオンの更新がない限りは変更の必要はありません。
2. VRMファイルをインポートする
ファイル -> インポート -> VRM を選択し、先ほどVRoid StudioからエクスポートしたVRMファイルをインポートします。
モデルがインポートされました。
BlenderにVRMファイルをインポートした時点で、VRMファイルのあったフォルダにテクスチャデータが書き出されていますので確認しておいてください。
最低限VRoidのキャラクターをUE4に持っていきたいだけならば、このままBlenderからFBXエクスポートしてUE4にインポートすれば持っていくことが可能です。その際にはUE4インポート設定にて [Import Morph Targets] にチェックを忘れないようにしてください。
ここからは、私のVRoidデータの調整方法を自分用メモとして記載します。データ名や並び方を操作しやすいように修正したり、Mayaで編集するための手順など、完全に私の自己流ですので必ずこうしなければいけないというわけではありません…!
3. データを整理する
Blenderではブレンドシェイプのためのモーフターゲットのデータを整理していきます。
アウトライナから Face.baked を選択し、オブジェクトデータ(逆三角形のマーク)を選択、シェイプキーの中にあるブレンドシェイプ情報を修正していきます。
私の場合は、いつも下記表のようにブレンドシェイプの順番の並び替えをします。(手動めんどい!)
この順番はVRoid Studio上での表記順にならっており、後にMaya上でMELで名称を一括修正する際に並び順が重要になります。
なお、一番上の Basis を削除したり並べ替えないように注意してください。Basisは一番上のまま!
名称 | VRoidStudioでの名称 | |
Basis | ||
Face.M_F00_000_Fcl_ALL_Fun | 基本セット | 楽しい |
Face.M_F00_000_Fcl_ALL_Sorrow | 基本セット | 悲しい |
Face.M_F00_000_Fcl_ALL_Angry | 基本セット | 怒り |
Face.M_F00_000_Fcl_ALL_Joy | 基本セット | 喜び |
Face.M_F00_000_Fcl_ALL_Surprised | 基本セット | 驚き |
Face.M_F00_000_Fcl_BRW_Fun | 眉 | 楽しい |
Face.M_F00_000_Fcl_BRW_Sorrow | 眉 | 悲しい |
Face.M_F00_000_Fcl_BRW_Angry | 眉 | 怒り |
Face.M_F00_000_Fcl_BRW_Joy | 眉 | 喜び |
Face.M_F00_000_Fcl_BRW_Surprised | 眉 | 驚き |
Face.M_F00_000_Fcl_EYE_Close | 目 | 閉じ |
Face.M_F00_000_Fcl_EYE_Close_R | 目 | 閉じ(右) |
Face.M_F00_000_Fcl_EYE_Close_L | 目 | 閉じ(左) |
Face.M_F00_000_Fcl_EYE_Joy | 目 | 喜び閉じ |
Face.M_F00_000_Fcl_EYE_Joy_R | 目 | 喜び閉じ(右) |
Face.M_F00_000_Fcl_EYE_Joy_L | 目 | 喜び閉じ(左) |
Face.M_F00_000_Fcl_EYE_Angry | 目 | 怒り |
Face.M_F00_000_Fcl_EYE_Sorrow | 目 | 悲しい |
Face.M_F00_000_Fcl_EYE_Surprised | 目 | 驚き |
Face.M_F00_000_Fcl_MTH_Neutral | 口 | 通常 |
Face.M_F00_000_Fcl_MTH_Up | 口 | 上げる |
Face.M_F00_000_Fcl_MTH_Down | 口 | 下げる |
Face.M_F00_000_Fcl_MTH_A | 口 | あ |
Face.M_F00_000_Fcl_MTH_I | 口 | い |
Face.M_F00_000_Fcl_MTH_U | 口 | う |
Face.M_F00_000_Fcl_MTH_E | 口 | え |
Face.M_F00_000_Fcl_MTH_O | 口 | お |
Face.M_F00_000_Fcl_MTH_Angry | 口 | 怒り |
Face.M_F00_000_Fcl_MTH_Fun | 口 | 楽しい |
Face.M_F00_000_Fcl_MTH_Joy | 口 | 喜び |
Face.M_F00_000_Fcl_MTH_Sorrow | 口 | 悲しい |
Face.M_F00_000_Fcl_MTH_Surprised | 口 | 驚き |
Face.M_F00_000_Fcl_HA_Fung1 | 歯 | 牙1 |
Face.M_F00_000_Fcl_HA_Fung1_Up | 歯 | 牙1(上顎) |
Face.M_F00_000_Fcl_HA_Fung1_Low | 歯 | 牙1(下顎) |
Face.M_F00_000_Fcl_HA_Fung2 | 歯 | 牙2 |
Face.M_F00_000_Fcl_HA_Fung2_Up | 歯 | 牙2(上顎) |
Face.M_F00_000_Fcl_HA_Fung2_Low | 歯 | 牙2(下顎) |
EyeExtra.M_F00_000_EyeExtra_On | 目 | エクストラ |
Face.M_F00_000_Fcl_EYE_Natural | 目 | 通常 |
Face.M_F00_000_Fcl_EYE_Extra | 目 | 狐目 |
4. FBXファイルにエクスポートする
ファイル -> エクスポート -> FBX を選択してモデルをFBX形式でエクスポートします。
エクスポート時のオプション設定はデフォルトのままで問題ありません。
(この後Mayaを経由する前提で書いています。Mayaを経由せずにUE4に持っていく場合は、不要なデータを含まないようにオプションを設定するのがよいと思います)
3. Maya LTでデータを調整する
「Blenderでモデルデータ修正は完結するからMayaは使わん!」という方はここからは不要です。
後述しますがMayaを経由してUE4にインポートするとブレンドシェイプが消失する症状がありますので、その回避策を記述しています。とはいえ自分はMayaに疎いので間違っている箇所があったら優しく教えてください…。
1. Blenderから出力されたFBXファイルをMayaにインポートする
- 作業用のプロジェクトを作成しておく
- 設定を確認する
プリファレンス-> 設定 -> リニア が センチメートル になっていることを確認。
グリッドオプションにて [長さと幅] を 120、[グリッドラインの間隔] を 50 に変更。
- FBXファイルをMayaにインポートする。
なんかワーニングが出てもよくわからないので放置!いろいろやばそうですが一応インポートできました。
2. 一旦FBX出力して再度インポートする
Mayaにインポートしたモデルデータは、その後FBXエクスポートしたものをUE4に取り込むと表情のブレンドシェイプデータが破綻してしまうという症状が発生します。
この症状を修復するために、以下の手順を踏みます。
- モデルデータの3つのメッシュをグループ化する
- 一旦FBXエクスポートする
エクスポート時は [ゲームエクスポータ] がおすすめ。
オプションはデフォルトのままでOK。 - エクスポートしたFBXファイルを再度Mayaにインポートする
新規シーンで開始してからインポートすること。(最初にFBXを読み込んだ際のマテリアルが残っていて重複してしまうため)
このように、一度メッシュをグループ化してFBXエクスポートしたものを再度インポートすることで、以後エクスポートしたFBXは、UE4にインポートしてもブレンドシェイプのモーフターゲットが破綻しないようになります。
一旦まとめ
Mayaでのデータ整理も書きたかったのですが記事が長くなってきたので一旦ここまでとします。需要があれば他にも VRoid x UE4 の記事を書いていこうと思います。(iPhoneXでフェイシャルとかPerceptionNeuronでモーキャプとかAllrightRigでアニメーション制作とか…)
それと、VRoidはまだまだ更新がされていますので、この記事の方法が古くなる可能性があります。出来るだけ更新を追うようにしますが、不都合がありましてもご容赦ください。
最近のコメント