Hololens開發學習筆記-Gaze眼動跟蹤

簡介

Gaze顧名思義——凝視。也可以說眼動跟蹤,Hololens可以識別眼球注視的角度來發射出一條射線,來識別眼球所凝視到的物體,開啓Gaze之後會有個小圓點,原點觸碰到的物體會產生相應的事件。

配置

基礎的設置就不贅述了。

配置Mixed Reality Toolkit,菜單欄Mixed Reality Toolkit>AddToSenceAnd..把mrtk配置文件添加到項目中;

1、配置眼動跟蹤文件

Hierarchy中選擇Mixed Reality Toolkit,在Inspectors中點擊Copy&Custom;

繼續在Inspector中,inspector>向下的左側菜單Input>InputDatePorviders>WindowsMixedRealityEyeGazeDataProvide。Type設置爲Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input,Platform設置爲Windows Universal;

找到Clone,克隆當前配置文件,然後勾選Smooth Eye Tracking

2、添加模擬器支持(如果真機可忽略)

繼續在Inspector中

選擇Input>InputDateProviders>InputSimulationService,勾選上SimulateEyePosition;

至此眼動跟蹤配置完成

爲Cube添加眼動跟蹤

在hierarchy中新建一個Cube;

選中cube,在inspector中點擊AddComponent。搜索添加EyeTrackingTarger腳本;

在EyeTrackingTarger腳本中點擊whileLookingAtTarget下面的加號添加一個事件,將cube拖入到響應事件中,後面選擇MeshRender>Material material,然後拖入一個自定義的材質球;

在EyeTrackingTarger腳本中點擊OnLookAway下面的加號添加一個事件,將cube拖入到響應事件中,後面選擇MeshRender>Material material,然後拖入一個與上一步驟不同的自定義的材質球;

運行

基本的構建不在此贅述

file>buildSetting ,build項目

構建完成之後在VS中打開項目

重點來了!!!

直接從unity中構建出來的項目,在VS運動到Hololens中之後,眼動跟蹤是不支持的,也無法找到眼動跟蹤的光標,這個需要在VS中設置一下(此問題卡了我很久)。

VS中打開項目之後,解決方案資源管理器(SearchSolutionExplod...)>你的項目名稱(UnityData和ilcpp)>Package.appxmanifest;

方法1、雙擊打開Package.appxmanifest文件,選擇功能(Capabilities),找到“注視輸入”(GazeInput),勾選;如圖

方法2、找到你保存VS項目的文件夾,打開你項目名稱的文件夾找到Package.appxmanifest文件,單獨用vs打開此文件,在Capabilities文件夾下添加如下代碼    <DeviceCapability Name="gazeInput"/>

然後運行,即可在hololens真機中體驗眼動跟蹤功能了。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章