王海豐
(瓊州學(xué)院電子信息工程學(xué)院,海南三亞572022)
虛擬現(xiàn)實[1](Virtual Reality VR)是二十世紀(jì)九十年代初發(fā)展起來的一門新興技術(shù),它融計算機圖形學(xué)、人工智能、數(shù)字圖像處理、人機接口技術(shù)、傳感器技術(shù)以及高度并行的實時計算技術(shù)和人的行為等于一體,利用各種先進的硬件技術(shù)及軟件工具,設(shè)計出合理的硬件、軟件及交互手段,使參與者能交互式地觀察和操縱系統(tǒng)生成的虛擬世界。由于網(wǎng)絡(luò)技術(shù)快速發(fā)展,使得虛擬現(xiàn)實在教育教學(xué)[2]、政府城市規(guī)劃[3]、商業(yè)領(lǐng)域以及娛樂等諸多領(lǐng)域發(fā)揮著越來越重要的作用,對人們的生活和生產(chǎn)產(chǎn)生了深遠的影響。
隨著海南國際旅游島建設(shè)上升為國家戰(zhàn)略,星級酒店、大旅行社、名勝景點等,開始自建網(wǎng)站或借用電子旅行社開拓網(wǎng)絡(luò)銷售渠道。但宣傳手段僅限于文字、圖像、影像,形式單一、死板生硬,在真實感、交互性和觀賞效果等方面與真實環(huán)境相差甚遠。
虛擬現(xiàn)實技術(shù)可以使用戶融入到真實環(huán)境中,并可以實現(xiàn)與環(huán)境中的對象進行自然的、實時的交互,從而使用戶產(chǎn)生一種沉浸在虛擬環(huán)境中的真實感覺。本文研究建立一個基于VRML的虛擬酒店漫游系統(tǒng),綜合運用3DMAX和VRML語言、Java等技術(shù),加入聽覺、觸覺等輔助功能,實現(xiàn)三維虛擬酒店漫游系統(tǒng),瀏覽者可以通過互聯(lián)網(wǎng)漫游虛擬酒店系統(tǒng),獲得身臨其境的感受,并實現(xiàn)旅游業(yè)酒店預(yù)定的信息化、立體化、多樣化。
虛擬現(xiàn)實建模語言(Virtual Reality Modeling Language VRML)是繼HTML之后的第二代Web語言,同HTML一樣VRML用一種ASCII的描述性語言來描述三維物體及其行為,可以構(gòu)建虛擬境界,并集成文本、圖像、音響、MPEG影像等多種媒體類型,并可以通過內(nèi)建節(jié)點或者內(nèi)嵌Java、JavaScript等語言程序代碼實現(xiàn)對對象的交互控制。由于VRML在虛擬現(xiàn)實、場景展示、仿真系統(tǒng)等方面表現(xiàn)出的優(yōu)良特性和應(yīng)用前景,它已經(jīng)成為計算機領(lǐng)域當(dāng)前研究的熱點之一。
1.1 虛擬環(huán)境的構(gòu)建虛擬酒店建設(shè)的基礎(chǔ)是場景建模,它也是整個設(shè)計的核心,建模的好壞會直接影響到后續(xù)工作的成敗。由于直接用VRML程序代碼來建造模型工作量大且復(fù)雜繁瑣,我們采用3DS MAX進行三維場景構(gòu)建。根據(jù)酒店的建筑設(shè)計圖紙對每個部件的幾何模型進行單獨建模。利用3DS MAX對模型進行材質(zhì)渲染,利用3D MAX的材質(zhì)編輯器對部件進行材質(zhì)編輯,主要包括漫反射顏色、光滑度、高光點的顏色、光強、以及透明和自發(fā)光等。并對部件的紋理、光照、顏色等進行渲染和烘焙,利用Render To Texture功能,烘焙(TBaker)出高真實感、高精度的光照貼圖,然后構(gòu)建酒店樓體的整體場景,并按照酒店平面圖坐標(biāo)位置構(gòu)建植物模型以及綠化區(qū)域,從而構(gòu)建出整體的三維虛擬場景。最終將構(gòu)建好的三維場景輸出單個的.wrl文件,并通過VRML的Inline節(jié)點方便地將不同部分集成為最后的虛擬場景模型。
1.2 交互功能的創(chuàng)建VRML自身交互是通過VRML內(nèi)建節(jié)點來實現(xiàn)的,通過VRML提供的傳感器來檢測瀏覽者在虛擬場景中的動作,當(dāng)瀏覽者點擊到一個附帶有傳感器的造型時,傳感器就輸出一個事件,這個事件就被路由到其他節(jié)點來開始一個動畫。這樣就可以通過事件的傳遞,實現(xiàn)瀏覽者和虛擬環(huán)境的交互。
由于VRML語言不具有高級編程語言所具有的特征,不能和外界建立交互,為了使虛擬場景能夠和外部取得通信,采用VRML和Java、JavaScript等高級語言結(jié)合來實現(xiàn)交互功能,VRML和Java之間的通訊是通過Script節(jié)點和Script類來實現(xiàn)的,Script節(jié)點中的域url指定一段實現(xiàn)事件處理的Java程序代碼或JavaS-cript腳本,然后將程序計算返回的結(jié)果遞交給Script節(jié)點的輸出事件,再通過Route To將該事件傳遞給場景某對象的相關(guān)域,達到改變場景的目的;或者直接由Script節(jié)點中指定的第三方程序控制VRML場景[4]。利用JavaScript腳本可以實現(xiàn)諸如旋轉(zhuǎn)門的轉(zhuǎn)動等復(fù)雜動畫。圖1是Script節(jié)點和Java通信的示意圖。
1.3 優(yōu)化處理與發(fā)布VRML語言設(shè)計的造型和動畫等最后要嵌入到網(wǎng)頁中在網(wǎng)絡(luò)上傳輸,這樣就要求所生成的文件要盡可能的小,這就需要對場景中的對象、視點等進行加工,降低場景的復(fù)雜度,減少場景總量,可以采用紋理貼圖技術(shù)減少不必要的多邊形;采用多細節(jié)層次模型技術(shù),根據(jù)視點與該物體的距離決定模型調(diào)用同一對象的不同細節(jié)程序的模型;對場景中的不可見面進行刪除和隱藏;采用Inline節(jié)點等來減少主程序代碼量。優(yōu)化后可以提高瀏覽器的性能和渲染速度,增強場景的真實感及用戶交互實時性。利用VRMLPad及其插件也可以對VRML文件的場景進行優(yōu)化。具體如圖2所示。
圖1 Script節(jié)點和Java的通信
圖2 VRMLPad優(yōu)化菜單
VRML文件可以直接嵌入到HTML文檔中進行發(fā)布,通過超鏈接可以把HTML文件和VRML文件鏈接到一起,瀏覽者需要裝有專門的VRML插件才可以正常的調(diào)用和瀏覽VRML文件。
通過虛擬現(xiàn)實技術(shù)實現(xiàn)基于Web的酒店漫游系統(tǒng),打破以往酒店只能通過圖片、視頻等宣傳方式,使瀏覽者通過互聯(lián)網(wǎng)就能進入到虛擬酒店中進行漫游,在虛擬環(huán)境中,用戶可以自由地對酒店環(huán)境進行欣賞,并可以根據(jù)自己的需要隨時變換視角,進行任意角度的場景瀏覽,可以使沒有親臨過酒店的訪問者能獲得身臨其境的感受,并能實時產(chǎn)生與真實世界相同的感覺,使人與計算機融為一體。并實現(xiàn)旅游業(yè)酒店預(yù)定的信息化、立體化、多樣化。將虛擬現(xiàn)實技術(shù)與基于Web技術(shù)的酒店電子商務(wù)平臺相結(jié)合,實現(xiàn)酒店全方位、立體化、網(wǎng)絡(luò)化的經(jīng)營與管理。為用戶提供全方位、人性化的解決方案,提高游客的滿意度。
虛擬瀏覽方式可以帶給用戶新奇、交互的在線體驗方式,有利于開發(fā)潛在的用戶,給企業(yè)帶來更多的機遇,提高酒店企業(yè)競爭力,為展示企業(yè)形象探索了一種新的模式。預(yù)示著未來酒店業(yè)宣傳的全新發(fā)展方向。
[1]洪炳镕等.虛擬現(xiàn)實及其應(yīng)用[M].北京:國防工業(yè)出版社,2005.
[2]王春香,朱軍,孟令奎.基于VRML的交互式虛擬教室建模[J].地理空間信息,2009,7(1):114-117.
[3]劉增良,陳品祥,賈光軍等.虛擬現(xiàn)實技術(shù)在城市規(guī)劃管理中的應(yīng)用研究與實踐[J].測繪通報.2010,(05):45-47.
[4]李欣.虛擬現(xiàn)實及其教育應(yīng)用[M].北京:科學(xué)出版社,2008,6.