張泊平,女,碩士,副教授,中國計(jì)算機(jī)學(xué)會(huì)高級(jí)會(huì)員,畢業(yè)于鄭州大學(xué)電子信息工程學(xué)院。現(xiàn)任許昌學(xué)院信息工程學(xué)院數(shù)字媒體技術(shù)系主任。長期從事數(shù)字媒體技術(shù)、虛擬現(xiàn)實(shí)等領(lǐng)域的科研和教學(xué)工作。近年來主持省部級(jí)項(xiàng)目10項(xiàng),發(fā)表學(xué)術(shù)論文30余篇,出版專著2部。獲得河南省教學(xué)大獎(jiǎng)賽一等獎(jiǎng),獲得河南省優(yōu)秀教師、教學(xué)標(biāo)兵、優(yōu)秀青年骨干教師等榮譽(yù)稱號(hào)。
第1章虛擬現(xiàn)實(shí)概述1
1.1虛擬現(xiàn)實(shí)的基本概念1
1.2虛擬現(xiàn)實(shí)的特點(diǎn)2
1.3虛擬現(xiàn)實(shí)技術(shù)的意義2
1.4虛擬現(xiàn)實(shí)系統(tǒng)的組成3
1.5虛擬現(xiàn)實(shí)系統(tǒng)的分類4
1.6虛擬現(xiàn)實(shí)設(shè)備6
1.7虛擬現(xiàn)實(shí)技術(shù)的應(yīng)用研究6
1.7.1虛擬現(xiàn)實(shí)技術(shù)在城市規(guī)劃領(lǐng)域中的應(yīng)用7
1.7.2虛擬現(xiàn)實(shí)技術(shù)在室內(nèi)設(shè)計(jì)中的應(yīng)用7
1.7.3虛擬現(xiàn)實(shí)技術(shù)在房產(chǎn)開發(fā)中的應(yīng)用8
1.7.4虛擬現(xiàn)實(shí)技術(shù)在工業(yè)仿真中的應(yīng)用9
1.7.5虛擬現(xiàn)實(shí)技術(shù)在文物古跡中的應(yīng)用9
1.7.6虛擬現(xiàn)實(shí)技術(shù)在虛擬社區(qū)中的應(yīng)用10
1.7.7虛擬現(xiàn)實(shí)技術(shù)在道路橋梁中的應(yīng)用11
1.8虛擬現(xiàn)實(shí)的技術(shù)瓶頸12
1.9增強(qiáng)現(xiàn)實(shí)13
1.9.1增強(qiáng)現(xiàn)實(shí)的概念13
1.9.2增強(qiáng)現(xiàn)實(shí)的形式14
1.9.3增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法16
1.9.4增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方式17
1.9.5VR與AR/MR17
參考文獻(xiàn)20
第2章虛擬現(xiàn)實(shí)關(guān)鍵技術(shù)21
2.1計(jì)算機(jī)視覺21
2.2虛擬現(xiàn)實(shí)的基本原理23
2.3基于圖像繪制的虛擬現(xiàn)實(shí)技術(shù)25
2.3.1三維建模技術(shù)25
2.3.2幾何建模技術(shù)26
2.3.3三維圖形變換27
2.3.4OpenGL技術(shù)28
2.4基于圖像的虛擬現(xiàn)實(shí)技術(shù)29
2.4.1基于圖像的建模與繪制技術(shù)29
2.4.2全光函數(shù)30
2.4.3幾種典型的IBMR技術(shù)及其虛擬現(xiàn)實(shí)系統(tǒng)37
2.5碰撞檢測技術(shù)44
2.6人機(jī)交互技術(shù)46
2.6.1Unity3D46
2.6.2VRPlatform50
2.6.3Virtools50
2.6.4Quest3D51
參考文獻(xiàn)52
虛擬現(xiàn)實(shí)理論與實(shí)踐目錄
第3章虛擬現(xiàn)實(shí)三維建模技術(shù)53
3.1精確三維建模方法53
3.1.1逆向建模技術(shù)53
3.1.2AutoCAD等其他軟件三維建模57
3.1.3基于遙感影像的三維城市建模方法57
3.1.4基于激光、雷達(dá)的建模方法57
3.1.5圖形數(shù)據(jù)格式轉(zhuǎn)換57
3.2輔助三維建模方法58
3.2.13ds Max人工建模58
3.2.23ds Max程序建模59
3.3三維建模紋理數(shù)據(jù)的獲取59
3.4材質(zhì)燈光技術(shù)60
3.5渲染與烘焙技術(shù)60
3.6三維模型優(yōu)化技術(shù)61
3.6.1虛擬現(xiàn)實(shí)建模原則61
3.6.2導(dǎo)入模型常見問題61
3.6.3三維模型優(yōu)化方法62
參考文獻(xiàn)65
第4章虛擬現(xiàn)實(shí)人機(jī)交互66
4.1人機(jī)交互66
4.2人機(jī)交互研究現(xiàn)狀66
4.3虛擬現(xiàn)實(shí)技術(shù)在人機(jī)交互中的優(yōu)勢67
4.4虛擬現(xiàn)實(shí)人機(jī)交互的發(fā)展前景69
4.5Unity3D虛擬交互技術(shù)69
4.5.1Unity3D資源包70
4.5.2Unity腳本71
4.5.3光照貼圖 UV76
4.5.4啟用DirectX圖形API功能76
4.5.5UnityGUI控制78
4.5.6地形編輯器82
4.5.7物理特效84
4.5.8音頻設(shè)計(jì)89
4.5.9粒子系統(tǒng)92
參考文獻(xiàn)99
第5章虛擬交互式教學(xué)輔助系統(tǒng)100
5.1飛機(jī)引擎拆裝工程背景100
5.2飛機(jī)引擎三維拆裝交互系統(tǒng)概述100
5.2.1系統(tǒng)組成101
5.2.2系統(tǒng)功能102
5.2.3系統(tǒng)接口103
5.3飛機(jī)引擎三維拆裝虛擬交互系統(tǒng)設(shè)計(jì)104
5.3.1用戶登錄場景設(shè)計(jì)105
5.3.2選擇系統(tǒng)場景110
5.3.3異步加載場景112
5.3.4主場景的編寫——三維交互類場景系統(tǒng)112
5.3.5主場景的編寫——三維自動(dòng)交互類場景系統(tǒng)121
參考文獻(xiàn)123
第6章交互式室內(nèi)外虛擬漫游系統(tǒng)124
6.1虛擬場景漫游的開發(fā)技術(shù)124
6.1.1基于幾何圖形的虛擬漫游技術(shù)125
6.1.2基于圖像的虛擬漫游技術(shù)125
6.1.3基于圖形與圖像混合建模的虛擬漫游技術(shù)126
6.2虛擬漫游中的關(guān)鍵技術(shù)126
6.2.1場景簡化的細(xì)節(jié)層次技術(shù)126
6.2.2碰撞檢測技術(shù)127
6.2.3路徑規(guī)劃技術(shù)127
6.3數(shù)據(jù)準(zhǔn)備與預(yù)處理129
6.3.1預(yù)處理129
6.3.2基本設(shè)置129
6.3.3修改視角控制鍵為右鍵133
6.3.4如何取消瀏覽窗口上的右鍵菜單134
6.3.5植物效果設(shè)置134
6.3.6水面效果的設(shè)置138
6.3.7烘焙光影貼圖的處理138
6.4交互式漫游系統(tǒng)設(shè)計(jì)流程140
6.5交互式漫游系統(tǒng)設(shè)計(jì)141
6.5.1功能需求141
6.5.2系統(tǒng)設(shè)計(jì)142
6.5.3交互設(shè)計(jì)143
6.6交互式漫游系統(tǒng)實(shí)現(xiàn)144
6.6.1交互式界面實(shí)現(xiàn)144
6.6.2室內(nèi)漫游實(shí)現(xiàn)150
6.6.3室外漫游實(shí)現(xiàn)163
參考文獻(xiàn)164
第7章在線虛擬房地產(chǎn)展銷系統(tǒng)應(yīng)用165
7.1在線虛擬房地產(chǎn)展銷系統(tǒng)工程背景165
7.1.1傳統(tǒng)銷售模式和虛擬展示交互模式比較166
7.1.2在線虛擬房地產(chǎn)展銷系統(tǒng)功能需求166
7.1.3在線虛擬房地產(chǎn)展銷系統(tǒng)項(xiàng)目特點(diǎn)166
7.2在線虛擬房地產(chǎn)展銷系統(tǒng)架構(gòu)167
7.2.1展示子系統(tǒng)167
7.2.2交互子系統(tǒng)168
7.2.3存儲(chǔ)子系統(tǒng)168
7.3在線虛擬房地產(chǎn)展銷系統(tǒng)關(guān)鍵技術(shù)168
7.3.1NGUI插件技術(shù)168
7.3.2node.js 技術(shù)169
7.4小區(qū)模型和場景設(shè)計(jì)169
7.4.1小區(qū)CAD建模169
7.4.2搭建綜合場景169
7.4.3模型渲染與烘焙170
7.4.4模型導(dǎo)出171
7.5在線房地產(chǎn)系統(tǒng)交互功能設(shè)計(jì)171
7.5.1程序整體架構(gòu)172
7.5.2序列幀動(dòng)畫調(diào)用172
7.5.3場景中的行走攝像機(jī)172
7.5.4場景材質(zhì)與模型替換174
7.5.5銷控表設(shè)計(jì)175
7.5.6房貸計(jì)算器設(shè)計(jì)176
7.5.7自動(dòng)截圖功能截圖176
7.6虛擬交互功能系統(tǒng)實(shí)現(xiàn)178
7.6.1界面設(shè)計(jì)178
7.6.2展示子系統(tǒng)實(shí)現(xiàn)183
7.6.3交互子系統(tǒng)185
7.6.4存儲(chǔ)子系統(tǒng)185
7.7系統(tǒng)調(diào)試與運(yùn)行185
7.7.1功能測試185
7.7.2系統(tǒng)測試192
參考文獻(xiàn)196
第3章虛擬現(xiàn)實(shí)三維建模技術(shù)
在虛擬現(xiàn)實(shí)系統(tǒng)中構(gòu)造一個(gè)具有真實(shí)感的三維虛擬場景非常重要。這就需要建設(shè)三維模型,它是指在三維空間中對(duì)場景表面以及地表以上的各種自然與人工地物三維模擬表現(xiàn),以便產(chǎn)生與真實(shí)場景相同體驗(yàn)、感知與印象的數(shù)字景觀。因此,三維場景模型建立的任務(wù),是依據(jù)不同類型地物的各自特點(diǎn),建立能夠反映各自特征的三維模型,以盡可能真實(shí)地表現(xiàn)區(qū)域真實(shí)景觀。
三維場景需要由多種數(shù)據(jù)來進(jìn)行構(gòu)造,包括數(shù)字化高程模型、遙感影像數(shù)據(jù)、二維矢量數(shù)據(jù)、圖片數(shù)據(jù)、三維模型數(shù)據(jù)等。三維場景建造質(zhì)量的高低直接關(guān)系到實(shí)時(shí)三維漫游的效果。要在計(jì)算機(jī)中模擬現(xiàn)實(shí)世界,就必須構(gòu)建出在外形、光照、質(zhì)感等各方面都與真實(shí)對(duì)象相似的對(duì)象模型。
3.1精確三維建模方法
虛擬現(xiàn)實(shí)建模技術(shù)應(yīng)用主要是考慮到模型的精確性,為了準(zhǔn)確真實(shí)地對(duì)工程施工過程進(jìn)行仿真模擬,就必須使虛擬模型滿足工程應(yīng)用需要的精度。為了獲得足夠精確的DWG 模型,一般采用逆向建模技術(shù)進(jìn)行模型重建。
3.1.1逆向建模技術(shù)
逆向建模主要通過三維掃描技術(shù)來獲得實(shí)體表面的三維點(diǎn)云數(shù)據(jù)并得到對(duì)應(yīng)點(diǎn)的紋理來構(gòu)建虛擬現(xiàn)實(shí)模型,從而利用計(jì)算機(jī)技術(shù)對(duì)虛擬模型進(jìn)行分析、模擬。逆向建模過程主要包括4個(gè)環(huán)節(jié),分別是實(shí)體工程點(diǎn)云數(shù)據(jù)采集、點(diǎn)云數(shù)據(jù)處理、模型重構(gòu)、模型修飾,如圖31所示。
圖31逆向建模過程
1. 工程點(diǎn)云數(shù)據(jù)采集
目前,工程點(diǎn)云數(shù)據(jù)主要有接觸式和非接觸式兩種采集方式。
接觸式主要使用三坐標(biāo)測量機(jī)進(jìn)行,通用性強(qiáng),精度相對(duì)較高,對(duì)所測物體的材質(zhì)和表面色澤無特殊要求,已經(jīng)廣泛應(yīng)用到電子、機(jī)械制造、汽車和航空航天等領(lǐng)域。但在測量柔軟物體時(shí)有很大局限性,而且會(huì)損傷儀器和被測物體,對(duì)工作環(huán)境要求也很高。
非接觸式主要是利用某種與物體表面發(fā)生相互作用的物理現(xiàn)象來獲取實(shí)體的三維信息。利用光學(xué)原理發(fā)展起來的三維測量形狀的方法應(yīng)用*為廣泛,如三維激光掃描儀投影光柵法、激光線結(jié)構(gòu)光掃描、數(shù)字照相系統(tǒng)等方法,以及新出現(xiàn)的切層法、計(jì)算機(jī)斷層掃描(CT)法等。非接觸式測量具有測量速度快以及不用和實(shí)物接觸等優(yōu)點(diǎn),在實(shí)際中得到廣泛應(yīng)用,它利用三維激光掃描儀采集點(diǎn)云數(shù)據(jù),在進(jìn)行測點(diǎn)布置時(shí)要遵循以下原則。
(1) 掃描區(qū)域要在掃描儀控制的角度和量程范圍內(nèi)。
(2) 測點(diǎn)密度分布均勻、合理。
(3) 每站掃描目標(biāo)必須有公共區(qū)域和明顯的特征點(diǎn)以便后續(xù)模型拼接。
(4) 高溫或者大風(fēng)等天氣不宜進(jìn)行數(shù)據(jù)采集。
(5) 在沒有明顯的特征點(diǎn)時(shí)可以做合適的站標(biāo)作為特征點(diǎn)。
(6) 測點(diǎn)*好布置在硬化路面上,保持掃描儀穩(wěn)定。
虛擬現(xiàn)實(shí)理論與實(shí)踐第3章虛擬現(xiàn)實(shí)三維建模技術(shù)2. 三維模型重構(gòu)
任何測量設(shè)備在進(jìn)行數(shù)據(jù)采集時(shí),都會(huì)有一定的范圍和距離限制,同時(shí)由于非掃描目標(biāo)遮擋,特別是對(duì)大型的土建工程進(jìn)行三維掃描,一次掃描是不可能獲得較為完整的點(diǎn)云數(shù)據(jù),因此,就必須對(duì)掃描目標(biāo)進(jìn)行多次、重復(fù)的測量,獲得多組掃描數(shù)據(jù)結(jié)果,利用相關(guān)點(diǎn)云處理技術(shù)或相關(guān)軟件對(duì)采集的數(shù)據(jù)進(jìn)行拼接、整合、模型接縫處理、非掃描目標(biāo)點(diǎn)云數(shù)據(jù)刪除等數(shù)據(jù)處理,將數(shù)據(jù)統(tǒng)一到同一坐標(biāo)系統(tǒng)下,從而構(gòu)建目標(biāo)對(duì)象的三維點(diǎn)云數(shù)據(jù)模型。
3. 點(diǎn)云數(shù)據(jù)處理
目前使用的掃描儀種類繁多,輸出數(shù)據(jù)的質(zhì)量參差不齊,因此需要通過編輯以獲得高質(zhì)量的數(shù)據(jù)。此外,即使數(shù)據(jù)的質(zhì)量很高,仍然需要在曲面重構(gòu)之前對(duì)這些數(shù)據(jù)進(jìn)行編輯,一般需要完成包括噪點(diǎn)刪除、數(shù)據(jù)調(diào)整、數(shù)據(jù)光順、區(qū)域修剪、復(fù)制、數(shù)據(jù)密度修改、尖角保留等步驟方可使用,數(shù)據(jù)處理過程要結(jié)合實(shí)際情況,同時(shí)依賴于操作者的經(jīng)驗(yàn);特別要避免因初始數(shù)據(jù)改變而造成得形狀扭曲和精度降低等問題。一般要進(jìn)行以下幾個(gè)方面的工作。
(1) 噪點(diǎn)刪除。
噪點(diǎn)大致可分為兩類: *類,掃描目標(biāo)上的奇異點(diǎn)集;第二類,非掃描目標(biāo)的點(diǎn)集,即所在目標(biāo)之外的對(duì)象點(diǎn)云數(shù)據(jù)。在修改*類噪點(diǎn)時(shí),需將奇異點(diǎn)調(diào)回至“原位”,而第二類噪點(diǎn)需要做刪除處理。刪除噪點(diǎn)的方法通常是先通過圖形交互,采用手工刪除處理,但此法不適用于數(shù)據(jù)量大的點(diǎn)云數(shù)據(jù)處理。除此之外,還可以采用下述方法來刪除噪點(diǎn)。
① 將測量點(diǎn)沿特定方向平移,消除數(shù)據(jù)波動(dòng),修改范圍一般由用戶通過圖形交互設(shè)定。
② 考慮兩個(gè)連續(xù)點(diǎn)之間的角度,若某點(diǎn)與它前一點(diǎn)的角度超過某一規(guī)定值,則剔除該點(diǎn)。
③ 把奇異點(diǎn)移到平均位置。
(2) 數(shù)據(jù)插補(bǔ)。
受測量設(shè)備和測量方法的影響,必然產(chǎn)生測量數(shù)據(jù)點(diǎn)分布密度和范圍不均的結(jié)果。
在掃描盲區(qū),缺少測量數(shù)據(jù),圖形擬合時(shí)容易失真所以在重構(gòu)模型時(shí)需要對(duì)數(shù)據(jù)進(jìn)行加密、插值,否則會(huì)產(chǎn)生較大的波動(dòng)。因此,對(duì)于某些局部數(shù)據(jù)的不足,可用相鄰點(diǎn)插值和屏幕方式等方法來進(jìn)行插補(bǔ)。
(3) 數(shù)據(jù)點(diǎn)精簡。
數(shù)據(jù)精簡可以根據(jù)一定要求精簡測量點(diǎn)的數(shù)量來提高點(diǎn)云數(shù)據(jù)在曲面重構(gòu)時(shí)的效率和質(zhì)量。精簡方式要根據(jù)點(diǎn)云類型加以選擇,*小包圍區(qū)域法和等分布密度法適用于網(wǎng)格化點(diǎn)云數(shù)據(jù)精簡。隨機(jī)采樣方法適用于散亂點(diǎn)云數(shù)據(jù)精簡;而等間距精簡、量精簡等和倍率精簡等方法則適用于掃描線點(diǎn)云和多邊形點(diǎn)云數(shù)據(jù)精簡。
(4) 數(shù)據(jù)平滑。
數(shù)據(jù)平滑通常采用標(biāo)準(zhǔn)平均(Averaging)、高斯(Gaussian)等濾波算法。平均濾波算法采用數(shù)據(jù)點(diǎn)的統(tǒng)計(jì)值的平均值,在消除數(shù)據(jù)尖楞時(shí)效果較好;若要較為完整地保存原始數(shù)據(jù)形貌,則采用高斯算法較好,因?yàn)槠鋵?duì)數(shù)據(jù)的平均化小。實(shí)際操作時(shí),需點(diǎn)云質(zhì)量及以后建模要求靈活選擇濾波算法。
(5) 數(shù)據(jù)分割。
數(shù)據(jù)分割是根據(jù)實(shí)物外形曲面的組成類型,將同一子曲面類型的數(shù)據(jù)劃分為互不重疊而又特征單一的數(shù)據(jù)組,為后續(xù)模型重建提供方便。目前數(shù)據(jù)分割方法主要有: 基于邊、面、群簇的方法。
① 基于邊。
主要是根據(jù)數(shù)據(jù)點(diǎn)的局部幾何特性集中檢測到邊界點(diǎn)后對(duì)邊界點(diǎn)進(jìn)行連接,再根據(jù)檢測的邊界將整個(gè)數(shù)據(jù)分割為多個(gè)獨(dú)立的點(diǎn)集。不過,該方法計(jì)算量大,過程也相對(duì)煩瑣。
② 基于面。
該方法是根據(jù)指定的曲面方程通過自下而上或自上而下的方法迭代擬合數(shù)據(jù)點(diǎn)集。自下而上的方法是從特征點(diǎn)開始擬合,按某種規(guī)則不斷加進(jìn)周圍點(diǎn);自上而下的方法是假設(shè)所有點(diǎn)屬于同一個(gè)面,擬合過程中誤差超出要求時(shí),則把原集合分為兩個(gè)子集。此方法的難點(diǎn)在于分割閾值的選擇和控制,為了簡化擬合過程可采用直線分割。
③ 基于群簇。
該方法通過群簇技術(shù)把局部幾何特征參數(shù)相似的數(shù)據(jù)點(diǎn)聚集為一類,但聚類方法需要預(yù)先指定分類的個(gè)數(shù),容易出現(xiàn)細(xì)碎而片,往往要對(duì)碎片進(jìn)一步處理。
(6) 冗余數(shù)據(jù)。
隨著測量精度要求的提高,三維激光掃描儀獲取的點(diǎn)云數(shù)據(jù)包含了大量的冗余數(shù)據(jù),必須對(duì)數(shù)據(jù)進(jìn)行篩選和壓縮處理。一般的篩選和壓縮方法就是設(shè)定一個(gè)*小距離,然后沿掃描線方向比較相鄰兩點(diǎn)的距離,小于閾值的就刪除;還可以連接掃描線首末兩點(diǎn),從中間點(diǎn)中選取與兩點(diǎn)距離*接近的點(diǎn)作為中斷點(diǎn),然后以*點(diǎn)與中間點(diǎn)之間、中間點(diǎn)與*后一點(diǎn)之間重復(fù)上述過程,直到所求的距離小于設(shè)定閾值,然后再將點(diǎn)重新排序即可。斜率法和曲率不連續(xù)法也常用作數(shù)據(jù)點(diǎn)的判斷篩選方法。
4. 三維模型數(shù)據(jù)導(dǎo)出與AutoCAD導(dǎo)入
目前通過三維激光掃描儀獲得的海量點(diǎn)云數(shù)據(jù)信息,可以通過掃描儀本身的軟件進(jìn)行數(shù)據(jù)的格式轉(zhuǎn)換,轉(zhuǎn)換到的格式如XYZRGBI、3DV、BLF、IVA、PTX、RAW、XYZ等格式。本系統(tǒng)針對(duì)海量點(diǎn)云數(shù)據(jù)的轉(zhuǎn)換格式XYZRGBI、3DV、BLF、IVA、PTX、RAW、XYZ分別進(jìn)行了的格式研究,進(jìn)行轉(zhuǎn)換生成DXF標(biāo)準(zhǔn)格式,提供AutoCAD使用。其轉(zhuǎn)換流程如圖32所示。
圖32三維模型轉(zhuǎn)換流程3.1.2AutoCAD等其他軟件三維建模
基于CAD的建模方法是采用AutoCAD、3ds Max等建模軟件建立三維城市模型,三維模型已經(jīng)成為三維場景的一個(gè)重要數(shù)據(jù)來源。一個(gè)三維模型由一個(gè)或多個(gè)多邊形模型構(gòu)成,它能夠表達(dá)建筑物詳細(xì)的幾何特征。在CAD系統(tǒng)中,物體三維模型的信息是通過對(duì)圖形進(jìn)行實(shí)體拉伸和計(jì)算各種設(shè)計(jì)參數(shù)來實(shí)現(xiàn)的。CAD系統(tǒng)在三維空間數(shù)據(jù)處理方面的應(yīng)用已經(jīng)取得較大的進(jìn)展,其在圖形處理與三維建模方面具有獨(dú)特的技術(shù)優(yōu)勢,基于CAD建模的優(yōu)點(diǎn)是可以逼真表示規(guī)劃設(shè)計(jì)成果的精細(xì)結(jié)構(gòu)和材質(zhì)特征,這種方法可以達(dá)到較高水平的細(xì)節(jié)程度,但缺點(diǎn)是CAD三維模型的建模過程包含復(fù)雜的人機(jī)交互過程和大量的手工操作,建模時(shí)間長、成本高。
3.1.3基于遙感影像的三維城市建模方法
利用數(shù)字航空攝影系統(tǒng)進(jìn)行三維量測和成圖是目前城市三維數(shù)據(jù)采集的核心方法。基于遙感影像的建模方法是利用立體影像數(shù)據(jù)和數(shù)字?jǐn)z影測量技術(shù),根據(jù)影像間的相互關(guān)系得到地物點(diǎn)坐標(biāo),建立數(shù)字地表模型,然后通過紋理映射,建立建筑物模型。遙感影像數(shù)據(jù)能夠提供下列數(shù)據(jù)建筑物的三維幾何模型和數(shù)字正射影像。數(shù)字?jǐn)z影測量系統(tǒng)的推出為三維城市數(shù)據(jù)的獲取提供了經(jīng)濟(jì)、快捷的方法,攝影測量方法使得同時(shí)獲取大量復(fù)雜的三維城市模型之幾何信息和紋理信息的自動(dòng)化成為可能,特別是隨著近年來高分辨率遙感技術(shù)和計(jì)算機(jī)圖形圖像處理技術(shù)的發(fā)展,數(shù)字?jǐn)z影測量被普遍認(rèn)為是當(dāng)前*適于用來獲取大范圍高精度三維城市模型數(shù)據(jù)的主要手段。但是,基于遙感影像建立的三維建筑模型不能詳細(xì)描述建筑物表面所有細(xì)節(jié)和特征,難以滿足用戶近距離觀察和室內(nèi)漫游的需求。因此該方法在城市初次建立三維空間模型時(shí)可考慮使用。
3.1.4基于激光、雷達(dá)的建模方法
隨著GPS和慣性導(dǎo)航系統(tǒng)(INS)技術(shù)的不斷成熟和發(fā)展,利用激光、雷達(dá)等技術(shù)快速獲取建筑物平面和高度數(shù)據(jù)的方法日益成熟并得到快速應(yīng)用。*近幾年,激光掃描系統(tǒng)在多等級(jí)三維空間目標(biāo)的實(shí)時(shí)獲取方面取得了較為廣泛的應(yīng)用。根據(jù)搭載平臺(tái)的不同,激光掃描系統(tǒng)可以分為機(jī)載激光掃描系統(tǒng)、車載激光掃描系統(tǒng)和地面激光掃描系統(tǒng),后者往往又稱為近距離激光掃描系統(tǒng)。將地面與車載激光掃描系統(tǒng)用于三維城市重建和局部區(qū)域空間信息獲取,已經(jīng)成為激光掃描技術(shù)發(fā)展的一個(gè)重要方向。
3.1.5圖形數(shù)據(jù)格式轉(zhuǎn)換
由于虛擬現(xiàn)實(shí)場景多是基于一些虛擬現(xiàn)實(shí)平臺(tái),國外的如Unity3D、Quest3D、Virtools等,國內(nèi)的如VRP、Convers3D等來實(shí)現(xiàn)的,而這些平臺(tái)所支持的比較好的模型格式多為3DS、OBJ等,為了更好地在這些平臺(tái)運(yùn)行建立好的三維模型就需要進(jìn)行數(shù)據(jù)格式轉(zhuǎn)換。本書虛擬現(xiàn)實(shí)場景采用國際知名虛擬現(xiàn)實(shí)引擎Unity3D,Unity3D的建模工具采用3ds Max,而3ds Max的標(biāo)準(zhǔn)模型數(shù)據(jù)格式為3DS,采用逆向建模技術(shù)建立三維模型時(shí)可以先利用三維掃描儀獲得三維數(shù)據(jù)并結(jié)合AutoCAD進(jìn)行建模,*終得到模型格式為DWG,必須轉(zhuǎn)為3DS,才能進(jìn)行模型優(yōu)化和材質(zhì)處理,進(jìn)而得到較為真實(shí)的紋理。DWG文件是AutoCAD繪圖文件格式,可以導(dǎo)入3ds Max會(huì)自動(dòng)將其轉(zhuǎn)換為3DS格式。
3.2輔助三維建模方法
輔助三維建模方法分為使用三維軟件手動(dòng)建模方法和程序建模兩種,下面以3ds Max為例進(jìn)行說明。
3.2.13ds Max人工建模
3ds Max人工建模方法大體可以分為幾何體建模、修改器建模、網(wǎng)格建模、NURBS建模、面片建模、多邊形建模。各種建模方法各有優(yōu)缺點(diǎn),在三維建模時(shí)選擇合適的建模方法有利于高效地進(jìn)行建模,下面就這幾種建模方法做一簡單介紹。
(1) 幾何體建模。在3ds Max中幾何體分為標(biāo)準(zhǔn)幾何體和擴(kuò)展幾何體,標(biāo)準(zhǔn)幾何體主要有Box(長方體)、Sphere(球體)、Cone(椎體)、Cylinder(圓柱體)、Torus(圓環(huán)體)等;擴(kuò)展幾何體則有Hedra(異面體)、Capsule(膠囊體)、Prism(軟管)等,利用已有的幾何體可以實(shí)現(xiàn)參數(shù)化和快速構(gòu)建場景中規(guī)則的物體,配合修改器可建立更為復(fù)雜的物體。
(2) 修改器建模。所謂修改器建模就是指給已創(chuàng)建的對(duì)象添加相應(yīng)的修改器命令,然后對(duì)修改器的相關(guān)參數(shù)進(jìn)行修改已達(dá)到編輯效果。其功能主要有以下幾點(diǎn)。
① 改變對(duì)象的幾何造型,如Bend、Taper 修改器。
② 改變對(duì)象的創(chuàng)建參數(shù)。
③ 將對(duì)象轉(zhuǎn)換為可編輯物體,如Edit Mesh、Edit Poly 等修改器。
④ 對(duì)對(duì)象的次物體進(jìn)行編輯。
(3) 網(wǎng)格建模。創(chuàng)建了幾何體后,可以給幾何體添加“編輯網(wǎng)格”命令或者直接轉(zhuǎn)換為EditMesh,即“可編輯網(wǎng)格”物體,這樣幾何體變?yōu)橐粋(gè)網(wǎng)格對(duì)象,可以對(duì)網(wǎng)格對(duì)象的點(diǎn)、邊、面、多邊形等次物體進(jìn)行編輯。網(wǎng)格對(duì)象有點(diǎn)、邊、面、多邊形和元素5個(gè)次物體級(jí)別,可分別對(duì)其進(jìn)行點(diǎn)的位移變換操作、焊接、切角,邊的切角、分割,多邊形的切割、擠壓和倒角等,這些次物體的編輯是網(wǎng)格建模的關(guān)鍵。
(4) NURBS建模。NURBS是NonUniform Rational BSplines(非均勻有理B樣條曲線)的縮寫,是純粹的計(jì)算機(jī)圖形學(xué)的數(shù)學(xué)概念,是用數(shù)學(xué)表達(dá)式構(gòu)建的,NURBS數(shù)學(xué)表達(dá)式則是一種復(fù)合體。NURBS是一種非常優(yōu)秀的建模方式,NURBS能夠比傳統(tǒng)的網(wǎng)格建模方式更好地控制物體表面的曲線度,從而能夠創(chuàng)建出更逼真、生動(dòng)的造型。
NURBS曲線和NURBS曲面在傳統(tǒng)的制圖領(lǐng)域是不存在的,是為使用計(jì)算機(jī)進(jìn)行3D建模而專門建立的。在3D 建模的內(nèi)部空間用曲線和曲面來表現(xiàn)輪廓和外形。
(5) 面片建模。面片是多邊形網(wǎng)格和NURBS之間的一種建模類型。在許多建模方法里,面片優(yōu)于普通的網(wǎng)格對(duì)象。面片的邊是Bezier曲線,因此面片可以變形。面片對(duì)象的另外一個(gè)優(yōu)點(diǎn)是能有效地表示對(duì)象的幾何形狀。因?yàn)槊嫫W(wǎng)格只在每個(gè)面片的角上有一個(gè)控制頂點(diǎn),而每個(gè)面片能包含若干個(gè)面。
(6) 多邊形建模。這種建模技術(shù),用三角形、矩形或其他多邊形等小平面來對(duì)曲面進(jìn)行模擬,從而簡單、方便和快速地構(gòu)建各種形狀的三維物體,但是在構(gòu)建光滑曲面時(shí)顯得稍有不足,比較適合于形狀規(guī)則的物體的構(gòu)建。如果對(duì)模型結(jié)構(gòu)的把握程度和對(duì)模型網(wǎng)格分布控制得較好的,此種建模應(yīng)該是虛擬現(xiàn)實(shí)建模的理想選擇。
3.2.23ds Max程序建模
MaxScript語言是為了擴(kuò)展3ds Max功能而專門設(shè)計(jì)的一種腳本語言,是面向?qū)ο缶幊陶Z言中的一種。MaxScript可以運(yùn)用各種數(shù)學(xué)工具來完成高級(jí)復(fù)雜的程序設(shè)計(jì)任務(wù),可以對(duì)含有大量對(duì)象的集合進(jìn)行操作。例如,在復(fù)雜的場景中選擇物體,可以把大量物體放置在精確的位置上,如在山或路邊放置一些樹木,使用MaxScript 操作起來非常方便。
3ds Max程序建模是指利用3ds Max自帶的腳本語言MaxScript 實(shí)現(xiàn)精確建模,但其應(yīng)用范圍相對(duì)人工建模要狹窄很多,主要用來創(chuàng)建一些形狀規(guī)則、結(jié)構(gòu)簡單、多重排列的單體模型,同時(shí)還可以對(duì)其位移、位置、角度、縮放等進(jìn)行參數(shù)化精確控制,這是其相對(duì)于人工建模的一大優(yōu)勢。MaxScript建模為3ds Max精確建模提供一個(gè)很好的發(fā)展方向,也為3ds Max實(shí)現(xiàn)工程精確建模的應(yīng)用提供一個(gè)可能的平臺(tái)。
3.3三維建模紋理數(shù)據(jù)的獲取
除了建筑物的幾何模型,構(gòu)建三維建筑物還需要紋理數(shù)據(jù)。生成真實(shí)感的三維模型需要在城市地物模型表面粘貼真實(shí)的紋理影像。獲取紋理數(shù)據(jù)的方法除了利用貼圖素材庫和實(shí)地拍攝采樣,*經(jīng)濟(jì)的方法是從遙感影像中提取。建筑物模型表面紋理影像主要來源于航空影像,由于航空影像是從空中向下投影,因此屋頂紋理可以很方便地在航空影像上直接提取。而建筑物的墻面在航空影像上卻是不可見的,此時(shí)則需要采用實(shí)地近景拍攝的影像。
建筑物的三維紋理獲取主要依靠數(shù)碼相機(jī)拍攝,在拍攝的過程中要注意以下幾點(diǎn)。
(1) 選擇天氣比較晴朗的天氣拍攝,這樣獲取的紋理數(shù)據(jù)比較美觀。
(2) 盡量拍攝建筑物的正面,便于下一步的修圖工作。
(3) 采集完整的建筑物的紋理,如果某些面有遮擋物,需要換視角拍攝一幅以上的影像,后期再進(jìn)行拼接處理。
(4) 為了保證后面紋理處理時(shí)對(duì)建筑物整體結(jié)構(gòu)的把握,對(duì)每一地物必須在不同方向拍攝一定數(shù)量的全貌照片。
(5) 紋理的文件名在整個(gè)數(shù)據(jù)采集區(qū)域必須是*的,因?yàn)榧y理必須與三維模型的每一個(gè)面一一對(duì)應(yīng)。
紋理數(shù)據(jù)獲取后,接下來需對(duì)三維建筑紋理數(shù)據(jù)進(jìn)行處理。一般采用Photoshop等軟件對(duì)圖像進(jìn)行復(fù)原和裁剪,確保建筑物主要立面的紋理完整真實(shí),減少降低圖像清晰度的操作,消除地物紋理陰影的遮擋,并保持工作區(qū)內(nèi)所有紋理影像色調(diào)的均衡。在處理貼圖時(shí)應(yīng)該注意紋理數(shù)據(jù)的大小與命名原則。一般而言,一個(gè)建筑物建模完成需要幾種甚至十幾種紋理,如果每一種紋理數(shù)據(jù)增加一點(diǎn),那么整個(gè)三維模型增加的就是海量數(shù)據(jù),影響系統(tǒng)后期的管理與應(yīng)用。但紋理數(shù)據(jù)過小又會(huì)影響建筑模型的精細(xì)質(zhì)量。因此,在實(shí)際工作中通過認(rèn)真的研究,確定紋理數(shù)據(jù)大小的原則為簡單的紋理數(shù)據(jù)應(yīng)小于20K,如單色的墻面、瓦等紋理,這類紋理在粘貼紋理時(shí)主要用平鋪的方法,所以像素的大小應(yīng)設(shè)置為2n×2n,復(fù)雜的紋理單張數(shù)據(jù)*好不超過1024×1024。
接下來就需要考慮如何將紋理映射到相關(guān)的建筑物上,紋理映射是用圖像來替代物體模型中的可模擬或不可模擬細(xì)節(jié),紋理影像映射也是至關(guān)重要的一個(gè)環(huán)節(jié)。紋理映射技術(shù)是把二維的紋理圖像映射到三維物體表面,其關(guān)鍵點(diǎn)就是建立物體空間坐標(biāo)與紋理空間坐標(biāo)之間的對(duì)應(yīng)關(guān)系。在進(jìn)行各種類型三維地物的面與紋理影像映射過程中,只有確保紋理數(shù)據(jù)與面映射的正確性,才能真實(shí)地模擬現(xiàn)實(shí)建筑物,從而提高顯示的逼真度和速度。紋理映射技術(shù)是一個(gè)簡化復(fù)雜幾何模型的有效辦法,可以生成真實(shí)的視覺效果,真正做到虛擬現(xiàn)實(shí)。
3.4材質(zhì)燈光技術(shù)
在場景中賦予物體貼圖紋理是為了再現(xiàn)物體原貌,然而這種再現(xiàn)與現(xiàn)實(shí)中的物體還有差距,因?yàn)樵诂F(xiàn)實(shí)世界中所有物體都有是光照的,光源的不同物體展現(xiàn)的面貌也就不同。這一思想應(yīng)用到三維建模技術(shù)上是為了場景更加真實(shí),所以場景中不僅要給物體添加貼圖,也需要給場景建立燈光,這就是材質(zhì)燈光技術(shù)。在三維場景里燈光不僅僅是為了照亮物體,而是要利用燈光增強(qiáng)物體的紋理和真實(shí)感,有時(shí)燈光也烘托一種氣氛。所以不同的物體和場景要進(jìn)行不同的貼圖和燈光設(shè)置,比如白天和夜晚、陰天和晴天、玻璃、水、木質(zhì)、石頭等。
如果說三維世界的肉體是建模,那么三維世界的靈魂則是燈光。燈光在彌補(bǔ)模型細(xì)節(jié)不足、增強(qiáng)藝術(shù)氛圍中始終扮演著不可或缺的角色。3ds Max默認(rèn)場景有兩盞燈,是幫助人們創(chuàng)建模型的,當(dāng)人們創(chuàng)建新的燈圖33燈光設(shè)置
光后,默認(rèn)兩盞燈則會(huì)自動(dòng)關(guān)閉。3ds Max共由8種燈光組成,其中使用頻率*高的是目標(biāo)聚光燈和泛光燈。目光聚光燈有發(fā)射點(diǎn)和目標(biāo)點(diǎn),呈錐形向外反射,猶如日常生活中手電筒的發(fā)射光線。目標(biāo)平行光也包括發(fā)射點(diǎn)和目標(biāo)點(diǎn),燈光呈圓筒形發(fā)射。泛光燈的光線向外發(fā)射,猶如燈泡或太陽光。天光則與泛光燈相異,燈光從360°方向向內(nèi)發(fā)射,猶如陰天的天光。由于是反方向的向內(nèi)發(fā)射,天光則沒有角度與位置差異。例如,某室內(nèi)燈光做如下設(shè)置,室外合適的位置放置一個(gè)泛光燈,將陰影設(shè)置為光線跟蹤,適當(dāng)調(diào)整亮度,如圖33所示。
……