虛擬城市的開發(fā)技術(shù)探討_第1頁
虛擬城市的開發(fā)技術(shù)探討_第2頁
虛擬城市的開發(fā)技術(shù)探討_第3頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、虛擬城市的開發(fā)技術(shù)探討虛擬城市的開發(fā)技術(shù)探討虛擬城市的開發(fā)技術(shù)探討武漢測繪科技大學(xué)土地科學(xué)學(xué)院 涂超摘要:本文介紹了虛擬城市的原理及其開發(fā)技術(shù),闡述了虛 擬現(xiàn)實應(yīng)用開發(fā)基本手段和過程,并進(jìn)一步敘述了優(yōu)化應(yīng)用的常 用技巧。關(guān)鍵詞:虛擬城市,VRML, LOD長期以來,城市規(guī)劃人員的一 個重要的工作就是進(jìn)行各種設(shè)計或規(guī)劃圖的繪制,但是這些圖紙 并不能給人們提供一個宜觀的、富有真實感的場景。后來,人們 雖然也使用紙板或木料來制作三維模型,以實現(xiàn)城市景觀的三維 可視化。但其制作的工作量巨大、費(fèi)用昂貴、須具備較高的制作 技巧,而且僅能從外圍觀看,無法進(jìn)入,修改也很困難。鑒于以 上原因,

2、在計算機(jī)上建立三維虛擬城市成為必然。虛擬城市的建 立能夠全方位地、直觀地給人們提供有關(guān)城市的各種具有真實感 的場景信息,并可以以第一人稱的身份進(jìn)入城市,感受到與實地 觀察相似的真實感。虛擬城市的各種模型易于修改,而且可以實 現(xiàn)城市信息的查詢與分析功能。這些都是傳統(tǒng)的方法所無法比擬 的。本文用制作實例的方式探討了虛擬城市的開發(fā)技術(shù)。1.虛擬城市開發(fā)的基本原理第1頁共1頁要建立虛擬城市,首先要建立三維城市模型。三維城市空間 中的典型實體對象一般具有以下幾種:城市中的各種建筑物、街 道、綠地、公共場所、城市地形、樹木等。除此以外,還有一些 輔助性的設(shè)滋,如消防栓、變電站、噴泉、公園的長椅等。這些 模

3、型的制作可以采用編程的方法或者現(xiàn)有的三維模型制作軟件來 完成。所謂編程的方法是在程序中利用三維空間中的坐標(biāo)點和圖 形繪制函數(shù)來實現(xiàn)模型的建立,由于城市模型的造型十分復(fù)雜, 因而很難確定模型的具體幾何數(shù)據(jù),此方法多用來制作地形模 型,對于其他模型的制作則很少采用。制作城市模型的最好的方 法是使用現(xiàn)有的成熟的三維設(shè)計軟件,如:3DSMAX. TRUESPACE 等。虛擬城市除了能實現(xiàn)城市信息的三維可視化外,其另一個重 要的功能就是能實現(xiàn)城市專題信息的查詢功能,甚至實現(xiàn)一定的 分析功能。可以將虛擬城市定義為以下公式:虛擬城市二三維城市模型+專題信息+查詢功能+分析功能要實現(xiàn)一個虛擬城市系統(tǒng)可考慮以下

4、兩種方案:一種方案是利用高級語言和三維圖形開發(fā)庫的方法,常用的 開發(fā)語言是C+,常用的圖形開發(fā)庫是OpenGL3D或者 Directx3Do此方法的特點是開發(fā)的靈活性強(qiáng)、能實現(xiàn)功能復(fù)雜的 應(yīng)用系統(tǒng)。其缺點是開發(fā)者須熟練掌握編程技術(shù),并且具備較高 的計算機(jī)圖形學(xué)知識。另外,還要學(xué)習(xí)OpenGL3D或者Directx3D第1頁共1頁 的復(fù)雜開發(fā)技術(shù)。此方案的實現(xiàn)難度大,一般用戶根本無法勝 任。其實現(xiàn)的應(yīng)用系統(tǒng)也很難滿足網(wǎng)上使用的要求。第二種方案是使用專用的三維虛擬開發(fā)工具,目前廣泛使用 的是VRML語言。VRML (虛擬現(xiàn)實造型語言)是一種描述交互式三 維世界和對象的文件格式。VRML允許描述對象

