見出し画像

Meta Quest Pro で アイトラッキングを試す

「Meta Quest Pro」 で アイトラッキングを試したのでまとめました。

・Meta Quest Pro
・Oculus Integration v46.0
・Unity 2021.3.10f1

1. アイトラッキング

ヘッドセットの内向きカメラによって、プレイヤーの視線を検出します。プレイヤーの視線は、UI選択などの入力信号や、他のプレイヤーとのアイコンタクトに利用することができます。

開発環境の準備

Oculus Questアプリと同様です。

3. 矢印の配置

視線方向を指し示す矢印を配置します。

(1) Hierarchyウィンドウに空のGameObjectを追加し、「Arrow」と名前指定。
(2) Arrowの子に3つの赤いCubeを配置し、矢印を表現。

4. アイトラッキングの追加

アイトラッキングの追加手順は、次のとおりです。

(1) Hierarchyウィンドウに空のGameObjectを追加し、「EyeGazeController」と名前指定。
(2) ゲームオブジェクト「EyeGazeController」に「OVREyeGaze」を追加。
「Tracking Mode」に「World Space」を指定します。

(3) ゲームオブジェクト「EyeGazeController」に新規スクリプト「EyeGazeController.cs」を追加。
ドラッグ&ドロップでArrowの参照も指定します。

・EyeGazeController.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EyeGazeController : MonoBehaviour
{
    public GameObject arrow;
    OVREyeGaze eyeGaze;

    // スタート時に呼ばれる
    void Start()
    {
        eyeGaze = GetComponent<OVREyeGaze>();
    }

    // フレーム更新毎に呼ばれる
    void Update()
    {
        if (eyeGaze == null) return;

        // アイトラッキングの有効時
        if (eyeGaze.EyeTrackingEnabled)
        {
            // 視線の同期
            arrow.transform.rotation = eyeGaze.transform.rotation;
        }
    }
}

「OVREyeGaze」のAPIリファレンスは、次のとおりです。

OVREyeGazeのAPIリファレンス

(4)  「OVRCameraRig」の「General → Eye Tracking Support」に「Required」を指定。

(5)  「OVRCameraRig」の「Permission Requests On Startup → Eye Tracking」をチェック。

5. アイトラッキングの実行 

アイトラッキングの実行手順は、次のとおりです。

(1) アクセス許可のダイアログが表示されるので、許可ボタンを押す。

(2) 視線と矢印が同期するのを確認。

6. 関連



いいなと思ったら応援しよう!