はじめに
本記事では UnrealEngineでアバターをモーションキャプチャで動かす方法 について紹介します!
カメラがあるだけでも手軽に始められますし、mocopi を使えば フルトラッキング でアバターを自由に動かせます✨
UnrealEngineでアバター(VRM形式)を動かすためのツールは、ありがたいことに 先人の方々 がたくさん開発してくださっています!
ただ、その活用方法が1つにまとまっておらず、私も最初は右往左往していました…。
なので、この記事で手順をまとめてみました!
🎉 UnrealEngine×アバターの楽しみ方は無限大! 🎉
- VTuberデビュー してみる
- 自分の思い通りの映像制作に挑戦
- お好きなポージングでアバターを愛でる
下記は私が今までUnrealEngineでアバターを動かして遊んでいた投稿です🎉
こういうことが簡単にできちゃいます!🌟
初心者の方でも再現できるように丁寧に解説を試みます!
Qiita初投稿なので、もし読みにくいところがあればごめんなさい💦
何かあればXかコメントで教えてもらえると嬉しいです💕
1. UnrealEngineをダウンロード
まずはUnrealEngineを以下のリンクからダウンロードしましょう👇
2. UnrealEngine 5.1.1をインストール
ダウンロードしたランチャーを起動し、UnrealEngine 5.1.1 をインストールします。
今回使用する神ツール様たちがUnrealEngine 5.1に対応しているため、最新バージョンではなく5.1を選択しています!
ツール作成者の方々に感謝しつつ、環境を整えましょう。
3. プロジェクトを作成
UnrealEngine 5.1.1を起動し、「Virtual Production」を選択してプロジェクトを作成します。
作成後、プロジェクトが立ち上がったら、一度「×」ボタンで閉じてください。
新規プロジェクトフォルダを作成するのが目的です。
他が良い方は「Virtual Production」以外でも問題ありません。
4. 必要なツールをダウンロード
ここで今回使用する 神ツール様 たちをダウンロードします!
これらのツールは、素晴らしい先人の皆さまが開発してくださっています。
本当に感謝しかありません🙏
下記に指定しているものを全てダウンロードしてください。
ツール一覧
-
VRM4U
VRM4U_5_1_20241213.zip
VRM4Uとは?
VRM形式のアバターをUnrealEngineで扱えるようにする超重要プラグインです!
開発者: はるべえ haru様
-
VMC4UE
VMC4UE_5_1.zip
VMC4UEとは?
モーションキャプチャデータをUnrealEngineに送るためのプラグインです!
これがあるからアバターを動かせる✨
開発者: はるく様
-
ueOSC
ueOSC_5_1.zip
ueOSCとは?
UnrealEngineに対してモーションデータをリアルタイムでやり取りするための便利なツールです!
開発者: はるく様
UniVRMとは?
UnityでVRM形式のアバターを扱うための必須ツールです!
後ほど使うので忘れずにダウンロードしてください。
開発者: こちらの皆様🙏
-
VRMMapExporter
VRMMapExporter.unitypackage
VRMMapExporterとは?
アバターをUnrealEngineで動かすための設定データ(VRMMap)を出力するツールです!
開発者: はるく様
5. ダウンロードしたツールをUnrealEngineのプロジェクトに追加
ダウンロードしたツールをUnrealEngineプロジェクトに追加します。
-
プロジェクトのフォルダを開く
UnrealEngineランチャーで、先ほど新規に作成したプロジェクトを右クリックし、「フォルダで開く」を選択します👇
-
解凍したツールを追加
以下の3つのツールを解凍し、それぞれの「Plugins」フォルダの内容をUnrealEngineの「Plugins」フォルダにコピーします。
注意:
UniVRMやVRMMapExporterはUnrealEngineの「Plugins」フォルダには追加しません!これらはUnityで使用します。
6. プラグインを有効化
作成したUnrealEngineプロジェクトをダブルクリックして立ち上げます。
上部メニューの「編集」から「プラグイン」をクリックしてください。
プラグインの有効化
以下の3つのプラグインをそれぞれ検索し、有効化してください。
すべてのプラグインを有効化したら、プロジェクトを保存し、再びプロジェクトごと閉じてください。
7. アバターの準備
次に、動かしたいアバターファイル(VRM形式)を用意します。
まだアバターを持っていない方は、VRoid Studio を使って簡単に作成することができます。
私自身もアバターの作成を受注しています!気になる方はこちらからどうぞ👇
https://minta.base.ec/items/87467982
8. 設定ファイル(VRMMap)の作成
ここでUnityを一時的に使用します。
Unityをまだインストールしていない方は、以下のリンクからダウンロードしてください👇
Unity ダウンロードページ
Unity 2022.3 LTS以降のバージョンをインストールして使用します。
Unityプロジェクトの作成
-
先ほどダウンロードした以下の2つのファイルをUnityプロジェクトにドラッグ&ドロップしてください。
VRMMapのエクスポート
-
エクスポートが成功すると、画面下部に「Export Successful」とともにフォルダパスが表示されます。
.vrmmapファイル が作成されているので、そのパスを控えておいてください。
Unityはもう閉じて大丈夫です。
補足:
他のアバターを動かしたい場合も、このUnityプロジェクトを再利用できるので保存しておくことをお勧めします。
9. UnrealEngineにアバターをインポート
UnrealEngineを再び立ち上げ、Unityで作成したVRMMapファイルをインポートします。
マテリアル設定
- アバターのインポート時に表示されるオプションで、Material Type を選択します。
個人的には「Subsurface」が好きですが、お好みの設定を選んでください!
VTuberぽいのはデフォルトの「MToon Unlit」だと思います。
残りの設定値はそのままで「Import」を押します。
10. UnrealEngineでアバターを動かす設定
次に、インポートしたアバターを動かす設定を行います。
アバターファイルの配置
-
アバターファイルインポート後、たくさんのファイルが生成されます。その中から「SKEL_」で始まるアバターファイルを探してください。
Animブループリントの作成
-
「○○_AnimBluePrint」という名前のファイルが作成されます。これをダブルクリックしてください。
補足:
ブループリントは、UnrealEngineでプログラミングができる便利なシステムです。
ノードを線でつなげるだけで簡単に設定できます!
VMC4UEのノードを追加
- Animブループリントを開くと、格子状のエディタ画面が表示されます。
そこで右クリックし、「VMC4UE」と検索してください。 - 以下の2つのノードを追加します。
VRMMappingの設定
ノードを接続
Portの設定
保存
最後に、左上の「保存」ボタンをクリックして設定を保存します。
これで、アバターを動かす準備が完了しました!
11. アバターを動かします!
やっとちょっと大変な設定が終わりました!あと一息です✨
ここでは、手軽にカメラだけで手の動き含め全身キャプチャができる 「Webcam Motion Capture」 を利用します。
補足:
「Webcam Motion Capture」 は有料版の契約が必要です!
無料で試したい方は「VSeeFace」がオススメです!
顔のトラッキングだけですが、無料で非常に優秀なツールです
(今回は詳細割愛します)。
Webcam Motion Captureのダウンロード
-
以下のリンクから Webcam Motion Capture をダウンロードしてください👇
Webcam Motion Capture ダウンロードページ
-
有料版(月額199円) を契約してください(執筆時点の価格です)。
Webcam Motion Captureの設定
UnrealEngineで連動
-
UnrealEngine側のブループリント画面に戻り、画面上部の「再生ボタン ▶」を押します。
UnrealEngineとWebcam Motion Captureが連動し、アバターが動き始めます!
-
ブループリント画面を「×」で閉じます。
アニメーション設定
- UnrealEngineメイン画面の「アウトライナー」部分で、先ほど追加した「SKEL_○○」を見つけて選択してください。
- 下部の詳細ウィンドウで「Animation」セクションを探し、AnimClass に先ほど作成した Animブループリント を設定します。
12. アバターをビューポート内で動かす
-
モーションキャプチャに合わせてアバターが可愛く動き始めました!!🎉
おめでとうございます!
(おまけ)アバターをよりリアルに動かしたい場合
私は、アバターを動かす際に「バーチャルモーションキャプチャー」をよく利用しています。
このツールを使うと、Webcam Motion Captureのモーション情報に加え、他の機器から取得したモーションデータもブレンドでき、さらにリッチな動きを再現可能です。
バーチャルモーションキャプチャーのダウンロード
- 以下のリンクから バーチャルモーションキャプチャー をダウンロードしてください👇
公式サイト
支援版はこちらから!
UnrealEngineで使用する場合は支援版を契約ください💗
VR配信するときにも使える超神ツールです⚡
開発者: あきら☎︎@VMC様
VMCプロトコルの設定
-
Webcam Motion Captureで指の動きを取得し、mocopiで全身の動きを取得する場合、以下のように VMCプロトコル のポート番号を複数設定します。
-
どのポートで身体のどの部分を制御したいかは適宜設定してください。
mocopiの細かい設定方法などはここでは割愛します。
-
最後に「OSCでモーション送信を有効にする」にチェックを入れて適用します。
これで、よりリッチな動きをUnrealEngineで再現可能です!
おわりに
いかがでしたでしょうか?
私自身、UnrealEngineは趣味で触っているだけなので、もっと効率的な方法があるかもしれません。
しかし、この手順は アバターをとにかく動かしたい! という執念で初心者ながら試行錯誤してたどり着いたものです。
ぜひ、自分のアバターをハイクオリティな空間で自由に動かしてみてください!
思いっきり愛でてあげましょう✨
もし何かわからないことがあれば、X(旧Twitter) で気軽にリプしてください!
拡散やフォローしていただけると喜んで懐きます🐾
本記事が皆さんのお役に立てれば幸いです!😊
ここまでお読みいただきありがとうございました!