夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

EyeTrackingDemo-05-Visualizer  ~MixedRealityToolkitExamplesを触ってみる。 その③ ヒートマップの仕組み

本日はMRTKのExamplesの勉強枠です。

HoloLens 2ではEyeTrackingが使えるようになり、ユーザーの虹彩認証や、目線の追尾が可能です。

[EyeTrackingDemo-05-Visualizer]シーンは目線データの可視化を行うことができます。

〇ヒートマップの仕組み

[EyeTrackingDemo-05-Visualizer]シーンではユーザーの目線が当たり続けた場所が赤く変色していくヒートマップが提供されています。

f:id:Holomoto-Sumire:20210125185639j:plain

リアルタイムで描画される[Live Eye Gaze Heatmap]と一度録画して後から再生する[Record and Replay Eye Gaze Data]がありますが今回はヒートマップの仕組みを学ぶために[Live Eye Gaze Heatmap]をかみ砕いていきます。

f:id:Holomoto-Sumire:20210125184652j:plain

[Live Eye Gaze Heatmap]には子オブジェクトに[Slate_Content]がアタッチされており、これが実際にヒートマップが描画されるプレーンになります。

f:id:Holomoto-Sumire:20210125185110j:plain

[Slate_Content]オブジェクトのinspectorウィンドウを見ると視線に対するリアクションを扱う[EyeTrackingTarget]コンポーネントに加え[DrawOnTexture]コンポーネントがアタッチされています。 これが視線が当たっている点を塗りつぶすコンポーネントになります。

f:id:Holomoto-Sumire:20210125185259j:plain

実行中にメッシュに視線が当たると[MeshRendere]のマテリアルに二つ目のマテリアルが設定され、塗りつぶしを行います。

f:id:Holomoto-Sumire:20210125185828j:plain

この際[DrawOnTexture]コンポーネントの[Heatmap Look Up Table]に指定されてた画像に合わせて[Draw Size]で指定された量のピクセル単位で塗りつぶしが行われています。

f:id:Holomoto-Sumire:20210125185958j:plain

次回はこの[DrawOnTexture]コンポーネントの深読みを行います。