660 文字
3 分
Unreal Engine 5.4でVRMを動かす
VRM4U の有効化
VRM に Unreal Engine をインポートするために、VRM4Uを利用する。
VRM のインポートして動かす
今回は、UE のサードパーソンテンプレートのキャラクターを VRM モデルに置き換える方法を例に説明する。
VRM のインポート
- コンテンツドロワーを開いて、インポートする用のディレクトリを作成する。
- 作成したディレクトリに VRM ファイルをドラッグアンドドロップする。
- 表示されるインポートの設定画面が表示される。基本的に変更しなくて良い。
- ただし Material Type のデフォルトが MToon Unlit になっており陰影の計算がされないので、MToon Lit に変更した方が適していることが多いように思う。
- 問題なければインポートを押す。
アニメーションブループリントの作成
- インポートされたファイルの中からスケルタルメッシュを選択して右クリックを押す。
- “作成する”から、“Anim ブループリント”を選択する。
- 作成したアニメーションブループリントを開く。
- 表示された AnimeGraph の Result からドラッグして、Retarget pose from mesh を選択する。
- Retarget post from mesh を選択して、詳細にある IKRetarget Asset でインポートしたファイルの中にある IK リターゲッタを選択する。
- コンパイルと保存を行い、アニメーションブループリントを閉じる。
アニメーションを引き継がせる
- コンテンツドロワーから、All/Contents/ThirdPerson/Blueprints/BP_ThirdPerson を選択して開く。
- ビューポートを表示し、既存の CharacterMesh を選択した状態でコンポーネントの追加からスケルタルメッシュコンポーネントを追加する。
- 追加したスケルタルメッシュコンポーネントを選択した状態で、詳細タブのメッシュにインポートした VRM のスケルタルメッシュを設定する。VRM モデルが表示された状態になる。
- 詳細タブの Animation に作成したアニメーションブループリントを設定する。VRM モデルがポーズを取るようになる。
- コンポーネントから Mesh を選択して、詳細タブの最適化にある Visibility based anim tick option を Always Tick Pose and Refresh Bones に変更する。これをしないと VRM モデルがポーズを取らない。
- 元々あった Mesh は表示したくないので、レンダリングにある Visibility を False にする。
この状態で実行すると、元々表示されていたキャラクターの代わりにインポートした VRM モデルを操作できるようになっている。
Unreal Engine 5.4でVRMを動かす
https://blog.ohirunewani.com/posts/unreal-engine-import-vrm/