馮桂珍, 池建斌, 王大鳴, 張德瑩
(1. 石家莊鐵道大學機械工程學院 河北 石家莊 050043;2. 石家莊鐵道大學土木工程學院,河北 石家莊 050043)
隨著Internet在全世界范圍內的迅速發(fā)展,虛擬現(xiàn)實技術得到越來越廣泛的應用。而信息技術、通信技術的迅速發(fā)展以及網(wǎng)絡的普及,為高等院校提升信息化層次、構建數(shù)字校園提供了良好的條件和機遇。虛擬校園是虛擬現(xiàn)實技術在數(shù)字化校園中的具體應用。虛擬校園再現(xiàn)真實校園的景觀,使人們通過網(wǎng)絡在計算機上進行漫游,對校園景觀、校內的各種設施和服務等獲得身臨其境的感受;規(guī)劃設計校園場景;還可以在此基礎上建立三維虛擬大學,提供相應的網(wǎng)上教育等。為此,國內外在構建虛擬校園及相關技術進行了研究。如文獻[1-2]以及德國的 Rostock,Stuttgart大學[3]、北京航空航天大學[4]、浙江大學[5]、香港中文大學[6]的虛擬校園系統(tǒng)等。由于虛擬校園提供了校園景觀及設施最直觀的表現(xiàn)形式,方便了用戶對校園信息的訪問,從而可以促進大學的建設和遠程教學的發(fā)展。
系統(tǒng)采用服務器/瀏覽器(B/S)模式,服務器端存放 VRML虛擬校園場景及相關數(shù)據(jù)信息,瀏覽器端是嵌入 VRML格式文件(*.wrl)的主界面,提供虛擬場景的瀏覽和基于鼠標及控件的交互操作、設置和導航。該系統(tǒng)的功能框架結構如圖1所示,該系統(tǒng)具有交互操作、信息查詢、校園環(huán)境設計以及良好的導航功能等。采用的相關技術如下:
(1)VRML
虛擬實現(xiàn)模型語言 VRML(Virtual Reality Modeling Language)是一種基于網(wǎng)絡的三維場景描述性語言,具有動態(tài)性、交互性、低帶寬網(wǎng)絡傳輸?shù)葍?yōu)點,將圖、文、聲、色及動態(tài)性等信息集于一體,建立具有交互性和導航功能的三維虛擬場景[8-9]。
(2)腳本語言
腳本語言JavaScript是一種解釋性的語言,不需要編譯,可直接使用并由瀏覽器負責解釋。系統(tǒng)采用 JavaScript實現(xiàn) VRML內部交互以及VRML與HTML網(wǎng)頁的交互與通信控制。
圖1 系統(tǒng)框架結構
VRML作為一種網(wǎng)絡三維場景描述性語言,模型的創(chuàng)建一般有以下幾種方式:
(1)文本編輯 目前比較好的 VRML編輯器如Parallel Graphics公司的VrmlPad,但編程不直觀,不適合復雜場景的構建。
(2)可視化編輯工具 如Parallel Graphics公司ISB、ISA、ICA,分別用于模型的創(chuàng)建、場景的布局和人物動畫,Silicon Graphics公司的Cosmo World等,但這些工具不便于構建復雜場景。另外,針對VRML在造型方面的不足,筆者在對VRML研究的基礎上,利用VC與OpenGL開發(fā)了一個VRML可視化編輯工具[10-11]。
(3)其它軟件的支持 目前支持 VRML格式的三維軟件有3DMax、Pro/E、UG等,這種方式可以構建復雜模型,且效率較高。
鑒于校園模型建造的工作量及復雜度較大,系統(tǒng)采用第三種與第一種相結合的方式完成。根據(jù)校園中的模型,建模過程按以下幾種方法實現(xiàn):
1)建筑物模型。先根據(jù)校園平面規(guī)劃圖用AutoCAD繪制數(shù)字化的場景布局平面圖,導入3DMax,然后根據(jù)場景布局平面圖中建筑物的輪廓線進行外擴、擠出、拉伸及布爾運算等操作,建立建筑物的雛形。為了增強模型的真實感和視覺效果,添加材質或紋理貼圖。在此需利用Photoshop對紋理照片進行旋轉、拉伸、修補、合成等處理,使得紋理圖像滿足需要。這些建筑物包括各個教學樓、圖書館、體育場、辦公樓、學生宿舍樓等建筑設施。由于 VRML不能顯示漢字,需將漢字轉化為UTF8代碼,如辦公樓上方的“石家莊鐵道學院”,其對應的 UTF8代碼為“鐭沖 搴勯搧閬撳 闄?”。
2)道路及環(huán)境設施。沁園、翠園等公共環(huán)境設施,道路、樹木、路燈、五星紅旗以及虛擬環(huán)境,包括背景、光照效果、背景音樂等的創(chuàng)建,這些虛擬對象根據(jù)規(guī)劃圖利用 VRML造型與紋理帖圖的方式完成。為了減小文件容量,提高渲染速度,對于樹木、假山等采用 VRML的表面帖圖和布告牌節(jié)點 Billboard完成。如圖2所示的竹子造型,文件大小為900k,而采用透明背景的帖圖只有1k。
圖2 竹子
3)場景組合。將建立的各種造型通過VRML的Transform節(jié)點和內聯(lián)節(jié)點Inline組合為最終的虛擬校園場景。模型創(chuàng)建與場景組合時,為保證能順暢地漫游虛擬校園,必須對VRML文件進行優(yōu)化,優(yōu)化分為模型自身優(yōu)化以及利用 VRML語法特點優(yōu)化兩種。方法一是指采用 3DMax建模時將結構分解,盡量采用拉伸或放樣功能生成簡單幾何形體的組合,然后進行紋理帖圖。這樣可以大量減少模型的三角面片,從而減少 VRML文件大小。方法二優(yōu)化的措施包括:
· 用LOD節(jié)點描述復雜造型不同細節(jié)層次的組織關系,提高場景真實感和渲染速度;
· 使用DEF/USE機制減少代碼的重復編寫;
· 利用inline技術,將不同VRML文件內聯(lián)成復雜的場景;
· 將VRML文件保存為壓縮形式(*.wrz)。
VRML中的交互行為通過事件體系實現(xiàn)。VRML場景以HTML中OBJECT標記形式嵌入到網(wǎng)頁中。系統(tǒng)集成后交互功能通過兩種方式實現(xiàn)。
(1)基于內部腳本編程接口( JavaScript Authoring Interface, SAI)的交互
通過在 VRML文件中編輯腳本節(jié)點 Script實現(xiàn)用戶與虛擬校園的交互。Script節(jié)點是與外部程序相連的接口。該節(jié)點主要包括四部分:url域、field域、eventIn事件和eventOut事件(圖3)。Script通過接受eventIn事件調用相應的處理過程函數(shù),經(jīng)過程處理后得出的數(shù)據(jù)作為 eventOut事件發(fā)送出去,其中 eventIn事件的值可以作為過程函數(shù)的因變量值,如果需要則用field域定義某個中間變量。處理過程函數(shù)可以使用 VRML瀏覽器支持的程序語言編寫,通常有 Java、JavaScript等。
圖3 Script傳遞事件
VRML場景內部的動態(tài)和交互利用 SAI實現(xiàn)的包括升國旗唱國歌、汽車引航、虛擬教室與辦公室的交互、沁園中世紀鐘的運轉及路燈的開關、辦公樓上方和大門上方顏色不斷變化的文字,五星紅旗隨風飄揚等。其中,汽車引航功能的實現(xiàn)方法和部分代碼如下。
系統(tǒng)通過一輛汽車為用戶導航,汽車一路行駛經(jīng)過學校的主要建筑物和景點,行駛路線是:學校大門——第一教學樓——高層辦公樓——主席像、升國旗唱國歌——大禮堂——學生宿舍區(qū)——圖書館——沁園世紀鐘——第二教學樓等。通過視點的自動切換與綁定,實現(xiàn)汽車引航功能。實現(xiàn)引航的部分代碼如下:
(2)基于外部編程接口(External Authoring Interface, EAI)的交互
通過EAI系統(tǒng)實現(xiàn)視點設置和追蹤、景點選擇、信息提示、虛擬教室與辦公室的交互操作等功能。系統(tǒng)主界面如圖4,分上下兩個部分。上方顯示 VRML場景,下方是交互控制區(qū),通過下拉列表選擇景點和導航方式,當前視點的信息顯示在視點文本框,用戶也可以設置視點,景點的相關信息顯示在最下方。圖5是選擇沁園世紀鐘視點的畫面。圖6是進入虛擬教室的場景,用戶可以通過按鈕控制投影的開關、教室內燈的開關、桌椅的增減等。
視點自動切換及追蹤的代碼如下:
圖4 系統(tǒng)主界面
圖5 沁園世紀鐘視點
圖6 虛擬教室場景
在研究VRML構建三維交互式虛擬場景的關鍵技術和方法的基礎上,構建了一個三維虛擬校園交互系統(tǒng),該系統(tǒng)將VRML場景與HTML網(wǎng)頁整合、以JavaScript為場景交互和通信控制工具,豐富了與虛擬校園交互的手段,方便了用戶的操作。該系統(tǒng)發(fā)布到校園網(wǎng)上,得到了瀏覽者的好評。
[1]馮桂珍, 池建斌, 等. 基于 Java3D的虛擬校園構建技術研究[J]. 工程圖學學報, 2009, 30(6): 186-190.
[2]余 莉, 王 乘. 基于虛擬現(xiàn)實技術的數(shù)字校園三維仿真系統(tǒng)[J]. 計算機仿真, 2004, 21(4): 98-101.
[3]SCHANK R C. The virtual university [J].CYBERPSYCHOLOGY & BEHAVIOR, 2000, 3(1):9-16.
[4]http://buaa.you800.cn/
[5]浙江大學三維虛擬校園. http://hi.baidu.com/6dxy/blog/item/dfc7a0ec9e57f0ddb31cb1c7.html
[6]龔建華, 林 琿, 譚 倩. 虛擬香港中文大學校園的設計與初步試驗[J]. 測繪學報, 2002, 31(1):39-43.
[7]VRML97 Standard. International standard ISO/IEC 14772-1:1997 [S]. Copyright 1997 The VRML Consortium Incorporated.
[8]馮桂珍, 池建斌. 基于 Web的虛擬現(xiàn)實模型創(chuàng)建工具[J]. 工程圖學學報, 2004, 25(3): 30-34.
[9]馮桂珍, 池建斌, 等. VRML模型創(chuàng)建工具中的可視化交互操作的設計和實現(xiàn)[J]. 系統(tǒng)仿真學報, 2006,18(2): 387-390.