上海工程技術(shù)大學(xué) 上海 201620
對(duì)于虛擬物體的視覺信息表達(dá),全息投影相對(duì)頭戴虛擬設(shè)備,沒有任何硬件穿戴負(fù)擔(dān)及一些眩暈等生理問題。虛擬展示針對(duì)不同的用戶和用戶的數(shù)量級(jí),市場(chǎng)的需求分為深度需求和輕量化需求。建立在全息投影技術(shù)能在有限維度上展示內(nèi)容的特質(zhì)上,賦予其更多的功能就可以讓它滿足一些市場(chǎng)上的一些輕量化需求。本文在錐形四面全息投影展示柜的基礎(chǔ)上,研究利用unity引擎結(jié)合Leapmotion硬件驅(qū)動(dòng)產(chǎn)品以實(shí)現(xiàn)用戶與展品交互的功能[1]。
目前基于體感的設(shè)備以Kinect和Leap motion為主。Kinect的主要識(shí)別對(duì)象是全身動(dòng)作,而Leap motion偏向于手部動(dòng)作的識(shí)別。Kincet推薦的用戶所站立的區(qū)域距離設(shè)備1米以上。Leap motion可以在30厘米寬的立方體的范圍內(nèi)準(zhǔn)確識(shí)別手勢(shì)動(dòng)作,同時(shí)150°超寬幅的空間,可以像在真實(shí)的世界中移動(dòng)雙手。根據(jù)一般全息投影的展陳物品受到投射介質(zhì)和環(huán)境光的影響一般不會(huì)有太大尺寸展示柜,所以交互測(cè)試硬件選用Leap motion。
展品“八音盒”在最終的設(shè)計(jì)是交互動(dòng)作與交互按鈕同時(shí)進(jìn)行,使用者既可以使用交互按鈕,采用懸停觸發(fā)的方式,也可以采用交互動(dòng)作的方式來達(dá)到拆分展品和切換不同展品的功能,其余功能使用熱點(diǎn)觸發(fā)。手勢(shì)的控制需要有認(rèn)知成本,且交互反饋不明確,反饋僅表現(xiàn)在功能的運(yùn)行上,通過按鈕和手勢(shì)的共用,一方面按鈕的學(xué)習(xí)成本極低,另一方面,手勢(shì)的控制也可以通過按鈕做出表現(xiàn),實(shí)現(xiàn)交互反饋。不同于實(shí)體和按鈕和觸摸,體感交互是一個(gè)空間交互,全息展示柜的交互又不同于虛擬現(xiàn)實(shí)技術(shù),內(nèi)容和體感在同一空間,交互是leap motion的體感識(shí)別區(qū)域與全息投影柜的空間相對(duì)應(yīng)實(shí)現(xiàn)的,是兩個(gè)不同的空間,極容易會(huì)出現(xiàn)誤操作的狀況,因此本次的展品“八音盒”在按鈕的設(shè)計(jì)中用懸停觸發(fā)解決這個(gè)問題。動(dòng)作手勢(shì)命令設(shè)計(jì)比較簡(jiǎn)單,如雙手拉近展開對(duì)應(yīng)縮放,雙手移動(dòng)對(duì)應(yīng)旋轉(zhuǎn)等,簡(jiǎn)單的大動(dòng)作識(shí)別度相對(duì)高。懸停觸控打破了流暢性,但是這個(gè)是成本最低的避免誤操作的方法,參數(shù)設(shè)置也相對(duì)容易調(diào)整。
在投影顯示上,在Unity中同樣設(shè)立前后左右四個(gè)相機(jī)。首先設(shè)置一個(gè)主要相機(jī)(第一個(gè)相機(jī)),將相機(jī)的模式調(diào)整至solid color以消除視覺干擾。然后添加第一個(gè)主視角相機(jī)(第二個(gè)相機(jī)),把相機(jī)層級(jí)調(diào)至2,將這個(gè)相機(jī)正對(duì)參照指示物的正面,將相機(jī)設(shè)置為solid color模式并將depth設(shè)置為1將其作為四個(gè)相機(jī)中的主要相機(jī),將其余的三個(gè)相機(jī)設(shè)置為depth only,并將depth設(shè)置依次增加1,只將有用的渲染信息附加到第二個(gè)相機(jī)的渲染畫面上[2]。

