李 琳, 火凈澤, 吳小威, 杜劭勛
(1.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230601; 2.工業(yè)安全與應(yīng)急技術(shù)安徽省重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230601)
虛擬現(xiàn)實(shí)(virtual reality,VR)環(huán)境的硬件選擇與系統(tǒng)設(shè)計(jì)一直是人們關(guān)注的焦點(diǎn)。目前,VR顯示設(shè)備種類(lèi)主要有頭盔顯示器(head-mounted display,HMD)、3D立體眼鏡及CAVE(Cave Automatic Virtual Environment)沉浸式系統(tǒng)等[1]。由于VR環(huán)境中交互的場(chǎng)景是一個(gè)類(lèi)似于真實(shí)環(huán)境的三維空間,使用傳統(tǒng)的鼠標(biāo)、鍵盤(pán)等指點(diǎn)設(shè)備難以契合空間需求,因此自然的交互方式成為人們對(duì)VR應(yīng)用的主要研究熱點(diǎn)。
早期的VR交互設(shè)計(jì)思路主要分為虛擬手掌(virtual hand)[2]與虛擬指向(virtual pointing)[3]2類(lèi)。虛擬手掌是通過(guò)穿戴一個(gè)具有傳感器的手套實(shí)現(xiàn)VR中對(duì)手掌的實(shí)時(shí)同步;虛擬指向利用手持式設(shè)備,通過(guò)發(fā)出射線指向物體進(jìn)行交互。早期,由于虛擬手掌能夠準(zhǔn)確地反映現(xiàn)實(shí)中手部的動(dòng)作,交互既精確又自然,因而更受歡迎;隨著技術(shù)的發(fā)展,由于VR環(huán)境范圍的限制使得其無(wú)法與遠(yuǎn)處的物體進(jìn)行交互,其交互的速度也相對(duì)較慢。根據(jù)文獻(xiàn)[4]的研究,直接交互往往比用手遠(yuǎn)距離地與物體交互有著更好的表現(xiàn),因此,虛擬指向技術(shù)逐漸成為VR交互技術(shù)的研究主流之一。虛擬指向技術(shù)的典型代表是光線投射(ray-casting)[5],該技術(shù)解決了交互速度慢的問(wèn)題,且能夠與范圍外的物體進(jìn)行交互,但仍然存在一些缺陷。比如,當(dāng)VR場(chǎng)景中物體較為密集時(shí),其并不能精準(zhǔn)地選中目標(biāo);當(dāng)物體距離選擇位置較遠(yuǎn)時(shí),人手的抖動(dòng)會(huì)導(dǎo)致選擇精度降低;根據(jù)費(fèi)茨定律(Fitts’ Law)[6]可知,當(dāng)物體截面很小時(shí)交互時(shí)間會(huì)變長(zhǎng),遠(yuǎn)處的物體很難被選中。因此,光線投射方法只適用于一些特定的VR環(huán)境。
在HMD的VR環(huán)境下,文獻(xiàn)[7]提出了基于圓錐的投射技術(shù),利用迭代細(xì)化(iterative refinement)方式進(jìn)行場(chǎng)景物體選擇,該方案有效提高了距離外物體的選擇精度,然而用戶為了選擇一個(gè)距離外的物體不得不進(jìn)行多次位置跳轉(zhuǎn),這樣的交互方式并不友好;文獻(xiàn)[8]通過(guò)采用手柄代替虛擬手掌的方式進(jìn)行物體的交互;文獻(xiàn)[9]基于Google公司的Cardboard,通過(guò)使用一種可穿戴設(shè)備來(lái)識(shí)別用戶的手部移動(dòng)和手勢(shì),從而與物體進(jìn)行交互;文獻(xiàn)[10]提出了一種新的解決方案,該方案將智能手表模擬為虛擬手柄,通過(guò)對(duì)手表的操作使虛擬手柄發(fā)出射線,進(jìn)而與物體進(jìn)行交互;文獻(xiàn)[11]對(duì)漫游交互中耦合(coupled)、解耦(decoupled)及死區(qū)(dead zone)3種不同方案進(jìn)行比較,并對(duì)VR環(huán)境下的游戲控制方案進(jìn)行了評(píng)估。
在CAVE沉浸式系統(tǒng)等非HMD的VR環(huán)境下,文獻(xiàn)[12]在平板研究的基礎(chǔ)上進(jìn)行擴(kuò)展,通過(guò)給平板加上傳感器來(lái)追蹤平板的位置,利用平板作為第二視角與CAVE場(chǎng)景中的物體進(jìn)行交互,具體交互方式為:在平板前方綁定一個(gè)虛擬攝像機(jī),反映平板朝向的空間視圖;現(xiàn)實(shí)中平板上負(fù)責(zé)顯示虛擬相機(jī)捕捉到的內(nèi)容,平板同時(shí)擁有多個(gè)操作按鈕并且支持手勢(shì),從而使交互變得非常容易。該交互方式的速度與精度都很高,然而,這種直接操控現(xiàn)實(shí)中平板的方式不能在HMD VR環(huán)境下使用,原因是該環(huán)境下用戶并不能直接看到現(xiàn)實(shí)中平板上的內(nèi)容。
本文提出一種新的交互方案,將平板設(shè)備綁定在HMD環(huán)境下的定位手柄上,通過(guò)現(xiàn)實(shí)場(chǎng)景中的平面觸摸交互,實(shí)現(xiàn)對(duì)虛擬場(chǎng)景中平板的同步操控,進(jìn)而與VR場(chǎng)景中的物體交互,在確保交互速度、精度及范圍都處于較高平衡的前提下,提高交互的靈活性,增強(qiáng)用戶的交互體驗(yàn)。
為了讓設(shè)計(jì)方案能夠準(zhǔn)確、正常地工作,本文選擇的VR設(shè)備為應(yīng)用最廣泛的HTC Vive。HTC Vive定位器能夠?qū)崟r(shí)地定位手柄的位置與旋轉(zhuǎn)角度,筆者將平板設(shè)備固定在手柄上方,以達(dá)到實(shí)時(shí)捕捉平板位置和角度的目的。VR測(cè)試場(chǎng)景采用Unity3D結(jié)合SteamVR Plugin插件進(jìn)行開(kāi)發(fā)。通信軟件同時(shí)運(yùn)行在平板端和PC端,負(fù)責(zé)平板端和PC端的數(shù)據(jù)通信;同時(shí)在VR環(huán)境中添加1個(gè)虛擬平板(virtual tablet),通過(guò)位置更新與同步繪制使其與現(xiàn)實(shí)中的平板完全一致,增強(qiáng)用戶視覺(jué)與觸覺(jué)的同步感,從而實(shí)現(xiàn)操控現(xiàn)實(shí)中的平板與VR環(huán)境中的物體交互的功能?;谄桨逶O(shè)備的HMD系統(tǒng)環(huán)境示意圖如圖1所示。
圖1 基于平板設(shè)備的HMD系統(tǒng)的環(huán)境示意圖
本文交互方案軟件的核心功能由APP端和PC端組成,如圖2所示。
圖2 APP端和PC端系統(tǒng)的功能模塊說(shuō)明
APP端功能包括手勢(shì)識(shí)別、復(fù)位功能及通信模塊。
(1) 手勢(shì)識(shí)別。用戶可以在平板屏幕上單指滑動(dòng)來(lái)控制視角的移動(dòng);通過(guò)雙指在不同方向上滑動(dòng)來(lái)控制視角的縮放,改變與待交互物體的距離;通過(guò)點(diǎn)擊操作來(lái)選擇待交互的物體。
(2) 復(fù)位功能。為了加快選擇物體的速度和提高用戶使用體驗(yàn),用戶可以在選擇完畢后通過(guò)單擊平板上的按鈕來(lái)啟用此功能使視角快速返回到原點(diǎn)附近以便于快速選擇下一個(gè)待交互物體。
(3) 通信模塊。該模塊包含數(shù)據(jù)傳遞與事件傳遞,數(shù)據(jù)傳遞指在APP端的手勢(shì)識(shí)別數(shù)據(jù)和返回功能的監(jiān)測(cè)數(shù)據(jù)會(huì)以預(yù)定的格式發(fā)送到PC端,事件傳遞指APP端的物體交互等事件以預(yù)定的格式發(fā)送到PC端。
PC端功能包括虛擬平板、通信模塊和計(jì)時(shí)模塊:① 虛擬平板模塊是通過(guò)紋理渲染(render texture)技術(shù)生成虛擬平板,用戶對(duì)現(xiàn)實(shí)平板的操作都會(huì)實(shí)時(shí)同步到虛擬平板上,給用戶一種在虛擬場(chǎng)景中操作平板的真實(shí)感、沉浸感;② 通信模塊包含數(shù)據(jù)處理與事件響應(yīng)功能,數(shù)據(jù)處理是將APP端的數(shù)據(jù)經(jīng)處理傳到PC端,事件響應(yīng)負(fù)責(zé)同步響應(yīng)APP端的事件;③ 計(jì)時(shí)模塊用于測(cè)試時(shí)的計(jì)時(shí)操作。
由于在HTC Vive設(shè)備中擁有可自由定位的Vive手柄,本文在Vive手柄上綁定平板設(shè)備,并將原本在VR場(chǎng)景里顯示的Vive手柄模型替換為平板模型,實(shí)現(xiàn)平板在VR場(chǎng)景中的實(shí)時(shí)追蹤。相關(guān)效果如圖3所示,相關(guān)描述公式為:
圖3 虛實(shí)配準(zhǔn)效果
PosT(X,Y,Z)=PosH(X,Y,Z)
(1)
RotT(X,Y,Z)=RotH(X+30,Y,Z)
(2)
其中,PosT(X,Y,Z)、PosH(X,Y,Z)分別為虛擬平板和右手柄在Unity3D中的位置坐標(biāo);RotT(X,Y,Z)、RotH(X,Y,Z)分別為虛擬平板和右手柄在Unity3D中的方向。
PosH(X,Y,Z)與RotH(X,Y,Z)的每個(gè)參數(shù)初值均為0。
在真實(shí)平板與虛擬平板同步的基礎(chǔ)上,還需要在虛擬的平板模型上面實(shí)時(shí)地顯示出相關(guān)的場(chǎng)景畫(huà)面。本文使用一個(gè)選擇相機(jī)(select camera,SC)來(lái)實(shí)現(xiàn)現(xiàn)實(shí)與虛擬平板的畫(huà)面同步。SC不同于給用戶提供視野的主相機(jī)(main camera,MC),其拍攝到的畫(huà)面只會(huì)通過(guò)紋理渲染技術(shù)將該畫(huà)面渲染到平板模型的屏幕上。SC與MC是互相獨(dú)立的,對(duì)SC的操控并不會(huì)影響MC。SC的朝向設(shè)置為虛擬平板的正前方朝向,顯示的內(nèi)容即為SC的視角內(nèi)容。由于SC與虛擬平板相綁定,當(dāng)虛擬平板改變位置時(shí),SC反映的內(nèi)容也會(huì)隨之變化,類(lèi)似平板背后存在一個(gè)攝像頭,跟著平板的位置變化。相關(guān)描述公式為:
PosSC(X,Y,Z)=PosT(X,Y,Z)
(3)
RotSC(X,Y,Z)=RotT(X+60,Y+180,Z)
(4)
其中,PosSC(X,Y,Z)為SC在Unity3D中的位置坐標(biāo);RotSC(X,Y,Z)為SC在Unity3D中的方向。
現(xiàn)實(shí)中對(duì)平板設(shè)備的操作需要實(shí)時(shí)同步通信至VR場(chǎng)景所處的PC端,本文采用局域網(wǎng)內(nèi)的TCP/IP通信,PC端作為服務(wù)端,負(fù)責(zé)處理接收到的操作數(shù)據(jù),并對(duì)VR場(chǎng)景中的SC進(jìn)行相應(yīng)操作,以達(dá)到操作同步。通信雙方分別為安裝在平板設(shè)備上的客戶端和附加在VR場(chǎng)景中的服務(wù)端。客戶端負(fù)責(zé)實(shí)時(shí)監(jiān)測(cè)用戶對(duì)平板的操作,并將相應(yīng)操作信息發(fā)送給服務(wù)端;服務(wù)端負(fù)責(zé)接收數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行處理分析,并根據(jù)操作類(lèi)型作出相應(yīng)的操作。通信的內(nèi)容為操作類(lèi)型與相關(guān)參數(shù),具體格式要求如下:
通信內(nèi)容=操作類(lèi)型+分隔符+附加參數(shù)1+
分隔符+附加參數(shù)2+…+分隔符。
其中,操作類(lèi)型、含義及其附加參數(shù)見(jiàn)表1所列。
表1 操作類(lèi)型詳細(xì)參數(shù)
用戶與平板的交互體現(xiàn)在對(duì)平板的手勢(shì)操作上,手勢(shì)所對(duì)應(yīng)的操作種類(lèi)主要分為手指定位、滑動(dòng)、點(diǎn)擊、縮放及復(fù)位5類(lèi),如圖4所示。
圖4 手勢(shì)操作
手指定位操作,指用戶通過(guò)使用單手指在屏幕上滑動(dòng)讓虛擬平板定位手指的位置,通過(guò)在虛擬平板上手指接觸的位置處添加色塊,并在一定的時(shí)間后漸變消失,來(lái)實(shí)時(shí)標(biāo)記用戶手指接觸的位置;點(diǎn)擊操作,類(lèi)似鼠標(biāo)單擊的操作,手在單擊屏幕上的一個(gè)點(diǎn)以后,系統(tǒng)會(huì)進(jìn)行物體選中的判定,并將判定的結(jié)果通信傳輸至PC端;縮放操作,即調(diào)整屏幕上顯示的視圖范圍,此功能在虛擬環(huán)境中體現(xiàn)為SC向前方/向后方移動(dòng),“放大”為相機(jī)向前方移動(dòng),“縮小”為相機(jī)向后方移動(dòng);滑動(dòng)操作,為平面操作,其改變SC在其視圖方向垂直面上的位置;復(fù)位操作,為恢復(fù)SC的位置,實(shí)現(xiàn)多次交互的可能。
本文通過(guò)將整個(gè)VR場(chǎng)景中的操作模式劃分為SC控制模式和觀看模式來(lái)區(qū)分選擇物體前、后的交互環(huán)境。其中SC控制模式是在選擇物體之前,用戶通過(guò)操作現(xiàn)實(shí)中的平板來(lái)操控VR場(chǎng)景中的SC,并通過(guò)SC與場(chǎng)景中的物體進(jìn)行交互,在該模式下用戶可以改變視角的方向,但其位置并不會(huì)被改變。觀看模式是在物體選擇以后,用戶通過(guò)平板上方觀察選中的物體,并可以點(diǎn)擊返回按鈕來(lái)返回SC控制模式。
在SC控制模式中,當(dāng)用戶對(duì)平板進(jìn)行單擊操作時(shí),會(huì)在渲染的近截面上與單擊的坐標(biāo)相同位置處,垂直于近截面向視角方向發(fā)射一條長(zhǎng)度變化的射線,用來(lái)模擬單擊的選擇效果,如圖5所示。接著系統(tǒng)會(huì)判斷射線所碰撞到的第1個(gè)物體,并將其作為選中的物體保存。平板上的客戶端會(huì)根據(jù)單擊的結(jié)果將選中目標(biāo)信息通過(guò)網(wǎng)絡(luò)傳輸給服務(wù)端,服務(wù)端接收目標(biāo)信息后與之交互。
圖5 單擊選擇物體
本文實(shí)驗(yàn)召集了10名用戶進(jìn)行交互方案的學(xué)習(xí)與測(cè)試,用戶中既有不熟悉VR交互環(huán)境的一般用戶,也有擁有豐富VR交互經(jīng)驗(yàn)的開(kāi)發(fā)者。所有用戶的身高相似,年齡在20~25歲之間,每日使用電子產(chǎn)品的時(shí)間分布為:小于1 h、1~4 h、大于4 h。
學(xué)習(xí)與測(cè)試過(guò)程分為以下4個(gè)階段:① 介紹整個(gè)研究與應(yīng)用以及設(shè)備操作的相關(guān)說(shuō)明;② 設(shè)備操作培訓(xùn);③ 開(kāi)始測(cè)試任務(wù);④ 測(cè)試后滿意度調(diào)查。
實(shí)驗(yàn)設(shè)計(jì)的交互內(nèi)容為在VR環(huán)境中擺放與相機(jī)距離分別為0、8、18、28、40 m的球體、立方體及圓柱體,其中圓柱體橫截面積最大,立方體次之,球體最小。由于物體間存在遮擋現(xiàn)象,因此實(shí)驗(yàn)中對(duì)遠(yuǎn)距離物體選擇的精度會(huì)受到影響。橫截面積最大的圓柱體受遮擋影響最明顯,立方體次之,球體最小。對(duì)每個(gè)物體,用戶均做選擇操作3次,這樣就能夠得到不同形狀(橫截面積)的物體在相同距離下交互效率與精度的差異,以及相同形狀的物體在不同距離下交互效率與精度的差異。近年來(lái)人機(jī)交互領(lǐng)域的常用交互方案見(jiàn)表2所列。表2中,CI表示接觸式交互(contact interaction);RI表示光線投射交互(raycast interaction);NI表示導(dǎo)航式交互(navigation interaction)。
表2 近年來(lái)常用的交互方案
本文同時(shí)在相同的環(huán)境下分別采用平板式交互(tablet interaction,TI)、CI、RI及迭代細(xì)化的光線投射交互(iterative refinement raycast interaction,IRRI)進(jìn)行測(cè)試,測(cè)試內(nèi)容與物體交互順序均相同,各方案的程序界面截圖如圖6所示。
圖6 4種交互方案程序界面
4種方案的交互范圍是影響交互數(shù)據(jù)測(cè)試結(jié)果的一個(gè)因素。TI方案和IRRI方案交互范圍為全部VR場(chǎng)景物體,RI方案能夠選擇到遠(yuǎn)截面形成的球體內(nèi)所有不被遮擋的物體,CI方案能夠選擇到HMD VR劃定范圍內(nèi)的所有物體。
由于圓柱體的高度與用戶的最高身高一致,第1個(gè)圓柱后的其余圓柱均被遮擋,RI方案無(wú)法實(shí)現(xiàn)測(cè)試。由于距離為8 m的物體超出了CI方案的移動(dòng)范圍,CI方案僅能選擇到距離為0 m的3種物體。
本文通過(guò)記錄用戶多次選擇到規(guī)定物體所花費(fèi)的平均時(shí)間來(lái)反映交互效率。由PC端設(shè)置的計(jì)時(shí)模塊記錄用戶從開(kāi)始交互到作出交互操作的時(shí)間。
4種方案下用戶選擇球體、立方體及圓柱體時(shí)與物體距離、花費(fèi)時(shí)間的關(guān)系如圖7所示。圖7中,橫軸的距離類(lèi)別D1~D5表示與相機(jī)距離分別為0、8、18、28、40 m。
圖7 4種方案交互效率對(duì)比
從圖7可以看出,4種方案的特征大致相同,距離物體越遠(yuǎn),與物體交互所花費(fèi)的時(shí)間越久。其中,球體花費(fèi)的時(shí)間最長(zhǎng),立方體次之,圓柱最短。根據(jù)費(fèi)茨定律,物體交互時(shí)間與其截面大小有關(guān),面積越大花費(fèi)時(shí)間越短,理論上花費(fèi)時(shí)間從長(zhǎng)到短的順序應(yīng)該為球體、立方體、圓柱體,實(shí)驗(yàn)結(jié)果與之相符。
由圖7可知,距物體的距離對(duì)4種方案的影響是不同的。TI方案和IRRI方案的交互時(shí)間并不會(huì)隨距離的增加而受到顯著影響;而RI方案則會(huì)使交互時(shí)間大大增加,在遠(yuǎn)距離時(shí)其受到手部抖動(dòng)的影響更大,更難選中,同時(shí)也會(huì)花費(fèi)更多的時(shí)間;CI方案由于僅僅能夠與劃定范圍內(nèi)的物體交互,因此其交互時(shí)間與距離的關(guān)系并不能得到體現(xiàn)。
經(jīng)對(duì)比發(fā)現(xiàn),CI方案是所有方案中最快的,但同時(shí)又是交互范圍最小的,因此其僅適用于交互范圍很小的環(huán)境;本文使用的TI方案平均用時(shí)最短,交互范圍也達(dá)到最大,交互效率最高;IRRI方案平均用時(shí)比TI方案多0.9 s左右,交互效率也很高,并且交互范圍最大;IRRI方案與TI方案均能適應(yīng)復(fù)雜的交互環(huán)境。
本文通過(guò)記錄用戶選擇物體時(shí)的命中率均值反映交互精度,并結(jié)合環(huán)境得出其適用性。4種方案交互精度對(duì)比如圖8所示。
圖8中,橫軸的距離類(lèi)別D1~D5含義與圖7一致。
圖8 4種方案交互精度對(duì)比
由圖8可知,對(duì)于TI方案與IRRI方案,距離物體的遠(yuǎn)近并不會(huì)影響物體的命中率,因此這2種方案的命中率也始終保持在一個(gè)較高的均值附近,適用性較好;RI方案的命中率會(huì)隨距離的增加顯著下降,實(shí)驗(yàn)證明,由于遠(yuǎn)處的球體被前面的球體遮擋了一部分,距離為40 m處的球體已不可能被射線精準(zhǔn)命中,這反映了該方案對(duì)于小物體/遠(yuǎn)距離物體選擇的缺陷,適用性一般;對(duì)于CI方案,其命中率始終為100%,然而其僅適用于距離為0 m的物體,因此適用性不高。
由實(shí)驗(yàn)結(jié)果可知,TI方案的命中率為100%,適用性較好;IRRI方案命中率接近100%,適用性也較好。
4種方案用戶滿意度調(diào)查結(jié)果如圖9所示。在滿意度調(diào)查中,滿意度共劃分為非常滿意、滿意、一般、不滿意及非常不滿意5個(gè)層次。從圖9可以看出,本文TI方案具有較高的用戶友好度。對(duì)于IRRI方案,雖然其效率與精度比較好,但是大部分用戶表示這種不斷改變用戶位置的方案嚴(yán)重破壞了他們的沉浸感,部分用戶反映位置的突然改變會(huì)使自己迷失方向。
圖9 4種方案用戶滿意度調(diào)查結(jié)果
平板設(shè)備在HMD VR領(lǐng)域的使用是一個(gè)非常有前景的方案。本文提出的通過(guò)平板設(shè)備與HMD VR環(huán)境中物體進(jìn)行交互的手段,將三維空間的交互轉(zhuǎn)化為二維平面的交互,從而解決了用戶在三維空間中交互時(shí)的不適應(yīng)問(wèn)題;同時(shí)采取同步觸摸的位置保證了現(xiàn)實(shí)中觸覺(jué)與虛擬中視覺(jué)的一致性,在不破壞用戶沉浸感的前提下實(shí)現(xiàn)精準(zhǔn)交互。實(shí)驗(yàn)結(jié)果表明,本文方案擁有高的交互效率、精度及范圍,適用性較好,且用戶友好度很高。隨著平板設(shè)備的普及,該方案的普及度以及可行性都會(huì)得到提高,因此,該方案很適合作為HMD VR環(huán)境下的一種人-機(jī)交互方案。
后續(xù)研究將對(duì)該方案進(jìn)行改進(jìn),使其實(shí)現(xiàn)更多交互功能,并優(yōu)化用戶的使用體驗(yàn);在更復(fù)雜的場(chǎng)景中,支持對(duì)小型物體群與快速移動(dòng)物體的交互是未來(lái)工作的重點(diǎn)。