うめ研究生のVR開発記

ViveProEyeをUnityで開発したい大学院生です('ω')公式VIVEアンバサダー1期生

【ViveProEye】Unity用SDKで眼球運動の情報を数値で取りだす方法【C#】

はい、前回の記事の続きです。

 

umehashi.hatenablog.com

 

ViveのYouTube Liveがありまして、SDKの情報もあるということで、

こちらを拝見させていただきました。

www.youtube.com

そして前回のgaze_direction_normalizedのベクトルの件を、質問で拾っていただけましたので、回答を待ちたいと思います(。-`ω-)

 

 

さて、前回の残りは4つ

・目の開き具合 済

・視線の方向ベクトル 済

・視線の起点座標

・瞳孔径

・瞳孔の位置座標

輻輳距離

 

…ということで視線の起点の座標データからいきましょう(*'ω'*)

 

視線の起点の座標、gaze_origin_mm

これは開発者フォーラムを見ても、はっきりとした回答が分からないので、自分の予想込みの情報になります。

 

f:id:umehashi:20190813174215p:plain

 

Cornea(角膜)が瞳孔を覆っているのが分かりますね。

この盛り上がっている部分の中心を、視線の起点の座標としている…らしい(フォーラム眺めた感じ)

 

Gaze Origin(Center of Cornea Sphere)って書いてあるし…( ˘•ω•˘ )

forum.vive.com

 

【使い方】

Vector3 ume = eyeData.verbose_data.left.gaze_origin_mm;

 

これもなぜかSystemOriginが原点座標になってる…ぽい?※フォーラムの画像参照

 

公式のドキュメントに【単位はメートルマイル】

f:id:umehashi:20190813175351p:plainf:id:umehashi:20190813175348p:plain

Wikipedia

 

絶対ミリメートルだと思うんですけどHTCさん…( ˘•ω•˘ )?

 

【2019/09/03追記】

公式曰く、誤表記で、ミリメートルということです。

 

あと、これも右手座標系なので気を付けてください。

f:id:umehashi:20190813144721p:plain

 

 

瞳孔径を計測、pupil_diameter_mm

瞳孔径を取ってグラフ化・ビジュアル化してるこの個人開発者さんの動画がすごいので、見てみることをお勧めします。

www.youtube.com

 

ちゃんと明るいときと、暗いときで大きさが変わってるんですね(*'ω'*)

 

【使い方】

float ume = eyeData.verbose_data.left.pupil_diameter_mm;

直径で出力されます

公式は、これも単位がメートルマイルって書いてますけど…ミリメートルよね?

 

瞳孔の位置座標、pupil_position_in_sensor_area

視線の起点とは違い、こちらは2次元の座標です。

使い道が思い浮かびませんが…うーん('ω')

Vtuberさんの眼の動きとか、もしかしてこっちの変数なのかしら?

 

【使い方】

Vector2 ume = eyedata.verbose_data.left.pupil_position_in_sensor_area;

x,yがそれぞれ正規化されて、0~1の値で出力されます。

 

輻輳距離(未実装?)、convergence_distance_mm

これは、両目の情報を使って、焦点距離輻輳距離)

簡単に言えば見ている物体までの距離を測れる・・・はずなのですが

forum.vive.com

 

他の開発者さんが疑問に思っている通り、まだ中身は未実装らしいです。

一応、箱だけあるので置いておきますね。

【使い方】

float ume = eyeData.verbose_data.combined.convergence_distance_mm;

未実装

 

これが、左目・右目・両目に適用した結果のまとめです。参考までに。

両目で瞳孔の位置などは、形としては取れるけど数値は0みたいな箇所もあったり。

f:id:umehashi:20190813182614p:plain

 

追記2020/04/03

ソースコードをアップロードしました。

github.com

 

 

開発仲間0人状態ですので何卒Twitterもよろしくお願いします( ;∀;)

twitter.com

 

どうぞ良しなに