【UE5】Unreal Engine5とQuest2のハンドトラッキング

はじめに

OX ENGINEER STUDIOでクライアントエンジニアをしている林です。
本記事では、Unreal Engine5(以下UE5)でQuest2を使用してハンドトラッキングを実装する方法について記載します。
動作確認はQuest2で行いましたが、Quest3でも同様にハンドトラッキング出来ます。

目標

以下の動画のようにUE5でハンドトラッキングが可能になります。

事前準備

①:MetaXRプラグインのダウンロード

UE5でのQuest2のハンドトラッキングには、UE5向けのMetaXRプラグイン(以下MetaXR)が必要です。
Unreal Engine 5 Integration

MetaXRは、UE5のバージョンに合ったものを使用します。
例えば、投稿時点(2024/11/27)最新のMetaXRのバージョンは71.0ですが、これに対応するUEのバージョンは5.4.4です。
このMetaXRはUE5.1.1では使用できません。
また、2024/10/02にUE5.5がリリースされましたが、MetaXRはまだ対応していません。
以下にUEのバージョンに対応するMetaXRを記載します。

UE 5.1.1UnrealMetaXRPlugin.54.0
UE 5.2.1UnrealMetaXRPlugin.57.0
UE 5.3.2UnrealMetaXRPlugin.65.0
UE 5.4.4UnrealMetaXRPlugin.71.0

MetaXRをダウンロードしたら、<UE5のインストールフォルダ>\Engine\Plugins\Marketplace に解凍します。
(UE5.3の例: C:\Program Files\Epic Games\UE_5.3\Engine\Plugins\Marketplace)
Marketplaceフォルダが無い場合は作成します。

Marketplaceフォルダに、以下のようにMetaXRフォルダが配置されていればOKです。

②:UEプロジェクトにMetaXRを追加

次に、UE5のプロジェクトを作成し、 MetaXRを追加します。
バーチャルリアリティのテンプレートからプロジェクトを作成します。


MetaXRの追加方法は、UE5のバージョンによって異なります。

  • UE5.1.1、UE5.2.1、UE5.4.4
メニューの「編集」→「プラグイン」を開き、「インストール済」のタブからMetaXRにチェックし、プロジェクトを再起動します
  • UE5.3.2
メニューの「編集」→「プラグイン」を開き、「インストール済」のタブからMetaXRにチェックします
「ビルトイン」のタブから「OpenXR」「OpenXREyeTracer」「OpenXRHandTracking」のチェックを外し、プロジェクトを再起動します

プロジェクトを再起動すると、以下のような警告が出る場合があります。
「無視」または「ガイドラインを削除」を選んで問題ありません。


ここまで準備出来たら、1度VRプレビューでVR表示出来るか確認します。
UE5.3.2でVR表示できず、プレビューが以下のような画面になった場合は、プラグインの設定が誤っている可能性があります。

③:Quest Linkでのハンドトラッキングの有効化

Meta Quest Linkアプリで「開発者ランタイム機能」を有効にします

実装

VRPawnを開き、ハンドトラッキング用のコンポーネントを追加します。
コンポーネントの追加方法は、UE5のバージョンによって異なります。

  • UE5.1.1、UE5.2.1
左手
MotionControllerLeft に Oculus XRHand Componentを追加します
コンポーネントの名前は LeftOculusXRHand に変更します

LeftOculusXRHand の詳細→Hand Properties→Skeleton TypeとMesh Typeを Hand Left に変更します

MotionControllerLeft の下にある HandLeft の詳細→レンダリング→Visibleのチェックを外します
右手
MotionControllerRight に Oculus XRHand Componentを追加します
コンポーネントの名前は RightOculusXRHand に変更します
RightOculusXRHand の詳細→Hand Properties→Skeleton TypeとMesh Typeを Hand Right に変更します
MotionControllerRight の下にある HandRight の詳細→レンダリング→Visibleのチェックを外します
  • UE5.3.2、UE5.4.4
左手
MotionControllerLeftGrip に Oculus XRHand Componentを追加します
コンポーネントの名前は LeftOculusXRHand に変更します
LeftOculusXRHand の詳細→Hand Properties→Skeleton TypeとMesh Typeを Hand Left に変更します
MotionControllerLeftGrip の下にある HandLeft の詳細→レンダリング→Visibleのチェックを外します
MotionControllerLeftGrip の詳細→モーションコントローラー→ Motion Sourceを Left に変更します
右手
MotionControllerRightGrip に Oculus XRHand Componentを追加します
コンポーネントの名前は RightOculusXRHand に変更します
RightOculusXRHand の詳細→Hand Properties→Skeleton TypeとMesh Typeを Hand Right に変更します
MotionControllerRightGrip の下にある HandRight の詳細→レンダリング→Visibleのチェックを外します
MotionControllerRightGrip の詳細→モーションコントローラー→ Motion Sourceを Right に変更します

ここまでの変更が完了したら、ハンドトラッキングが可能になります。
コントローラーがアクティブだとハンドが表示されないので、動作確認する際はコントローラーに触らず、手をQuestの前にかざすとハンドトラッキングが認識されやすいです。

関連記事

  1. 【UE5】プロジェクトのビルドは通るのに、プラグイン単体のパッケージ化が通らない時

    2024-04-18

  2. 【UE5】MassAIで良く見る「Fragmentの複数追加」警告について(Fragment was added multiple time)

    2024-07-30

  3. 【UE5】VRoidの3DキャラクターをOculus Lipsyncでリップシンクさせる

    2024-06-28

  4. 技術ブログ開始のご挨拶

    2023-10-17

ABOUT

OX ENGINEER STUDIO

OX ENGINEER STUDIO並びにC&R CREATIVE STUDIOSの紹介サイトです。
本サイトでは、ゲーム開発や弊社スタジオに関する様々な情報を発信しています。

運営:
OX ENGEINEER STUDIO

所属:
C&R Creative Studios

カレンダー

2024年11月
 123
45678910
11121314151617
18192021222324
252627282930  
ページ上部へ戻る