5、并把對象組合到虛 擬場景中,可以實現(xiàn)仿真系統(tǒng),可模擬動畫、具有動力學(xué)特性的 物體。VRML能構(gòu)造一個全交互的世界,其中的對象能對外部事件 做出響應(yīng),并可在其中任意穿行。另外,其重要特性是支持虛擬 場景的網(wǎng)上發(fā)布,并可實現(xiàn)多用戶的實時參與。VRML比高級語言 容易掌握,并且無須再去了解OpenGL3D或者D讓ectx3D之類的三 維圖形開發(fā)庫,這對于普通用戶來說無疑是一個福音。若配以 Java程序的支持,也可實現(xiàn)功能較強(qiáng)大的系統(tǒng)。綜合以上兩種方法,對于功能不太復(fù)雜的應(yīng)用,采用后一種 方法較為合適。下面我們將就后一種方案詳細(xì)介紹虛擬城市開發(fā) 的技術(shù)細(xì)節(jié)。2.虛擬城市的開發(fā)技術(shù)2. 1.三維城市模型

6、的建立虛擬場景的建立和建筑CAD中的場景的建立有著很大的區(qū) 別,它首先強(qiáng)調(diào)的是模型的簡單化,這是由虛擬現(xiàn)實的實時性要 求決定的。在響應(yīng)速度和場景的真實性發(fā)生沖突時,應(yīng)犧牲一定 的真實性,只要能在視覺上達(dá)到基本真實即可。因此,常用一些 簡單的框架來代替復(fù)雜模型,但為了保證一定的真實性,可采用第1頁共1頁 貼圖的方式來彌補(bǔ)視覺上的不足。貼圖有以下兩種制作方法:一 種是使用繪畫軟件進(jìn)行手工繪制、另一種是對建筑物的各個觀察 面進(jìn)行拍照,然后用掃描儀掃描成相關(guān)貼圖材質(zhì)。第一種方法的 顏色可限定在256色內(nèi),其壓縮的比例較大,貼圖文件較小,生 成的場景文件也較小,適合網(wǎng)上傳遞和實時性的要求。后一種方 法視

7、覺效果好,但文件的壓縮比例較小,貼圖文件較大,生成的 場景大,在網(wǎng)上傳遞和實時性方面不如前一種方法好。無論用哪 一種方法都需考慮貼圖的分辨率和尺寸,為了便于下載和渲染, 在質(zhì)量和大小允許的情況下,一幅貼圖限為320*240 (或 240*320)像素、分辨率為72dpi,用JPEG壓縮(采用最高壓縮 比)后約為20K字節(jié)。根據(jù)以上所述的貼圖制作方法,虛擬場景中的對象模型可分 為以下幾類:(a) 由簡單幾何體組成的簡單模型:該類模型常用作遠(yuǎn)處建筑 物的替身,在L0D方法中采用;(b) 賦予手繪貼圖的模型;(c) 賦予照片材質(zhì)的模型;(d) 賦予手繪和照片混合材質(zhì)的模型;(e) 具有全部細(xì)節(jié)的精致

8、模型;2. 1.虛擬城市交互查詢功 能的建立第1頁共1頁為虛擬城市模型加入交互和查詢功能可采用兩種方法:通過 編程加入相應(yīng)的交互和查詢功能、利用VRML的輔助工具來完成交 互和查詢功能的加入。后一種方法比較適合普通的用戶。Kiix制作了特殊的VRML輸出嵌入程序,可以輸出場景,包括 幾何、材質(zhì)、動畫制作等,嵌入程序也可制作特殊的VRML輔助工 具來規(guī)定場景的交互元素。運(yùn)行VRML嵌入 程序VRMLOUT. EXE即 可安裝VRML嵌入程序。通過VRML嵌入程序,可設(shè)置以下輔助工 具:Anchor:可將某一實體作為熱點,當(dāng)被點擊時,取出網(wǎng)上所指 定的文件。若為VRML場景文件,則該場景被下載顯示

