はじめに
HTC社から販売されているHMD「ViveProEye」は視線をトラッキングしてその情報をゲームなどで使用することができます。
しかし、目の位置や動きには個人差があるため, 事前にキャリブレーション(校正)をおこなう必要があります。
これは基本的にはViveのメニュー上からおこなうのですが、スクリプトでもこれを開始することができるのでその方法を紹介します。
実行環境
- Unity 2019.4.4f1
- SteamVRPlugin 2.6.1 (sdk 1.13.10)
- ViveEyeTrackingSDK(SRanipal) v1.3.1.0
実装方法
以下のスクリプトのコンポーネントを任意のオブジェクトに追加します。
スペースキーを押したらキャリブレーションが始まるようにしています。
EyeCalibrator.cs
using System;
using UnityEngine;
using ViveSR.anipal.Eye;
public class EyeCalibrator : MonoBehaviour
{
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
SRanipal_Eye_API.LaunchEyeCalibration(IntPtr.Zero);
}
}
}
HTC社が配布しているEyeTracking対応デバイスのためのSDK「ViveEyeTrackingSDK(SRanipal)」が提供する
SRanipal_Eye_API.LaunchEyeCalibration(IntPtr.Zero)
を使用します。
これを使用することでViveのメニュー上から実行するのと同じ画面に切り替わり、キャリブレーションをおこなうことができます。
詳しくはSDKに同封されているリファレンスを確認してみてください
(バージョンによっては仕様が変わっている可能性があります。)