劉 洋 曾雅沁
(中南民族大學 計算機科學學院,湖北 武漢 430074)
視景仿真技術廣泛的應用于各行各業(yè),特別是在建筑行業(yè)中,例如,建筑工程投標的時候,如果能夠把設計的方案虛擬呈現(xiàn)出來,便可以把業(yè)主帶入到未來的建筑物里參觀,包括屋內裝飾、門的高度、窗戶朝向、采光多少等等,都可以看得到,構建的虛擬環(huán)境越真實,實時性越強,那么顧客身臨其境的感覺就越明顯,因此,創(chuàng)建模型準確度的高低,往往直接關系到應用實例的成敗與否[1]。
本文將著手于建筑模型3D呈現(xiàn)這一視角,以某校民族博物館為研究對象,在分析了基于MultiGen Creator的三維建模的關鍵技術的基礎上,合理綜合利用相關技術,提出了基于Creator的三維虛擬場景建模的優(yōu)化技術和方法,并構建出民族博物館的三維環(huán)境,做到了實物虛擬化,為進一步的仿真做準備。實驗結果表明這些技術的使用顯著的提高了系統(tǒng)的實時渲染和響應速度。
對于民族博物館的建模,重點針對建模中常見的問題以及系統(tǒng)真實性和渲染速度的要求,提出了建模的技術路線與方法,實現(xiàn)了民族博物館虛擬場景模型,以供漫游引擎調用。
民博建筑屬于復雜場景,所以要采用拆分的思想,觀察模型,將模型進行分組,然后分別創(chuàng)建group節(jié)點,在相應的組節(jié)點下進行建模,場景建模技術路線如圖1所示。
圖1 場景的建模技術路線
1.2.1 數(shù)據(jù)采集
數(shù)據(jù)采集是三維建模的主要依據(jù)。數(shù)據(jù)采集的準確性決定了模型的精確度和整個場景的真實感的高低[2]。場景外觀與幾何形狀等數(shù)據(jù)主要來自場區(qū)平面圖以及一些實物照片和視頻文件,而紋理數(shù)據(jù)主要來自于后期處理過的攝影照片。
在建模前,先對模型進行測量,測量方法有:
1)工具測量,使用google earth對模型的邊緣(俯視圖)進行測量,畫出模型俯視圖對應的平面圖,同時測量各邊的長度,進行標注;
2)實地測量,實地觀測模型,目測或步測,或者選擇一個標準的長度進行測量(例如:記錄一塊地板的長度,通過數(shù)地板數(shù)目可計算相關數(shù)據(jù)),記錄測量數(shù)據(jù);
3)對記錄的數(shù)據(jù)進行整理,以供建模時參考,如有需要,可對數(shù)據(jù)進行人為修改;
4)因為Creator網(wǎng)格的最小單位是cm,所以,數(shù)據(jù)的精度不能高于cm;
5)通過照相機拍下民博的門、窗、屋檐等,并使用Photoshop軟件進行了處理,作為紋理圖片,并且要轉換成系統(tǒng)支持的圖像格式。
1.2.2 建筑物模型的創(chuàng)建
建一個模型時,先分析其組成結構,它是由哪些基本模型組合而成的,基本模型包括:矩形、立方體、圓柱、球體、錐形、多邊形等等,分析出模型的組成結構后,再分析不同基本模型的組合方式,分析各基本模型相交的地方,為了使構建出的模型有盡可能少的多邊形,所以,在建模時少用或者不用球體等多邊形數(shù)目較多的形體,最后將各部分組合起來。例如對博物館房頂?shù)奶幚?,可以發(fā)現(xiàn)它由三個模塊組成,首先是對屋檐,因為屋檐的角是彎曲向上、向外延伸的,因此可以通過基本模型矩形扭曲變化得到的,其次是屋檐四個向上彎曲的牛角的處理,由于該模型是立體的,且都是曲面,因此對其簡化,只做其平面立體圖形,視覺效果上差異不大,最后是根據(jù)實體圖片,分析屋頂上的結構,合并并補全一個屋頂,其中由于每個瓦塊類似彎曲的圓柱體,在處理時用拉伸工具,先做一個圓平面,然后使它曲線化,在轉彎的部分每選一個點就產生一個圓柱體的節(jié)點,產生彎曲的效果,做完一個圓柱體之后,其他的通過陣列復制得到,屋頂?shù)耐暾Ч麍D如2所示。
圖2 整個屋頂?shù)男Ч麍D
模型對象實例化技術是指相同的幾何體共享于同一模型數(shù)據(jù),通過矩陣變換安置在不同的地方,以避免對模型對象的復制,解決了模型對象重復性出現(xiàn)的問題[3],使用實例化技術,在修改該類型的模型時,只對其模型(先建好的模型)進行更改,可同步應用到其他的模型,這樣可以簡化建模過程,提高建模效率,節(jié)省了計算機運行的開銷。例如,博物館兩旁的路燈,它們的幾何形狀完全一樣,只是位置、方向不同,如果把每個燈的模型都調入內存,將會造成極大地資源浪費,對于相同物體僅存放一份實例,通過平移、旋轉、縮放之后得到所有相同結構的其他物體,節(jié)約了存儲空間。
LOD主要是通過隨著視點變換來改變物體模型的細節(jié)程度,旨在提高顯示速度,對于離視點比較遠的模型,我們就用粗糙一點的LOD模型來進行繪制,而對于離視點比較近的模型,我們就用比較精細的LOD模型來進行繪制。繪制不同LOD模型的方法有兩種:一種是以不斷逼近的相似集合體來描述,其核心思想是通過降低無需重點關注的模型的面的數(shù)量來形成粗糙的LOD模型;另外一種方法是通過改變紋理的分辨率來形成不同的LOD模型[4]。另外,LOD與Mophing技術結合,可以增強LOD的變換的平滑性。由于OpenFlight模型數(shù)據(jù)庫的樹狀層級結構,不在當前的可視范圍內的LOD節(jié)點的所有子節(jié)點也都不會被顯示出來,所以通過合理設置LOD節(jié)點之間的層級結構,可以加速實時系統(tǒng)對LOD的處理,從而調高系統(tǒng)的運行效率[5]。
紋理映射技術的基本思想是將采樣到的二維圖像映射到地平面或物體內外表面,也就是將二維數(shù)字圖像“貼”到三維物體的表面上,產生表面紋理細節(jié),針對一些復雜的模型,利用逼真的紋理既可以提高模型的細節(jié)水平和真實感,又不增加三維幾何造型的復雜度,從而減少了模型的多邊形數(shù)量,構建物體的面數(shù)可以大大的減少。
在本系統(tǒng)中,對博物館內部的展館,就大量的使用了紋理映射技術,并且結合光照、陰影生成技術來實現(xiàn),從而可以了加快系統(tǒng)的運行速度。
在紋理的使用過程中,還會用到紋理拼接技術,它的出現(xiàn)減緩了由于大量使用高分辨率的紋理給系統(tǒng)帶來的沉重負擔。紋理拼接的基本思想是:將大紋理拆分為若干個小范圍紋理,然后尋找具有代表性的紋理圖案作為拼接因子,這樣就可用若干小圖像拼接出一幅大圖像的效果[7]。紋理拼接在大面積單調景觀的模擬上非常實用,例如對草地的處理,由于草地覆蓋面積大,相對于其他場景來說,可以做模糊處理,采用直接貼圖的方法,先建立草地的不規(guī)則多邊形面,將每塊草地分成邊緣區(qū)和中心區(qū)兩部分,抬高面0.01公分,以防止出現(xiàn)紋理“閃爍”的情況,使用Photoshop工具,截取草地照片中的一小塊,重復紋理,即可完成整面的紋理。
實體模型的構建中常常出現(xiàn)冗余現(xiàn)象,為了提高系統(tǒng)的實時性,應去除這些模型中不可見的多邊形,包括模型幾何體內部的多邊形,一些過度的模型細節(jié)和被其他多邊形完全遮蔽的多邊形,例如,當把整個“民博”建筑倒置之后,它們的底部是不可見的。
每個小部分都做完之后要將整個場景整合在一起,因為這里每個模塊都是在原有模塊的基礎上,選擇好參考面做的,所以可以直接呈現(xiàn)。最終得到中南民族大學民族博物館場景的三維構造圖,中南民族大學全景效果圖如圖3所示。
圖3 民族博物館整體虛擬呈現(xiàn)
本文是對三維建模技術在視景中的應用研究,隨著其應用領域的拓寬,如應用到軍事、教育培訓、工程設計、商業(yè)、醫(yī)學、影視、藝術、娛樂等眾多領域,對大規(guī)模復雜場景的模型創(chuàng)建要求越來越高。這里以民族博物館場景為例,利用MultiGen軟件平臺,成功建出一個具有較高實時性和精確性的復雜場景模型,并對三維建模技術的理論、方法和技術進行研究,給出了很多三維建模中要用到的處理技術,取得了良好的現(xiàn)實結果。
項目運行結果顯示,三維模型數(shù)據(jù)讀取準確,能夠清晰的呈現(xiàn)中南民族大學民族博物館的外觀場景,但是在項目開發(fā)過程中也存在這樣那樣的問題,在實例化技術處理外觀相同的屋頂時,由于位置拼接有微小的偏差,導致實時顯示階段在畫面刷新時會產生“閃動”現(xiàn)象,影響了場景的真實感,這一問題有待進一步研究解決。
[1]李俊山,王蕊,李建軍,等.三維視景仿真可視化建模技術[M].科學出版社,2011.
[2]褚彥軍,康鳳舉,高立娥,等.視景仿真的三維模型庫管理系統(tǒng)的研究與開發(fā)[J].計算機仿真,2004,21(5):174-176.
[3]宗美玲,童小念.視景仿真系統(tǒng)中模型數(shù)據(jù)庫的優(yōu)化實現(xiàn)[J].武漢理工大學學報,2009(18):102-104.
[4]王乘,周均清,李利軍.Creator可視化仿真建模技術[M].華中科技大學出版社,2005.
[5]洪光,李洪儒,牟建國.基于 Creator的三維模型的簡化[J].計算機仿真,2004,21(1):57-58.
[6]程效軍,朱鯉,劉俊領.三維建模中的紋理處理[J].應用技術,2004(2):24-26.
[7]段曉娟,張茂軍,李國輝,齊越.虛擬實景空間中的紋理映射技術研究[J].計算機工程,2001(5).