はじめに
この記事は・VIVE ・LeapMotion ・MetaQuest でハンドトラッキングをしようとした備忘録です。手探りのため一部間違いがある可能性があります。
前提知識
UE5よりUEでの基本的なVR開発にはOpenXRを使用します
ハンドトラッキングやパススルーといった機能は、OpenXRAPIを追加して使用できます(UEではプラグインという形)
OpenXR単体でもVRテンプレートにあるような操作は行えるますが、ハンドトラッキングやパススルーを行うにはそれぞれ機種ごとに独自のプラグインを追加する必要があります
MetaQuestのHandTrackingAPIとVIVEのHandTrackingAPIは同時に動作できません。
おすすめはOpen XR API Layers GUI をダウンロードして使いたいもの以外オフにしながら作業すること
OpenXR-API-Layers-GUI
VIVE
VIVE OpenXRプラグイン・OpenXRプラグイン・OpenXRHandTrackingプラグインが必要です
ダウンロード
ドキュメント
ハンドトラッキングチュートリアル
VIVE側の設定で、ハンドトラッキングを有効にする必要があります
フォーカスでハンドトラッキングをオンにする
基本的にサンプルマップは何もしなくてもハンドトラッキングが動作するようになっているので、動かなければAPIの競合などを疑ったほうがいいです
Meta
MetaXRプラグイン・OpenXRプラグイン・OpenXRHandTrackingプラグインが必要です
※5.3対応バージョンはVRPreviewができないなどの影響があるため、5.4以降での開発を推奨します
ダウンロード
チュートリアル
MetaQuestの設定でハンドトラッキング・ボディトラッキングをオンにする必要があります。
Meta Questでのジェスチャーコントロールとボディトラッキングについて
MetaQuestの開発者用アカウント・Quest Linkからの開発者用設定が必要です
基本的にチュートリアル通りで動くと思います。
Leap Motion
UltraLeap Trackingプラグインが必要です。
ダウンロード
※2025年3月17日現在Fab版が出されていないため、新規ではGitからしか取得不可
ドキュメント
別途Ultra Leapアプリケーションをインストールする必要があります。
ダウンロード
動かすためのコンテンツは基本的にプラグイン内に入っています
※Leapはアプリを起動していない間もHandTrackingを占拠し続けるので他のハンドトラッキングを使用する際は必ずオフにする必要がある
動かなかった原因一覧
APIの競合
Ultra Leapアプリケーションをインストールしていると、HandTrackingAPIが常にLeapに占拠されることになり、他のハンドトラッキングが一切動かなくなるので使用する際はGUIで必ずAPIを整理すること。
Steam VRバージョン
VIVE側でSteamVRのバージョンが古い・特定のバージョンと相性が悪いなどで動かないことがありました。(Beta版にするなどで解決
Runtime OpenXR
ランタイムのOpenXRが使用したいものと違うなどで動かない(特にMeta・VIVE)要注意