劉學超
?
虛擬旅游系統(tǒng)中交互技術(shù)的研究
劉學超
(淮北職業(yè)技術(shù)學院 計算機系,安徽 淮北 235000)
隨著信息技術(shù)的快速發(fā)展,虛擬現(xiàn)實技術(shù)越來越多地應用于旅游實訓教學,對旅游教學起到了很好的輔助作用.交互是虛擬旅游的重要組成部分,它的好壞直接關(guān)系著整個系統(tǒng)是否成功.為了使虛擬旅游系統(tǒng)更具真實感,將層次包圍盒法和空間剖分法相結(jié)合,使用層次碰撞檢測來加強人與環(huán)境的交互.
虛擬旅游;交互;碰撞檢測
虛擬旅游是虛擬現(xiàn)實技術(shù)的一個重要應用領(lǐng)域,它集虛擬現(xiàn)實技術(shù)的優(yōu)點于一身,使用者只需通過鼠標、數(shù)據(jù)手套、立體眼鏡、觸摸屏等輸入設備就可以與虛擬環(huán)境中的實體進行互動,從不同角度觀察虛擬環(huán)境中的物體,也可以對其中的對象進行操作和使用,使用戶產(chǎn)生一種身臨其境的感覺.因此交互性能的好壞是衡量虛擬旅游系統(tǒng)的一個重要指標.
按照交互實現(xiàn)方式分類,我們可以把虛擬旅游劃分為以下4種方式:
1) 自動漫游:即是按照開發(fā)人員事先設計的最佳路徑與最佳視角,對整個系統(tǒng)進行游覽.相對來說,這種方式易于實現(xiàn),用戶不會迷失在三維場景當中,類似于實際旅游中在導游的帶領(lǐng)下完成指定線路的游覽.
2) 視點記錄式漫游:即由用戶自己設定一條游覽路徑,然后按照設定的路徑來進行游覽.這種方式較上一種來說用戶自由度有所增強.
3) 有目的漫游:即用戶確定好出發(fā)點和目的地,系統(tǒng)按照用戶的要求進行計算,然后生成一條最短路徑并按該路徑進行自動漫游.
4) 交互式漫游:即用戶使用鼠標、操縱桿或鍵盤等輸入設備自主的控制游覽方向、調(diào)整觀察角度,選擇游覽路徑.這種方式實現(xiàn)最為復雜,涉及方面較多.
在交互式漫游中,瀏覽器一般會為瀏覽者創(chuàng)建一個替身,瀏覽器中的一切景物都是以替身的觀察視角來呈現(xiàn)的.在X3D中使用NavigationInfo導航節(jié)點來控制替身的操作,例如移動、飛行、行走等一些基本動作,也可以和虛擬世界進行交流和感知.一般可以使用NavigationInfo節(jié)點生成一個不可見的替身,通過它限定瀏覽者的活動范圍、瀏覽方式等.上述幾種方式在虛擬旅游中應該綜合應用,相互結(jié)合,發(fā)揮其優(yōu)點.
為了增強真實性、增加沉浸感,虛擬旅游系統(tǒng)不僅要保證用戶能從視覺上如實地看到虛擬環(huán)境中的對象,同時也要能夠身臨其境的與其進行交互.如用戶進行觸摸、抓取動作時,虛擬系統(tǒng)中的事物要做出相應的反應.這就要求系統(tǒng)應該及時準確的檢測出這些碰撞,并給出對應的碰撞變化.使用NavigationInfo節(jié)點創(chuàng)建的替身可以進行碰撞檢測,常用的碰撞檢測方法有層次包圍盒法和空間剖分法.實際上,在虛擬旅游系統(tǒng)中,大部分的對象碰撞檢測無需太過精確,我們知道兩個或多人物體想要發(fā)生碰撞,至少其中一個物體是運動狀態(tài)的,因此我們只要對運動的物體進行碰撞檢測即可,這就大大降低了工作量和工作難度.本系統(tǒng)將2種常用的方法相結(jié)合,使用層次碰撞檢測的方法,將整個過程分為預處理、全局檢測和局部檢測3個階段.
2.1 預處理階段
這一階段的工作是為虛擬旅游系統(tǒng)中的對象構(gòu)造層次包圍盒樹,為碰撞檢測打好基礎.具體方法:每個虛擬對象元素最外層采用包圍球,以下各層采用軸對齊包圍盒.自頂向下地構(gòu)造二叉樹.
2.2 全局檢測階段
虛擬旅游系統(tǒng)中的場景、對象非常之多,我們可能利用空間剖分法對場景進行劃分.因為對于一個運動的物體來說,在某一個時間段內(nèi),它只會與它鄰近的物體發(fā)生碰撞.這樣就大大降低了碰撞檢測的次數(shù).具體做法:使用均勻剖分法把虛擬場景劃分為一個*的矩陣,矩陣中的元素對應場景中的任一單位格.場景中的每一個對象看作一個質(zhì)點,該質(zhì)點的坐標就是該對象包圍球的球心坐標.使用這種方法,將場景的所有對象都歸入對應的單元格中.這樣,確定了一個單元格之后,該單元格中的所有對象也被隨之確定.對于一個運動物體來說,根據(jù)該對象的坐標就可以確定它所處的單元格,根據(jù)矩陣中元素之間的關(guān)系,再確定與之相鄰的單元格,進而確定該運動物體可能會與哪些物體發(fā)生碰撞.
2.3 局部檢測階段
通過空間剖分方法我們將大多數(shù)遠處的碰撞對象已經(jīng)過濾掉,局部檢測的主要工作就是對運動對象附近的物體進行碰撞檢測.局部檢測階段分為粗略檢測層和精確檢測層兩個部分.在粗略檢測層中,我們知道虛擬場景中運動對象的速度一般不會太快,在某一很短的時間片內(nèi),只有與之特別貼近的極少物體才會與之產(chǎn)生碰撞,而該運動對象所處單元格及鄰近單元格的大多數(shù)物體是不必發(fā)生碰撞的.因此,我們?yōu)樵撨\動對象建立一個碰撞檢測空間如下圖1所示,即在某一時間片內(nèi)那些特別貼近并可能發(fā)生碰撞的物體的集合,將碰撞檢測范圍進一步縮小.接下來,我們將進入碰撞檢測空間的對象的層次包圍盒樹的信息調(diào)入內(nèi)存,進行精確的碰撞檢測,首先檢查兩物體最外層的包圍球是否相交,如果不相交,剛碰撞未發(fā)生.若相交,則進一步對兩物體的層次包圍盒二叉樹進行相交測試.
圖1 碰撞檢測空間示意圖
在創(chuàng)建虛擬場景時,我們也可以使用Script節(jié)點和外部程序接口EAI來實現(xiàn)功能復雜的交互.
3.1 內(nèi)部Script節(jié)點
Script節(jié)點的基本功能是通過eventIn事件來接收其他節(jié)點發(fā)來的事件信息,在節(jié)點內(nèi)部使用程序設計語言對其進行處理計算,然后再通過eventOut事件把信息回傳給Script節(jié)點,使節(jié)點發(fā)生預期的變化效果.
Script節(jié)點的url域中定義一個URL列表,該列表的URL值指定程序設計語言.一般常用Java或JavaScript語言.Script節(jié)點將程序設計語言和場景中的傳感器、插補器聯(lián)系起來.通過程序設計語言控制傳感器和插補器,實現(xiàn)場景中的交互.
3.2 外部編程接口EAI方法
EAI定義了針對X3D的Java類,通過創(chuàng)建Java小程序接收和發(fā)送虛擬場景中的節(jié)點的事件信息,達到用戶與虛擬場景進行溝通交互的目的.使用EAI方法創(chuàng)建的程序段可以與虛擬場景放在同一Web頁面中,Java applet與瀏覽器插件互相通信,使用戶真正的掌控虛擬場景,增強用戶與場景的交互程度.
本文詳細地闡述虛擬旅游系統(tǒng)中交互技術(shù)的實現(xiàn)方法.虛擬旅游是現(xiàn)代計算機技術(shù)的全新產(chǎn)物,前景非常廣闊,它的成熟發(fā)展必將引領(lǐng)一種新的旅游風尚.
[1] 韓長紅.虛擬旅游景區(qū)漫游系統(tǒng)的研究[D].西安:西安科技大學,2011:27-31.
[2] 彭飛.虛擬旅游應用與發(fā)展[J].商場現(xiàn)代化,2010(3):101-103.
[3] 孫家廣.計算機圖形學[M].北京:清華大學出版社,1998:245-247.
[4] 高尚宇.虛于GIS的“數(shù)字校園”信息系統(tǒng)的設計與實現(xiàn)[D].哈爾濱:哈爾濱工程大學,2003:48-52.
[5] 宋淑彩,趙巍.基于Java的VRML虛擬場景人機交互的實現(xiàn)[J].河北建筑工程學院學報,2006,26(1):23-28.
[6] 李振波,孟祥旭,向輝.復雜虛擬場景構(gòu)造及交互漫游實現(xiàn)研究[J].系統(tǒng)仿真學報,2002,29(8):1183-1187.
The Research on Interactive Technology in Virtual Tourism System
LIU Xue-chao
(Department of Computer Science, Huaibei Vocational and Technical College, Huaibei, Anhui 235000, China)
With the development of information technology, VR technology, as a good assistant to the tourism teaching, is widely used in tourism training system. Interaction is an important part of virtual tourism. It will decide whether the whole system is successful or not. In order to make the virtual tourism system more realistic, we combine the hierarchical bounding box method and the spatial profile method and use hierarchical collision detection to enhance the interaction between human beings and the environment.
virtual tour; interaction; hierarchical collision detection
(責任編校:李建明 英文校對:李玉玲)
TP391.9
A
1673-2065(2013)04-0016-03
2013-02-20
安徽省教育廳質(zhì)量工程項目(2012jyxm739)
劉學超(1980-),女,滿族,遼寧錦州人,淮北職業(yè)技術(shù)學院計算機系講師,理學碩士.