9、。若為其他 類型文件,由瀏覽器決定如何處理;TouchSensor:對從指定設(shè)備的輸入產(chǎn)生相應(yīng)的事件,這些事 件表示用戶是否指向特定幾何體,同時也表示用戶何時何處按下 定位設(shè)備的按鈕;ProxSensor:接近感知器,指定當(dāng)用戶進(jìn)入、離開或在立方體 的'區(qū)域內(nèi)移動時產(chǎn)生的事件;TimeSensor:在時間變化是發(fā)出事件,可用來控制動畫,也可 用于某一時刻進(jìn)行某項活動,或于某一時間間隔中產(chǎn)生事件;Navlnfo:描述有關(guān)觀察者和觀察模式的物理特性;Background:設(shè)定場景的背景;Fog:設(shè)置霧化的效果;第1頁共1頁Sound:設(shè)定聲音片段的有效范圍,以產(chǎn)生隨距離改變的音響 效果;B

10、illboard:是某一對象隨用戶一起旋轉(zhuǎn),以使之始終面向用 戶;L0D:允許瀏覽器在物體表示的不同層次細(xì)節(jié)間自動切換;Inline:可在文件中引入外部文件的場景,避免重復(fù)制作。通過以上輔助工具,就可制作出虛擬城市場景及其交互和查 詢功能。2. 3.若干開發(fā)技巧介紹2. 3. 1減少文件大小的方法(1) 使用實例:對于在場景中多次使用的對象,可在該對象 首次使用時用DEF給物體命名,以后僅需通過名字即可引用該物 體。(2) 使用原型:原型物體是指那些使用頻繁且改動不大的物 體。使用它可減少文件的大小。由于使用了 DEF/USE方法,物體 一旦定義,只要指定發(fā)生變化的公共接口即可。另外,原型顯示

11、 出場景層次中哪一部分可修改,瀏覽器可自由地優(yōu)化那些不修改 的部分。(3) 壓縮文件:在發(fā)布文件前,使用gzipX具壓縮VRML文 件和相關(guān)的文件,大約可是文件減小10100倍。2. 3.2提髙渲染速度的技巧(1) 簡化場景:簡化場景有以下方法:第1頁共1頁減少多邊形的數(shù)目,這可極大地提高執(zhí)行的性能;使用紋理代替多邊形造型,既可美化場景又可提高性能;使用灰度圖的紋理;盡量少用光源,這將有效地提高渲染的速度;使用布告板節(jié)點,此節(jié)點允許在場景中使用二維圖象來模 擬三維造型并旋轉(zhuǎn),從而始終面對觀察者。此法既減小了文件又 不影響真實效果,可用來制作樹木、電線桿、路牌、消防栓等輔 助性對象;(2) 場景

12、分割:將大的場景分為多個相對獨立的小場景,通過 Anchor節(jié)點為場景中邏輯上分離的部分建立連接關(guān)系;(3) 自適應(yīng)LOD節(jié)點:若在LOD的range域中未明確指定具體 值,瀏覽器會在給定時刻決定哪一層物體需要顯示。該節(jié)點允許 根據(jù)硬件平臺的能力調(diào)整場景的細(xì)節(jié)程度。在建立一條街道時,由于街道兩邊有許多精細(xì)的建筑物,要對它們進(jìn)行實時渲染是不 可能的,但又不能不可見,僅需讓用戶能以一定的速度前進(jìn)即 可。在此,可為每個建筑物建立兩個LOD節(jié)點,一個是沒有明確 范圍的外部LOD,另一個是具有near和far范圍的內(nèi)部LOD節(jié) 點。內(nèi)部節(jié)點能按建筑物與攝像機(jī)的距離調(diào)整層次,外部”自適應(yīng) LOD “節(jié)點允許瀏覽器調(diào)整必要的多個建筑物以趕上場景的動態(tài)變 化。(4) 碰撞檢測要花費(fèi)大量的處理時間,為提高對復(fù)雜物體的 碰撞檢測速度,可在Collision節(jié)點的proxy (替身)域指定某一第1頁共1頁 更為簡單的幾何體作為該形體的替身,它與被替代的原形體占用 大致相同的空間。這樣,可大大減少檢測時間。3.結(jié)束語以上 介紹了虛擬城市的基本原理和制作技巧,對于進(jìn)行其他領(lǐng)域的虛 擬現(xiàn)實應(yīng)用制作同樣有效,僅為場景中實體的不同。用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論