劉民 萬江
摘 要: 對目前虛擬漫游系統(tǒng)的瓶頸進行分析,提出并實現了一個基于Flash 3D的、優(yōu)化了的在線虛擬旅游系統(tǒng)。系統(tǒng)對三維場景文件包括模型文件、材質文件及其構建步驟進行優(yōu)化,并在實現了對多種媒體元素支持的基礎上,設計了獨創(chuàng)的熱點系統(tǒng),實現對三維場景按需進行加載和展示,以及游客在場景中的互動漫游。系統(tǒng)測試結果表明,該設計方案優(yōu)化效果顯著,系統(tǒng)性能得到了極大的提升。
關鍵詞: 在線虛擬漫游; 三維場景優(yōu)化; 熱點; 互動漫游; Flash 3D
中圖分類號:TP391.9 文獻標志碼:A 文章編號:1006-8228(2014)05-36-03
Abstract: Through the research on virtual roaming system's bottleneck, an optimized online virtual roaming system based flash three-dimensional is designed and implemented. The system optimizes the files of three-dimensional scenes including model files and material files and the building process. Based on the support of a variety media, an original hotspot system is designed to realize three-dimensional scenes' on-demand loading and displaying, and tourist's interactive roaming in the scene. The testing results show that the system is significantly optimized and its performance has been greatly improved.
Key words: online virtual roaming; three-dimensional scene optimization; hotspot; interaction roaming; Flash 3D
0 引言
作為一種軟件技術創(chuàng)新,3D的應用和發(fā)展給用戶體驗帶來顯著的提升。虛擬漫游游將給旅游行業(yè)帶來沖擊和革命,促使旅游業(yè)的服務水平和質量實現質的提升[1]。現階段,用戶體驗的好壞已經成為當今產品成功的最重要的因素之一[2]。
在線虛擬漫游是指采用多媒體技術將真實景區(qū)數字化處理后,借助計算機網絡終端設備,可使漫游者如身臨其境般地在虛擬世界中漫游,并具有與景區(qū)環(huán)境交互的功能。本文基于需求分析和功能分析,提出并實現了一個高效、擴展性強、移植性高并且性能顯著優(yōu)化的在線虛漫旅游系統(tǒng)。
1 系統(tǒng)分析
1.1 發(fā)展現狀
目前我國在線虛擬漫游產品以專業(yè)的虛擬旅游網站為主,如中國全境網,上海全境等[3],其大部分都是基于全景圖片的模擬漫游,而不是真正意義上的漫游。用戶與虛擬場景的交互性差,界面不夠完美,用戶體驗差[4]。因此,建立一個基于用戶體驗理論,在系統(tǒng)架構、功能、性能及其應用方面都有明顯突破的在線虛擬旅游系統(tǒng)具有重要的意義。
1.2 功能需求
根據系統(tǒng)的目標和用戶體驗設計的原則,結合3D網站質量評估的相關理論,虛擬旅游系統(tǒng)應具備以下功能[5]。①交互式三維場景虛擬漫游:用戶可通過鼠標鍵盤等設備對三維景區(qū)進行漫游參觀。②用戶和景區(qū)的互動:用戶可以與景區(qū)內對象進行互動。③全媒體技術的支持:系支持3D模型、Flash、音頻、視頻、圖片等常用多媒體元素。④三維場景全過程優(yōu)化:對三維場景文件、材質和場景模型及構建過程進行優(yōu)化,材質庫文件應可能實現重用。⑤用戶地圖:實時確定用戶的相對位置,并對經過的路線進行標記。
結合以上分析,系統(tǒng)主要分為以下幾個功能模塊。①三維場景的加載和解析模塊:三維場景的管理,包括三維場景數據和模型的導入、優(yōu)化處理和管理,場景的構建、優(yōu)化及顯示的全過程管理。②熱點管理模塊:熱點的加載、刪除、編輯及熱點的可視化管理。③互動漫游模塊:三維場景漫游的控制。④地圖模塊:用戶地圖的實現。
2 系統(tǒng)體系結構設計
2.1 系統(tǒng)構建方法
目前用于構建在線虛擬漫游系統(tǒng)的Web3D技術,主要包括VRML、X3D、Java3D、Cult3D及其重要的分支Flash 3D等。由于具Web3D每一種標準都有自己的插件,各個標準之間的支持和互動成為了Web3D圖形在互聯(lián)網應用上另外一個關鍵點[6]。Flash 3D是指基于網頁Flash播放器播放并且可以實時交互三維場景信息的一系列應用技術的總稱。其中用于實時渲染和制作三維畫面信息的工具,稱為Flash 3D引擎[7]。
如今Flash Player的安裝率超過了90%,并且Flash 3D引擎集成了對三維模型的燈光照射、地面反射等效果處理,加載速度快并且展示流暢,用戶體驗顯著提高。系統(tǒng)使用Flash 3D引擎,采用事件驅動機制的流程控制方法,通過配置文件實現系統(tǒng)各個模塊間的集成和動態(tài)加載。
2.2 系統(tǒng)總體流程設計
依據系統(tǒng)的需求分析和功能分析,設計出系統(tǒng)的整體開發(fā)流程:①搜集資料,對場景采用烘焙貼圖的方式進行建模,生成各模型的ASE文件和貼圖文件;②對模型文件和材質文件進行優(yōu)化處理,并對熱點進行配置;③基于Flash 3D引擎,利用Flash腳本對在線虛擬漫游系統(tǒng)進行集成開發(fā)。3 核心模塊的設計
3.1 三維場景系統(tǒng)的優(yōu)化設計
三維場景模型完成基本的貼圖和燈光處理后,首先進行烘焙貼圖,將三維場景中不需要動態(tài)渲染實現的各種燈光以及其他效果轉變成貼圖材質,即節(jié)省實時渲染時費時的計算,又避免光能傳遞時可能出現的動畫抖動。
3dsMax導出的模型文件包括模型信息文件和基礎紋理圖片及烘焙貼圖等材質文件。首先通過對ASE文件結構及其內容的分析,提取出跟模型有關的關鍵位置,包括點、面、UV坐標和關鍵屬性等,丟棄光照,反射等在烘焙貼圖處理過或者對三維場景性能影響不大的信息;其次將提取的信息,按照本下面定義的數據結構保存為二進制文件。
⑴ 三維場景中對象的總個數、總面數。
⑵ 依次存儲每個對象在文件中的起始位置、材質文件在文件中的起始位置。對每個對象的信息,從第一個對象開始,依次按如下順序進行存儲。
⑶ 屬性信息,按照是否有倒影、材質類型、圖片類型、材質透明度、是否自動播放、播放速度、頂點個數、面的個數和貼圖坐標數、物體名稱順序來存儲。
⑷ 頂點坐標信息,按照格式X、Y、Z組織并依次存儲。
⑸ 面片信息,按組成每個面片上三個點在上述點中的索引值,參照三維中右手坐標系的原則,按面片順序依次存儲。
⑹ UV貼圖坐標點信息,按照U、V的格式來組織并按點的順序依次存儲。
⑺ 貼圖面信息,按照貼圖面的三個點在上述UV點數中的索引值來存儲。
⑻ 對象的名稱,根據對象的個數,對每個對象按照步驟⑶至步驟⑻的順序依次進行保存。
⑼ 材質相關信息按照每個材質的類型、名稱,根據材質順序依次存儲。
基于上述數據格式生成的二進制XML三維場景模型文件,即對模型文件進行顯著壓縮,降低系統(tǒng)的數據量,同時又提升了數據的安全性。對于材質文件,通過Flash文件格式進行壓縮處理,以Flash文件作為系統(tǒng)共享材質庫,充分降低材質庫的大小。
在系統(tǒng)重構階段,根據三維場景的配置文件設置其基本參數,包括控制器焦距、初始位置坐標、旋轉角度、場景XML文件和材質Flash文件等場景相關信息,加載場景模型文件和材質文件,并進一步進行場景文件的解析和構建以及材質的構建,完成材質貼圖。最后根據需要,將經過優(yōu)化處理的場景實時渲染輸出。
3.2 熱點系統(tǒng)模塊的設計
熱點即可以進一步互動展示的區(qū)域。熱點的內容可以是Flash、三維模型等。通過熱點系統(tǒng),基于事件響應機制,實現了用戶與景區(qū)熱點之間的精確互動和按需展示。熱點系統(tǒng)主要由熱點平面、熱點內容和配置文件組成。其基本原理是:首先參考熱點的位置坐標在場景中創(chuàng)建熱點平面;然后定義熱點內容及其操作,實現熱點內容的三維透視操作;最后將熱點內容作為材質貼圖貼到熱點平面上,并在用戶互動時實現熱點的加載和顯示。
熱點管理是基于配置文件來實現的。配置文件為每一個熱點創(chuàng)造一個節(jié)點,包含了熱點的主要屬性信息。①position:熱點坐標,用于確定熱點在場景中的位置。②rotate:熱點所在平面的方向。③name:熱點名稱。④wide:熱點所在平面的寬度。⑤height:熱點所在平面的高度。⑥name:熱點內容類名稱。⑦content:熱點對應的外部鏈接。⑧material:熱點內容的材質類型。⑨scale:熱點的縮放比例。⑩speed:播放速度。[⒒] priority:熱點加載的優(yōu)先級,可以根據場景的需要,實現邊漫游邊加載的過程。
4 系統(tǒng)具體實現及其測試
4.1 三維場景系統(tǒng)的主要類說明
類的說明如下。
Animate3d類:用于對三維系統(tǒng)的管理。主要功能包括初始化控制器、場景初始化配置、控制器的狀態(tài)管理、用戶事件響應管理、動畫狀態(tài)判斷及三維模塊參數的配置。
SceneObject類:該類用于三維場景的管理。主要功能包括場景配置文件的解析、場景初始化、場景模型文件解析、熱點加載管理、場景的構建和優(yōu)化以及場景的清理等功能。
MyAnimateObj類:該類用于場景中材質管理,主要功能包括場景材質的載入控制、熱點載入控制、特殊材質創(chuàng)建和材質的解析等。
MeshObject類:該類用于三維場景的構建過程管理,主要功能包括場景文件中的三維點、面片、UV坐標和表面創(chuàng)建過程,材質的設置,材質的貼圖管理等。
MyPlane類:該類用于熱點的加載管理,主要功能包括確定熱點的坐標、設定熱點的角度以及使熱點的方向控制。
MyTenPlane類:該類用于場景中特殊對象的管理,包括對象構建過程管理、對象的初始化、確定對象的位置、旋轉以及朝向。
4.2 系統(tǒng)測試
本文針對“在線虛擬游白云山系統(tǒng)”,對系統(tǒng)三維虛擬場景的優(yōu)化效果進行測試和分析。
4.2.1 三維場景構建的優(yōu)化測試
選取“在線虛擬游白云山系統(tǒng)”建模的兩個場景,其輸出的ASE文件大小為945K,經系統(tǒng)優(yōu)化處理后生成的有效場景文件只有36.6K,優(yōu)化后的文件大小只有原文件的3.87%,優(yōu)化效果顯著。特別是制作大規(guī)模三維場景時,系統(tǒng)的加載速度和用戶體驗都有顯著提升。
4.2.2 材質文件的優(yōu)化測試
系統(tǒng)利用Flash軟件的壓縮算法對材質文件進行壓縮后生成Flash文件,并通過應用程序域實現對材質文件的控制和材質文件的共享。下面以兩個場景為例對其說明。fMaterial、sMaterial文件分別用于存放第一個場景和第二個場景所獨有的材質,shMaterial文件用于存放系統(tǒng)共用材質。5 結束語
本文設計了一個性能得到顯著優(yōu)化的在線虛擬漫游系統(tǒng),為我國虛擬漫游應用的大規(guī)模推廣提供了借鑒。系統(tǒng)基于常見的Flash播放器,不需要單獨的插件,并通過對三維場景構建的模型文件和材質文件,以及構建步驟的優(yōu)化設計,實現了性能的顯著提高。通過獨創(chuàng)的熱點系統(tǒng),實現了場景內容的按需加載和展示,進一步提升了用戶與系統(tǒng)的互動,使用戶體驗得到了極大的提高。測試結果表明,系統(tǒng)性能得到顯著提升。接下來的研究方向是:多人同時在線虛擬漫游;漫游者相互之間進行社交娛樂;漫游者與場景進行更深層次的互動。
參考文獻:
[1] 何萬銀.古典園林虛擬旅游系統(tǒng)的設計與研究[D].河南大學,2007.
[2] 劉靜,孫向紅.什么決定著用戶對產品的完整體驗[J].心理科學進步,
2011.19:64-69
[3] 路遙.虛擬旅游系統(tǒng)的設計與實現研究[D].西北工業(yè)大學,2006.
[4] 張軍.地址公園虛擬旅游系統(tǒng)的設計與實現[D].河南大學,2007.
[5] Jiangping Wan, Hui Zhang, Research on Influencing Factors of
Web 3D User Experience with Grounded Theory [J].iBusiness,2011.3:237-243
[6] 文杰.基于Flex的網絡三維實景模擬技術的研究與實現[D].上海交
通大學,2008.
[7] 姚波.基于Papervision3D引擎下的室內虛擬漫游研究與探索[J].計
算機與信息技術,2011.149(4):145-146