任剛,王建民
(1.華僑大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 泉州 362021;2.清華大學(xué)軟件學(xué)院,北京 100084)
一種三維界面的移動(dòng)終端交互技術(shù)
任剛1,王建民2
(1.華僑大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 泉州 362021;2.清華大學(xué)軟件學(xué)院,北京 100084)
提出一種基于三維界面的移動(dòng)終端交互技術(shù).給出了其總體結(jié)構(gòu),XML數(shù)據(jù)格式描述,客戶端解決方案,并對其性能進(jìn)行了實(shí)驗(yàn)驗(yàn)證.該技術(shù)充分考慮了移動(dòng)終端固有的限制和現(xiàn)有的無線技術(shù)發(fā)展趨勢,采用了三維界面作為用戶交互的主要方式,提高了手機(jī)應(yīng)用的交互友好性.可以在大多數(shù)移動(dòng)終端上使用,并能夠支持多種應(yīng)用類型.
三維界面;移動(dòng)終端;碰撞檢測;XML;M3G
隨著手機(jī)使用人數(shù)的不斷增加和移動(dòng)終端性能的迅速提高,無線上網(wǎng)服務(wù)得到了巨大的發(fā)展.然而,在市場規(guī)模迅速擴(kuò)大的同時(shí),無線上網(wǎng)服務(wù)的業(yè)務(wù)結(jié)構(gòu)存在問題,即圖鈴下載仍是最主要的應(yīng)用形式,而信息瀏覽作為在傳統(tǒng)互聯(lián)網(wǎng)上最廣泛的一項(xiàng)應(yīng)用,在移動(dòng)終端上得到的應(yīng)用比例卻仍然很低[1].移動(dòng)用戶無法在移動(dòng)終端上進(jìn)行有效的信息瀏覽,一方面是因?yàn)橄嚓P(guān)的內(nèi)容和服務(wù)還不夠豐富,另一方面是由于移動(dòng)終端(主要是手機(jī))自身的特點(diǎn)造成的.包括:(1)屏幕小,難以顯示較多的信息;(2)定位困難,缺乏類似鼠標(biāo)的屏幕定位裝置;(3)輸入設(shè)備簡單,按鍵數(shù)目很少,交互不便.三維交互方式在很多類型的應(yīng)用中都表現(xiàn)出顯著的優(yōu)勢和發(fā)展?jié)摿Γ?-3],在移動(dòng)終端上,也是一種用戶交互的有效解決方案[4].這種方式能夠充分的結(jié)合現(xiàn)有移動(dòng)終端的計(jì)算能力和網(wǎng)絡(luò)帶寬的提高,給用戶更加良好的體驗(yàn).針對現(xiàn)有移動(dòng)終端的固有特點(diǎn)和發(fā)展趨勢,本文提出了一種基于三維界面的移動(dòng)終端交互技術(shù).
系統(tǒng)總體結(jié)構(gòu)如圖1所示,主要采用J2ME,JSR-184和XML技術(shù)構(gòu)建.J2ME是Java語言針對移動(dòng)平臺上的版本,針對移動(dòng)平臺上的特點(diǎn)進(jìn)行了相應(yīng)調(diào)整.JSR-184標(biāo)準(zhǔn)是一個(gè)在手機(jī)上進(jìn)行3D開發(fā)的完整工具包,提供了一整套完整的高級3D的API和三維數(shù)據(jù)封裝格式M3G,其三維場景信息使用M3G標(biāo)準(zhǔn)格式.
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Diagram of system structure
網(wǎng)絡(luò)信息數(shù)據(jù)采用XML格式傳遞,客戶端的XML解析使用KXML.在服務(wù)器端采用內(nèi)容管理系統(tǒng)進(jìn)行相關(guān)資源和信息的生成及管理,主要負(fù)責(zé)三維模型、紋理,以及文本信息的制作和采集,并打包成相應(yīng)的M3G和XML格式的文件.當(dāng)用戶進(jìn)行信息查詢或者場景更換時(shí),客戶端會向內(nèi)容管理系統(tǒng)發(fā)出請求,下載相應(yīng)的M3G以及XML文件.
與HTML規(guī)范相比較,兩者體系結(jié)構(gòu)非常類似,都有客戶端(瀏覽器和客戶端)和頁面標(biāo)記語言(HTML和XML);而不同之處在于,虛擬現(xiàn)實(shí)移動(dòng)網(wǎng)絡(luò)系統(tǒng)多了獲取場景的過程,如表1所示.
表1 傳統(tǒng)網(wǎng)頁瀏覽和3D界面交互的對比Tab.1 Comparison of traditional web browsing and interactive 3D interface
可擴(kuò)展標(biāo)記語言(XML)是萬維網(wǎng)聯(lián)盟(World Wide Web Consortium,W3C)推薦的結(jié)構(gòu)化信息交換標(biāo)準(zhǔn).采用XML作為數(shù)據(jù)傳輸格式,解決了以下3個(gè)關(guān)鍵的問題.
(1)平臺適應(yīng)性.XML與系統(tǒng)平臺無關(guān),并且已經(jīng)廣泛使用;同時(shí),標(biāo)記也被證明是對數(shù)據(jù)歸檔和變換宿主機(jī)的長生命周期問題的最好的解決方法.
(2)開放性.基于XML的頁面易于集成,更多的用戶可使用交互式三維圖形技術(shù)進(jìn)行開發(fā).
(3)與互聯(lián)網(wǎng)的融合.使用XML編碼,使得相關(guān)的應(yīng)用可以同時(shí)在移動(dòng)終端上和PC上獲得.
針對網(wǎng)頁的三維表示語言,包括VRML[5]及其最新版本的X3D[6].其中:VRML定義了在Internet上描述交互式三維實(shí)體和共享虛擬世界的標(biāo)準(zhǔn)文件格式和相關(guān)的訪問服務(wù),X3D則使用XML技術(shù)表達(dá)VRML對幾何圖形和實(shí)體行為的描述能力.這兩項(xiàng)標(biāo)準(zhǔn)主要針對計(jì)算機(jī)上的相關(guān)應(yīng)用.X3D標(biāo)準(zhǔn)在移動(dòng)終端上開始使用,但顯得較為笨重,而且由于缺乏客戶端的標(biāo)準(zhǔn)支持,很難承載更為廣泛的應(yīng)用.
根據(jù)X3D標(biāo)準(zhǔn)中的內(nèi)核組件及一些擴(kuò)展組件,基于JSR-184的數(shù)據(jù)結(jié)構(gòu)和API定義出一套簡潔的模型和交互方式,從而能夠標(biāo)記出場景中的對象及產(chǎn)生事件機(jī)制.客戶端按照規(guī)則解析XML數(shù)據(jù),將其中的內(nèi)容和現(xiàn)有的場景匹配,添加相關(guān)的信息,完成事件的傳遞,使得用戶完成瀏覽過程.
數(shù)據(jù)格式有如下3個(gè)主要組成部分.
(1)節(jié)點(diǎn).描述在場景中將被渲染的物體相關(guān)的信息.這些物體可以用XML標(biāo)記定義其位置、大小、方向、貼圖等信息,從而由客戶端引擎實(shí)時(shí)繪制,也可以從JSR-184標(biāo)準(zhǔn)支持的.m3d格式的文件中導(dǎo)出.M3D格式的文件可以從3D Max等相關(guān)的專業(yè)三維制作工具中導(dǎo)出,從而使得美工和創(chuàng)作人員可以制作出豐富的場景和物品,給用戶更加豐富的使用體驗(yàn).
(2)事件.事件是在用戶交互過程中產(chǎn)生行為的主要方法,可以處理對象選擇、改變場景圖、驅(qū)動(dòng)基于時(shí)間的動(dòng)畫等.
(3)觸發(fā)器.觸發(fā)器指定了事件激發(fā)的方式.一旦某種情況發(fā)生,觸發(fā)器就會進(jìn)行檢查,如果有事件需要激發(fā),就進(jìn)行相應(yīng)的操作.
移動(dòng)客戶端的主要作用是加載M3G文件,解析XML文件內(nèi)容,并按照XML文件中規(guī)定的內(nèi)容引導(dǎo)用戶進(jìn)行瀏覽和游戲.客戶端采用WTK 2.0和JSR-184標(biāo)準(zhǔn),支持用戶瀏覽、碰撞檢測等功能.
3.1 系統(tǒng)架構(gòu)
圖2為客戶端的簡要系統(tǒng)結(jié)構(gòu),主要包括如下4個(gè)部分.
(1)場景加載器.主要負(fù)責(zé)從M3G文件中提取場景和動(dòng)畫信息.
(2)XML解析器.負(fù)責(zé)按照XML規(guī)范解析出需要的場景狀態(tài)、事件路由等相關(guān)信息.
(3)事件管理器.包括了碰撞檢測、事件路由、腳本解析等部分,完成事件的生成、處理和傳遞過程,是提高用戶體驗(yàn)的主要手段.
(4)渲染優(yōu)化器.主要針對移動(dòng)終端的特點(diǎn)和現(xiàn)有的場景信息對渲染過程進(jìn)行優(yōu)化,盡量提高效率,增進(jìn)用戶的瀏覽感受.
圖2 客戶端的簡要系統(tǒng)結(jié)構(gòu)Fig.2 Client’s brief system architecture
3.2 碰撞檢測
用戶在瀏覽時(shí),不應(yīng)該穿越場景中的固定道具.如果遇到包含信息的對象,應(yīng)該觸發(fā)相應(yīng)的事件,且在某些場景下,還要有更復(fù)雜的互動(dòng)(如汽車的翻車,小球的反彈等).這些都要求系統(tǒng)具有碰撞檢測機(jī)制[7-8].
現(xiàn)有的碰撞檢測算法種類繁多,主要有建立模型的包圍盒樹、分解模型所在的空間,以及空間投影等方法[9-10].這些算法各有優(yōu)劣,均結(jié)合自身特點(diǎn)在不同應(yīng)用中使用.文中主要使用光線跟蹤技術(shù)[11]完成碰撞檢測.
在實(shí)際操作中,系統(tǒng)主要有兩種視覺模式:一是第一人稱視角的自由瀏覽,另一個(gè)是第三人稱視角的物體操作.
(1)第一人稱視角.在第一人稱視角瀏覽的過程中,攝像機(jī)就是用戶的代表,即用戶的視角、視野、移動(dòng)和碰撞都由攝像機(jī)的相應(yīng)變化來體現(xiàn).碰撞檢測描述如下:從攝像機(jī)中心延攝像機(jī)近截面/遠(yuǎn)截面的中心連線發(fā)送一條光線,然后檢測光線是否與指定物體組群發(fā)生交叉.如果交叉,則檢查交叉點(diǎn)距離;如果距離小于設(shè)定,碰撞發(fā)生,獲取碰撞物體和相關(guān)信息,激發(fā)事件路由;如果距離大于設(shè)定,繼續(xù)檢測.通過這種方式,可以知道還有多遠(yuǎn)發(fā)生碰撞,碰撞的物體將是哪個(gè),從而可以有效激發(fā)相關(guān)的事件,完成相應(yīng)的功能.
(2)第三人稱視角.在這種情況下,情況更為復(fù)雜,不僅要檢測攝像機(jī)的碰撞和遮擋,還要檢測用戶操作物體的碰撞,故碰撞檢測要分開進(jìn)行.對于攝像機(jī),和第一視角類似;而對于用戶操作的目標(biāo)物體,則需要結(jié)合光線跟蹤法,以及包圍盒法共同完成.
3.3 事件機(jī)制
用戶交互的功能主要通過碰撞檢測和事件機(jī)制完成.用戶在場景中使用方向鍵瀏覽,遇到感興趣的物體或信息可以走近,激發(fā)碰撞事件.一旦產(chǎn)生了一個(gè)事件,那么這個(gè)事件就將沿著所有可能的路由傳播,然后激發(fā)其他相關(guān)事件.碰撞檢測是交互的主要形式,事件路由提供了產(chǎn)生復(fù)雜情景的可能.
客戶端有如下3個(gè)動(dòng)作執(zhí)行序列:(1)基于當(dāng)前綁定的視點(diǎn)的位置和方向更新攝像機(jī);(2)計(jì)算傳感器的輸入;(3)計(jì)算路由.如果序列(2),(3)之中產(chǎn)生了新的事件,則轉(zhuǎn)向序列(2)并繼續(xù)執(zhí)行.
3.4 渲染優(yōu)化
由于移動(dòng)終端自身處理器計(jì)算能力和內(nèi)存大小的限制,決定了該虛擬現(xiàn)實(shí)系統(tǒng)在移動(dòng)終端運(yùn)行時(shí),還不能達(dá)到和PC上一樣的細(xì)膩程度和流暢性.因此,必須針對移動(dòng)終端的特點(diǎn)進(jìn)行合適的優(yōu)化.
3.4.1 復(fù)雜物體的優(yōu)化 復(fù)雜物體(如人臉等)在移動(dòng)終端上的繪制相當(dāng)困難,不僅存儲量和運(yùn)算量非常大,而且最終的顯示效果也非常生硬.特別是考慮到移動(dòng)終端一般屏幕較小,復(fù)雜三維模型的表現(xiàn)效果就更加難以得到保證.
針對移動(dòng)終端計(jì)算能力差、存儲空間小,以及屏幕較小的特點(diǎn),可以使用3D風(fēng)格的背景透明貼圖來代替復(fù)雜物體的三維模型.使用這種方式具有如下3個(gè)特點(diǎn):(1)減小了系統(tǒng)存儲的占用,提高了運(yùn)行的效率;(2)2D圖片傳輸占用網(wǎng)絡(luò)時(shí)間很小,使得動(dòng)態(tài)聯(lián)網(wǎng)分場景下載更為便捷;(3)畫面細(xì)膩生動(dòng),可以產(chǎn)生比3D模型更好的體驗(yàn).
使用合理的貼圖替代復(fù)雜的三維模型,是基于現(xiàn)有移動(dòng)終端和網(wǎng)絡(luò)狀況的實(shí)用方案.無論是對素材創(chuàng)作、運(yùn)行速度,還是用戶體驗(yàn),都能產(chǎn)生顯著的優(yōu)化.
3.4.2 大型場景的優(yōu)化 大型場景范圍較大,如果每次都全部繪制,則系統(tǒng)開銷很高.采用目前應(yīng)用很廣泛的多層次細(xì)節(jié)(LOD)技術(shù)進(jìn)行這種情況下的優(yōu)化,根據(jù)視點(diǎn)的不同選擇不同的區(qū)域進(jìn)行繪制[12],并且仍然采用貼圖替代不同精度的三維模型.在一定范圍外的物體,可使用一場特定的貼圖替代,等該物體進(jìn)入用戶視覺的中心區(qū)域之后,再繪制其實(shí)體模型.
3.4.3 在線場景更新 3G網(wǎng)絡(luò)的使用大大提高了無線帶寬,使得分場景下載成為可能,從而保證一個(gè)場景內(nèi)的信息盡量精簡,其他場景的信息和相關(guān)的交互信息,可通過XML文件和M3G文件的聯(lián)網(wǎng)實(shí)時(shí)傳輸進(jìn)行更新,同時(shí)保證了系統(tǒng)運(yùn)行速度和數(shù)據(jù)的實(shí)時(shí)性.
在3種不同型號手機(jī)上進(jìn)行客戶端的運(yùn)行效果測試.待測手機(jī)參數(shù):摩托羅拉E680g型手機(jī),處理器類型為Intel xScale,頻率為312MHz;摩托羅拉ROKR E2型手機(jī),處理器類型為Intel xScale,頻率為208MHz;西門子S65型手機(jī),處理器類型未知,頻率為104MHz.
圖3 不同類型的場景模式Fig.3 Different types of scene modes
為了測試不同手機(jī)在不同場景復(fù)雜度下的表現(xiàn)狀況,制作了3種不同類型的場景模式:(1)簡單場景.使用基本的模型及PNG格式的貼圖(圖3a);(2)復(fù)雜場景.包括3個(gè)飛船和2個(gè)建筑物,3D Max文件使用JPG格式的圖片貼圖(圖3b);(3)復(fù)雜形體.1個(gè)狗的造型,使用PNG格式的貼圖(圖3c).3個(gè)文件的具體相關(guān)信息和最終的測試結(jié)果,分別如表2,3所示.
從表2,3可以看出,使用312MHz,Intel xScale處理器的摩托羅拉E680g型手機(jī)的測試結(jié)果最好.其在簡單場景下可以達(dá)到11.21幀·s-1,實(shí)際運(yùn)行非常流暢,2D人物貼圖效果也很逼真;而復(fù)雜場景圖的幀率稍低,停頓感明顯;復(fù)雜形體的測試結(jié)果最差.摩托羅拉ROKR E2型手機(jī)的測試結(jié)果基本上和E680g一致.西門子S65型手機(jī)是運(yùn)算能力相對比較低的機(jī)型,雖然支持JSR-184,但是處理器性能很差,只能勉強(qiáng)運(yùn)行.
表2 場景文件的具體信息Tab.2 Scene file specific information kB
表3 手機(jī)的測試結(jié)果Tab.3 Mobile phone test results 幀·s-1
上述結(jié)論說明,針對現(xiàn)有平臺展開三維應(yīng)用的條件已經(jīng)具備.在實(shí)際應(yīng)用中,應(yīng)該盡量使用簡單的造型和貼圖來營造適當(dāng)大小的空間,避免使用復(fù)雜模型.
三維界面可以使用戶與系統(tǒng)的交互變得更加流暢和直觀,再加上終端本身具有移動(dòng)的特性,可以承載多種增值服務(wù)種類,將成為無線增值領(lǐng)域的一個(gè)重要方向.相關(guān)的可用性檢測[13]已經(jīng)說明,用戶完全可以接受使用移動(dòng)終端在三維環(huán)境下進(jìn)行信息獲取.如何針對移動(dòng)終端的特點(diǎn)進(jìn)行三維界面的設(shè)計(jì),有效的提高易用性,將需要進(jìn)一步的研究.
[1]易觀國際.中國移動(dòng)增值服務(wù)市場年度綜合報(bào)告2008[EB/OL].[2008-05-21].http://www.analysys.com.cn/web2007/?module=yjbg&action=showone&wid=73&id=6633.
[2]ZIMMERMAN G,BARNESJ,L EVENTHAL L.A comparison of the usability and effectiveness of Web-based delivery of instructions for inherently-3D construction tasks on handheld and desktop computers[C]//Proceeding of the Eighth International Conference on 3D Web Technology.Saint Malo:ACM Press,2003:49-54.
[3]PEREZ C,ANTONIO A.3D visualization of text collections:An experimental study to assess the usefulness of 3D[C]//Proc of the Information Visualisation,Eighth International Conference.Washington D C:IEEE Computer Society,2004:317-323.
[4]HAJAKA T,L EHIKOINEN J,AAL TONEN A.Spatial interactive visualization on small screen[C]//Proceedings of the 7th International Conference on Human Computer Interaction with Mobile Devices&Services.Salzburg:ACM Press,2005:137-144.
[5]ISO/IEC.ISO/IEC 14772-2:Information technology:Computer graphics and image processing:The virtual reality modeling language(VRML):Part 2:External authoring interface(EAI)[S].[2004-03-03].http://17de.com/x3d/www.web3d.org/technicalinfo/specifications/ISO_IEC_19775/Part01/conformance.html.
[6]ISO/IEC.ISO/IEC 19775-2 extensible 3D(X3D):Information technology:Computer graphics and image processing:Extensible 3D(X3D)[S].[2004-12-13].http://17de.com/x3d/www.web3d.org/specifications/ISO-IEC-19775/html.
[7]范昭煒,萬華根,高曙明.基于圖像的快速碰撞檢測算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2002,14(9):805-809.
[8]BACIU G,WONG W S K,SUN H.An image-based collision detection algorithm[J].Journal of Visualization and Computer Animation,1999,10(4):181-192.
[9]王志強(qiáng),洪嘉振,楊輝.碰撞檢測問題研究綜述[J].軟件學(xué)報(bào),1999,10(5):545-551.
[10]張唯,劉修國.三維場景漫游中碰撞檢測問題的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(19):67-69.
[11]侯麗平,劉越,王涌天.基于光線跟蹤的碰撞檢測技術(shù)[J].系統(tǒng)仿真學(xué)報(bào),2006,18(S1):84-87.
[12]周昆,潘志庚,石教英.基于混合多細(xì)節(jié)層次技術(shù)的實(shí)時(shí)繪制算法[J].軟件學(xué)報(bào),2001,12(1):74-82.
[13]任剛,王建民,黃鼎龍.移動(dòng)終端三維用戶界面的可用性評估[J].計(jì)算機(jī)科學(xué),2008,35(2):65-68.
An Interactive Technique Based on 3D User Interface for Mobile Terminals
REN Gang1,WAN GJian-min2
(1.College of Computer Science and Technology,Huaqiao University,Quanzhou 362011,China;2.School of Software,Tsinghua University,Beijing 100084,China)
This paper presents a novel interactive technique based on 3D user interface on mobile terminals.System architecture,data structure of XML documents,and the solutions of client are given,its property is tested experimentally.Considering the limits of the mobile terminals and the wireless technology trends,we use the 3D interface as the main way of user interaction,which enhances the user friendliness of the mobile applications.This technology can be deployed on most mobile terminals and support many application types.
3D interface;mobile terminals;collision detection;XML;M3G
TN 929.5;TN 911.73
A
1000-5013(2010)04-0413-05
(責(zé)任編輯:魯斌 英文審校:吳逢鐵)
2009-09-11
王建民(1968-),男,教授,要從事組織信息系統(tǒng)、P2P與Grid的研究.E-mail:Jimwang@tsinghua.edu.cn.
國家重點(diǎn)基礎(chǔ)研究發(fā)展(973)計(jì)劃資助項(xiàng)目(2002CB312000)