【ViveProEye】SRanipal_Eyeから目の位置の生データを取り出そう【公式SDK】
前回の記事では、公式SDKで視線追跡を実際に動作させることが出来ました。
さて、しかしこれはスタートラインに立っただけで、この後どうすればいいかの情報が、とても少なく、訳分からないわけでして( ˘•ω•˘ )
そもそも眼の動きをトラッキングして…どういう形で記録できるんですかね…?
と、いうことで
今回はそれぞれの眼の、位置情報を取り出すことを試みます('ω')
まずは情報を整理
Vive SRanipal SDK 公式フォーラムを見てみると
既に同じように【眼球の位置情報】を取得したい質問者が…|д゚)
しかも、大体の目星をつけてる!すっごーい!C#が得意なフレンズなんだね!
htcの人が解答してくれていますが、以前の似た解答のリンクのページ・・・なぜか削除されてる!!( ;∀;)
とりあえず、ここに載ってた関数を使ってみましょう!
眼の位置情報を取るGetPupilPosition()
使う関数はEye.SRanipal_Eyeスクリプト、423行目の関数GetPupilPositionです。
関数名が『得る・瞳・位置』ってことでなんかそれっぽい(゚∀゚)
中身を見てみると、引数としてeye、positionを入力すると2次元の数値が得られる様子。
説明を見ると、
・出力される二次元座標はx,yそれぞれ、-1 ~ +1の変域
・原点(0,0)は正面を向いている状態
・(-1,-1)が左下を向いていて、(1,1)が右上を向いている状態
…らしい(。-`ω-)
スクリプトとしては、
アイトラッキングがONかを確認
⇒どっちの眼を引数に入れたかを確認
⇒指定の眼のデータを変数positionに第二引数として出力
フォーラムの人は「頑張っても-0.5~0.5の範囲になっちゃうんだけど!?」
とか書いてますね(*'ω'*)シゴトハヤイ
取得できる目の座標データとやらを確認してみる
ではでは、この関数を実際に使ってみますか…(・o・)
新しいスクリプトを作って…(今回はUmeEye.csとしました)
⇓
他のスクリプトと同じようにnamespaceでくくって…
⇓
出力用のVector2を定義して…
⇓
関数GetPupilPositionを使用! ※面倒だから左目だけ(゚∀゚)
そして確認できるようにログを設定!
完成!(*'ω'*)
そして実行!
イエーイ!(∩´∀`)∩
これでまた一つ取れるデータが増えました!
あとは何が取れれば便利だろうか…(。-`ω-)
ってことで、まだまだ続きます。どうぞよしなに。