圖1 unity中建立的trigger
在完成體感交互的實(shí)現(xiàn)時(shí),使用Unity軟件trigger的觸碰來判斷。主要的原理就是通過leap motion中指示物的剛體rigidbody的物理性來判斷是否觸碰到trigger,在通過改變不同的狀態(tài)來發(fā)送和觸發(fā)不同的指令。將觸發(fā)器的狀態(tài)分成了觸碰、停留和離開三個(gè)狀態(tài)。四個(gè)功能中有兩個(gè)功能是按鈕加手勢(shì),兩個(gè)按鈕是只能通過手勢(shì)實(shí)現(xiàn)的。在這一功能的實(shí)現(xiàn)上需要兩個(gè)int變量,一個(gè)int變量用于記錄功能按鈕的狀態(tài)是激活還是收回,另一個(gè)int變量用于記錄現(xiàn)在哪一個(gè)功能按鈕正在被激活,以變化相應(yīng)的兩側(cè)按鈕。在按鈕的懸停觸發(fā)功能的實(shí)現(xiàn)上也運(yùn)用到了兩個(gè)int變量,兩個(gè)變量分別用于記錄停留時(shí)間和觸碰之后的真實(shí)時(shí)間,并不斷比對(duì)這兩個(gè)int值,當(dāng)兩個(gè)int值不同時(shí),就意味著不再停留在按鈕上,就將兩個(gè)int值清零,視此次操作無效,當(dāng)int值到達(dá)指定的數(shù)值時(shí)就意味著停留時(shí)間已滿,激活指令。手勢(shì)的操作中,切換的功能實(shí)現(xiàn)是在場(chǎng)景中搭建了4個(gè)trigger,如圖1所示,原理是只要在0.3秒內(nèi),先觸碰到一個(gè)trigger,再觸碰到其右側(cè)的任意一個(gè)trigger,則切換下一個(gè)八音盒,同理,左側(cè)則切換到上一個(gè)。具體的實(shí)現(xiàn)通過建立2個(gè)int值,在觸碰到第一個(gè)trigger的時(shí)候,先獲得該trigger自身的int值,判斷這是哪一個(gè)trigger,在將第二個(gè)int值設(shè)置為1,意味著第一個(gè)trigger已激活,發(fā)送一個(gè)指令給控制器,經(jīng)過0.3秒后,就將第二個(gè)int值變?yōu)?,使此次操作無效化,如果在0.3秒內(nèi)觸碰到了第二個(gè)trigger,做兩個(gè)判斷。判斷第二個(gè)int值是不是1,是1就意味著第一次激活有效。判斷比之前的一個(gè)trigger值大還是小,用于實(shí)現(xiàn)切換上一個(gè)還是下一個(gè),再執(zhí)行相應(yīng)命令。同理,拆解和合并的功能實(shí)現(xiàn)也使用了這個(gè)方法。但是在這之中也遇到了問題。例如,在實(shí)現(xiàn)拆解八音盒的過程中,原先建立了兩個(gè)trigger,分別用來判斷左手和右手的手勢(shì)是否完成,但是在實(shí)際操作中發(fā)現(xiàn),不論是向外做出手勢(shì),還是向內(nèi)做出手勢(shì)都會(huì)觸發(fā)這一功能,且與收起手勢(shì)的判斷重復(fù),建立四個(gè)trigger,為中間兩個(gè)trigger設(shè)定狀態(tài)為0,并且計(jì)時(shí)0.3秒,在0.3秒之內(nèi)沒有完成手勢(shì)觸碰及離開這個(gè)動(dòng)作,則trigger狀態(tài)不變,且所有數(shù)據(jù)清零。若是在時(shí)間內(nèi)完成動(dòng)作則狀態(tài)改為1。在狀態(tài)1的情況下在繼續(xù)判斷外側(cè)的trigger以同樣的方式,若4個(gè)trigger的狀態(tài)都改為1,則觸發(fā)拆解功能。
減少用戶學(xué)習(xí)時(shí)間。由于公共空間的展示,考慮人流的觀展時(shí)間,在交互中需要降低學(xué)習(xí)時(shí)間成本,利用移動(dòng)設(shè)備中多點(diǎn)觸摸的操作習(xí)慣,例如圖片觸摸縮放功能,以對(duì)角線的兩個(gè)直角來表示縮放,同時(shí)配上了文字,方便初次使用而不能理解的使用者使用該交互作品。
減輕界面信息量。對(duì)于四面全息投影展示柜而言,理想狀態(tài)是站在不同的投影面都能進(jìn)行交互操作,但由于是折射原理,同時(shí)投影出現(xiàn)多套按鈕影像,還有圖形重疊翻轉(zhuǎn)等視覺干擾。最終選擇了單面顯示按鈕。為了不影響展示物體的拆解過程,對(duì)界面中的按鈕進(jìn)行了分層設(shè)計(jì),在不需要的時(shí)候可以收起,改變畫面視覺內(nèi)容的比重,不進(jìn)行操作時(shí)就把按鈕所需要的畫面占比縮小以突出展示物主體,方便使用者能夠在使用的過程中,更加清晰地去了解展品的結(jié)構(gòu)[3]。
以全息投影為基礎(chǔ)的交互作品,需要注意簡(jiǎn)約的版面設(shè)計(jì),普適性較強(qiáng)的手臂撥動(dòng)的交互動(dòng)作等。需要調(diào)整大量的參數(shù)設(shè)定,例如功能切換的交互動(dòng)作的不確定性,復(fù)雜的交互動(dòng)作等等。界面設(shè)計(jì)部分采用按鈕自動(dòng)隱藏的方式,除了滿足視覺設(shè)計(jì)的功能及美感,更注意用戶記憶深度,減輕操作學(xué)習(xí)負(fù)擔(dān)。
交互設(shè)計(jì)中需要設(shè)置合理的交互動(dòng)作指令,避免與功能沒有關(guān)聯(lián)的動(dòng)作干擾,注意使用動(dòng)作行為命令的普適性。不能選擇過于復(fù)雜的動(dòng)作,會(huì)影像設(shè)備識(shí)別率低,導(dǎo)致動(dòng)作行為指令識(shí)別錯(cuò)誤影響交互效果。最后,對(duì)于功能的切換也要做到合理順暢,不能具有功能的重疊。這樣在傳統(tǒng)全息投影展柜的基礎(chǔ)上增加手勢(shì)或者體感交互裝置,有助于增強(qiáng)展品與觀者之前的交互體驗(yàn),讓展品的信息承載更加豐富。