隨著VR/AR眼球追蹤技術(shù)的逐漸成熟,如何使用眼球追蹤技術(shù)為自己的VR/AR APP提升用戶體驗(yàn)已經(jīng)成為開發(fā)者的一大議題。 一般來說,眼控交互應(yīng)用開發(fā)是開發(fā)者的第一想法。 簡單來講,眼控交互開發(fā)的原理就是在開發(fā)引擎中,將視線范圍設(shè)置為一條射線狀或圓錐狀物體,和VR/AR中的各種Object進(jìn)行碰撞檢測,當(dāng)程序一旦檢測到碰撞,則視為用戶的視線落到了這個物體上,其基本原理對于開發(fā)者是很容易掌握的。
但是在與很多VR/AR開發(fā)者的交流中過程中,發(fā)現(xiàn)目前開發(fā)者對于眼控交互設(shè)計(jì)上依舊存在較多誤解。 下面說一下常見的一些設(shè)計(jì)問題:
碰撞檢測的范圍
視線與物體進(jìn)行碰撞檢測時,不要真的將視線視為一個無限細(xì)的射線進(jìn)行檢測,因?yàn)榛谀壳把矍蜃粉櫦夹g(shù),是無法做到100%準(zhǔn)確,會存在一定的誤差,雖然誤差值很小,但是為了避免這種誤差造成交互失誤,在進(jìn)行碰撞檢測時,視線一方的碰撞物體,一般需要設(shè)置一定的擴(kuò)展范圍,最好是將視線設(shè)置為一個圓錐形,這樣無論碰撞的距離是多少,其檢測范圍的半徑是不變的。
碰撞檢測并不等同于注視
檢測到視線物體的碰撞和用戶在注視這個物體并不是等同的。
人眼有兩種常見的運(yùn)動模式:眼跳和注視。 眼跳的速度非常快,而且人眼的視神經(jīng)經(jīng)常處于半關(guān)閉的狀態(tài),這時檢測到視線和物體的碰撞,產(chǎn)生交互是沒有必要的。視線落在某個物體上超過一定的時間才是注視,一般情況下要超過100ms,所以在交互設(shè)計(jì)中,一般需要通過一定的延遲判定才能認(rèn)為是注視。
圓圈代表注視(半徑越大,注視時間越長)線條代表眼跳
避免米達(dá)斯接觸
有些開發(fā)者曾問道:如何區(qū)別用戶是在觀察一個物體,而并不是想要觸發(fā)這個物體相應(yīng)的功能呢?
這是一個非常好的問題,在眼球追蹤技術(shù)有一個專有的名詞對問題進(jìn)行概括:米達(dá)斯接觸問題。
米達(dá)斯接觸
所謂米達(dá)斯接觸(MidasTouch)問題(米達(dá)斯是希臘神話中的一位能點(diǎn)石成金的國王)指的是由于用戶視線運(yùn)動的隨意性而造成計(jì)算機(jī)對用戶意圖識別的困難。用戶可能希望隨便看什么,并非存在目的和意義,更不希望每次轉(zhuǎn)移視線都可能引發(fā)一個動作。因此,視線跟蹤技術(shù)的挑戰(zhàn)之一就是避免“米達(dá)斯接觸”問題。
如果用戶只是選中激活(比如高亮、框選、變大變?。┯脩糇⒁暤奈矬w,米達(dá)斯接觸是不會產(chǎn)生什么副作用的,但是如果用戶注視的物體會觸發(fā)場景切換或功能設(shè)置上的變化。那么問題就隨之而來了: 你怎么知道用戶僅僅是在查看,還是想直接觸發(fā)它的功能呢? 為了解決這個問題,我們不會采用注視后馬上觸發(fā)的方式,因?yàn)檫@樣會不斷產(chǎn)生錯誤的操作。 一般會有下面的解決方法:
延遲觸發(fā)
在被觀察物體上,顯示一個不影響正常瀏覽的時間進(jìn)度條,當(dāng)進(jìn)度條完成設(shè)定時間的計(jì)時時,產(chǎn)生觸發(fā)行為。
二次眼控觸發(fā)
在被觀察物體旁邊,顯示“真正的”觸發(fā)元素,用戶余光可以看到,但不影響觀察主體。當(dāng)需要觸發(fā)時,看那個“真正的”觸發(fā)元素即可。
但是細(xì)心的讀者會發(fā)現(xiàn),這兩個方法依舊存在問題:延遲觸發(fā)要求用戶注意延遲進(jìn)度,而且這種操作容易引起眼睛的疲勞,而二次眼控觸發(fā)雖然在一定程度上可以避免誤觸發(fā),但是仍然有誤觸發(fā)的可能。
這就引出了下一個論點(diǎn):與其他輸入工具結(jié)合。
與其他輸入工具結(jié)合
只用眼睛進(jìn)行所有交互并不是最好的交互模式,結(jié)合其他輸入工具,如手柄、語音、手勢等,才是比較自然的,當(dāng)然,這里說的交互不包括選中激活的交互。 延遲觸發(fā)的確會引起用眼疲勞,但是這種模式也有它的適用場景,例如類似漸凍癥患者這種殘疾人群,除了眼睛,其他交互手段全部失效,這種模式就是最適合的。 當(dāng)然,不排除某些特定場合,除了眼睛其他交互手段都不適用,那也可以采用這種模式。
漸凍癥患者使用的輸入法界面,典型的延遲交互
在正常環(huán)境中,多重交互將會更自然。比如在一個菜單界面上,眼睛的運(yùn)動軌跡能夠反應(yīng)在菜單項(xiàng)中,使選項(xiàng)處于待激活狀態(tài),此狀態(tài)下不觸發(fā)場景切換或產(chǎn)生其他設(shè)置上的變化,這時可以搭配語音交互說出“確認(rèn)”或者通過某個特定手勢(比如:OK手勢),進(jìn)行激活狀態(tài),這種多重交互協(xié)作方式將會有效的避免了誤觸發(fā)。
用眼睛做瞄準(zhǔn)不是好的游戲交互模式
目前在VR游戲中,槍擊游戲是最常見的一種,所以很多開發(fā)者就會想到是否能用眼睛作為瞄準(zhǔn)工具。實(shí)際上,我們并不推薦大家將用眼睛做瞄準(zhǔn),因?yàn)檫@并不是一種好的游戲交互模式。 對于擁有這種想法的開發(fā)者,存在需要兩個必須想通問題: 游戲是想讓用戶彈無虛發(fā)永不失?。?還是想測試眼動廠家算法的準(zhǔn)確性?
不要用眼睛做過于精細(xì)化的選擇
前面有提到,眼球追蹤技術(shù)還做不到100%的準(zhǔn)確,與傳統(tǒng)桌面式交互中的鼠標(biāo)是不可同日而語的,所以在交互設(shè)計(jì)中,不要信心過頭,碰撞檢測的范圍不要過小,甚至可以設(shè)置一定的吸附算法,以防止用戶無法產(chǎn)生交互行為。 另外,多個可產(chǎn)生交互的元素之間,需要有一定的距離,防止由于距離過近,產(chǎn)生錯誤的交互。用戶本來看的是A,結(jié)果B開始進(jìn)行交互反應(yīng)了。 除了上面所說的常見問題,下面我們也給開發(fā)者一些常見的交互設(shè)計(jì)思路:
注視觸發(fā)滾動
比如上下排列的菜單,當(dāng)用戶注視落點(diǎn)比較靠近下方時,自動向上滾動,使用戶的視線處于最舒適的方向上,以提升用戶體驗(yàn)。左右排列的請自行思考。
局部變化
當(dāng)用戶注視某些特定元素時,可產(chǎn)生局部變化,如拉近、放大、變清晰、變亮等,而視線離開時,恢復(fù)原狀。比如在玩VR游戲時,全局地圖可以在周邊視野比較小的地方,避免影響正常游戲視線,但當(dāng)用戶注視它時,可以將地圖放大以便于用戶瀏覽,而當(dāng)用戶視線離開地圖回到主游戲場景時,地圖可以自動收回到原來比較小的區(qū)域。
目前,由七鑫易維、HTC和英偉達(dá)聯(lián)合舉行的眼球追蹤VR內(nèi)容開發(fā)大賽正在舉行中,有興趣可以參加報名。
-
交互
+關(guān)注
關(guān)注
1文章
72瀏覽量
15160 -
vr
+關(guān)注
關(guān)注
34文章
9675瀏覽量
152720 -
眼球追蹤技術(shù)
+關(guān)注
關(guān)注
1文章
16瀏覽量
14632
原文標(biāo)題:VR/AR眼控交互設(shè)計(jì)六大技巧
文章出處:【微信號:vrtuoluo,微信公眾號:VR陀螺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
在低功耗藍(lán)牙產(chǎn)品開發(fā)的過程中,會涉及到一些參數(shù)的選擇和設(shè)定,這些參數(shù)是什么意思,該如何設(shè)定呢?(藍(lán)牙廣播)
OBOO鷗柏丨AI數(shù)字人觸摸屏查詢觸控人臉識別語音交互一體機(jī)上市

Debian和Ubuntu哪個好一些?
在FX2LP USB上配置GPIF中斷時遇到一些問題,求解決
如何添加一些網(wǎng)絡(luò)上的庫到mpy固件的說明或手冊教程?
具身智能工業(yè)機(jī)器人人機(jī)交互設(shè)計(jì):重新定義人機(jī)協(xié)作新體驗(yàn)
樹莓派在自動化控制項(xiàng)目中的一些潛在應(yīng)用

收藏的一些庫存,直流無刷技術(shù)+源碼+論文(建議打包)
AN29-關(guān)于DC-DC轉(zhuǎn)換器的一些想法

信號完整性分析中的眼圖介紹

關(guān)于光耦合器的常見誤解

一些常見的動態(tài)電路

分享一些常見的電路

常見的內(nèi)網(wǎng)穿透工具對比
LED驅(qū)動器應(yīng)用的一些指南和技巧

評論