Unity用Movement SDKのアイトラッキング
更新日時: 2025/05/31
アイトラッキングテクノロジーは目の動きを検出し、ユーザーの目の動きに合わせてアバターの目の変化を制御します。Meta Quest Proヘッドセットは、
OVREyeGazeスクリプトを使用して、この機能をサポートしている唯一のデバイスです。
注: Meta XR機能を初めて利用する場合は、Meta XR SDK向けのUnity拡張機能である
ビルディングブロックを使うことをおすすめします。これにより、プロジェクトへの機能の追加にかかる時間を短縮できます。
OVREyeGaze MonoBehaviourコンポーネントは、アイトラッキングや視線の情報を提供します。トラッキングスペースのOVRPluginから目のポーズ情報を取得します。
OVREyeGazeコンポーネントをGameObjectに追加すると、目をシミュレートすることができ、実際の人の目の動きに合わせて目の位置や向きを変えます。このコンポーネントにより、現実的なキャラクターやスタイル化されたキャラクターの表情がより豊かになります。また、レイキャストを使ってシーン内のオブジェクトを選択することができます。必要なアイトラッキングのアクセス許可を設定していない場合、トラッキングは行われません。
アイトラッキングAPIを使用するには、
Oculus SDKライセンス契約、
開発者データ利用ポリシー、ならびに適用されるすべてのOculusおよびMetaのポリシーと利用規約に従う必要があります。Movementの使用には、適用されるプライバシーおよびデータ保護法が適用される場合があります。
特に、アイトラッキングAPIによるデータの収集、使用、保持、および処理について明確に説明しているプライバシーポリシーを、一般公開で容易に閲覧できる状態で掲載し、それに準拠する必要があります。プライバシーとデータ保護について適用される法律により求められているものも含め、抽象化された視線データを収集する前に、そのようなデータへのアクセスおよび使用に関する明確で包括的な情報をユーザーに提供し、ユーザーの同意を得ておかなければなりません。
アイトラッキングAPIの利用が当社のポリシーに準拠しているかを確認するため、その利用状況を監視する権利を弊社が留保していることに注意してください。
ユーザーがアプリでアイトラッキングをオンにすると、そのアプリには、リアルタイムの抽象化視線データへのアクセス許可が付与されます。このデータは、
開発者データの使用ポリシーの下でのユーザーデータです。このデータを
データ使用の禁止事項に使うことは明示的に禁止されています。アイトラッキング機能は、MetaのアイトラッキングAPIテクノロジーを利用しています。
このセクションを完了すると、開発者は以下のことができるようになります。
アイトラッキングをサポートする新プロジェクトを設定する。
アイトラッキングをサポートするキャラクターを有効にする。
アイトラッキングをサポートするプロジェクトを設定する
プロジェクトをVR用に設定した後、以下の手順に従ってください。
- シーンにOVRCameraRig prefabがあることを確認します。このprefabは
Packages/com.meta.xr.sdk.core/Prefabs/OVRCameraRig.prefabにあります。 - [Hierarchy (階層)]でOVRCameraRigオブジェクトを選択します。インスペクターで、OVRManagerコンポーネントに移動します。
- [Target Devices (ターゲットデバイス)]を選択します。
- 下にスクロールして、[Quest Features (Questの機能)] > [General (一般)]に進みます。
- ジェスチャーコントロールを使う場合は、[Hand Tracking Support (ジェスチャーコントロールのサポート)]で[Controllers and Hands (コントローラーと手)]を選択します。
- [General (一般)]で、[Eye Tracking Support (アイトラッキングサポート)]を[Supported (サポート対象)]または[Required (必須)]に設定します。アプリでアイトラッキングが任意の場合は[Supported (サポート対象)]を選択し、、アプリがその機能なしでは動作しない場合は[Required (必須)]を選択します。このビューが表示されない場合は、[General (一般)]をクリックしてください。
- OVRManagerで、[Permissions Request On Startup (起動時のアクセス許可リクエスト)]の下の[Eye Tracking (アイトラッキング)]を選択します。
- フェイストラッキング、アイトラッキング、またはジェスチャーコントロールに依存しているプロジェクトの場合、HMD上でこれらが有効になっていることを確認する必要があります。通常これはデバイスの設定の一部ですが、[Settings (設定)] > [Movement Tracking (動きのトラッキング)]をクリックして、この設定を確認したり変更したりすることができます。
- プロジェクト設定ツールによって診断された問題があれば、それらを修正します。Unityのメニューで[Edit (編集)] > [Project Settings (プロジェクト設定)] > [Meta XR]に移動して、プロジェクト設定ツールにアクセスします。
- プラットフォームを選択します。
- 問題がある場合は、[Fix All (すべて修正)]を選択します。詳しくは、プロジェクト設定ツールの使用をご覧ください。
フェイストラッキングを適用するキャラクターを設定する
- キャラクターの眼球を表すGameObjectを選択します。
OVREyeGazeコンポーネントをそれに追加します。- コンポーネントの基準フレームを設定し、目(左または右)を指定し、信頼性しきい値を設定します。
- [Apply Rotation (回転を適用する)]を有効にして、目のGameObjectが対応する目をトラッキングするのに合わせてリアルタイムで回転するようにします。[Apply Position (位置を適用する)]を有効にして、位置調整を許可することもできます。
このコンポーネントが正しく機能するには、ワールドスペースの向きの基準フレームが必要です。通常これは目の前方の向きに合わせられ、これを基準にして目のGameObjectの初期オフセットが計算されます。
主な属性には、
[Confidence Threshold (信頼性しきい値)]と
[Tracking Mode (トラッキングモード)]があります。アイトラッキングデータが設定された信頼性しきい値よりも低い場合、
OVREyeGazeはそのデータをGameObjectに適用しません。
トラッキングモードには、次のものがあります。
- World Space (ワールドスペース): 目のポーズをトラッキングからワールドスペースに変換します。
- Head Space (ヘッドスペース): 目のポーズをトラッキングからVRカメラリグを基準にしたローカルスペースに変換します。
- Tracking Space (トラッキングスペース): VRトラッキングスペースの生のポーズデータを使用します。
アイトラッキングに矯正を適用する必要がありますか?いいえ、通常矯正は不要です。ただし、精度を上げるために、Meta Quest Pro OSからの較正が必要になる場合もあります。
これは現実的なキャラクターやスタイル化されたキャラクターでどのように機能しますか?OVREyeGazeは、どんなキャラクターの目にもアニメーションを付けることができます。目が大きいスタイル化されたキャラクターの目の動きはより顕著に表れる場合があります。
アイトラッキングはMeta Quest ProとMeta Questの両方で使えますか?現在、Quest Proのみがアイトラッキングに対応しています。
アイトラッキングを使って、特定のシーンエリアを目立たせることはできますか?はい、目の前方の向きに合わせて動くレイキャストを使って、目的のエリアをハイライトすることができます。
ユーザーがアイトラッキングアクセス許可を拒否した場合はどうなりますか?アクセス許可が付与されない場合、
OVREyeGazeは目をコントロールしません。
アイトラッキングは信頼性の値を提供しますか?はい、
OVREyeGazeには
[Confidence (信頼性)]フィールドが含まれています。その範囲は0~1で、値が高くなるほど信頼性が高いことを示しています。