汪浩文,張 捷
(南京航空航天大學 藝術學院, 南京 211106)
近年來,數(shù)字技術在古建筑保護方面的應用不斷完善,并且為古建筑的數(shù)字化保存、數(shù)字化監(jiān)管、數(shù)字化設計及數(shù)字化展示等提供了一定的技術支撐。在數(shù)字虛擬現(xiàn)實方面,由于古建筑的造型特點相對復雜,空間構件元素形式多樣,因此在仿真交互的過程中難以高精度地表現(xiàn)。此外,當整個場景的總面片數(shù)過多時,系統(tǒng)平臺會出現(xiàn)渲染丟幀或硬件負荷過高的現(xiàn)象,降低了虛擬現(xiàn)實的體驗效果。因此,建模的細化及優(yōu)化方法、模型面片的優(yōu)劣程度將關系到整個古建筑虛擬現(xiàn)實體驗的成敗,成為亟需解決的核心問題[1-8]。
虛擬現(xiàn)實是一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng),通過計算機的軟、硬件生成一整套三維虛擬環(huán)境,是一種多源信息融合的、交互式的動態(tài)化視景和實體行為的系統(tǒng)仿真,能夠讓使用者徹底沉浸于虛擬世界中。與傳統(tǒng)的計算機三維動畫和三維游戲的視效截然不同,它對模型的精細要求和材質、燈光的仿真效果要求更加具體與細致。因此,作為結構復雜、構件繁瑣的古建筑場景,應格外注重分析與探討虛擬現(xiàn)實對古建筑模型的要求。
古建筑模型的幾何建模要點特指對模型的層次關系與主屬關系的要求。層次關系如古建筑單體包含了瓦面層、梁架層、斗拱層、柱礎層及裝飾層等層級。而主屬關系指在虛擬現(xiàn)實運動的過程中,模型的主要構件運動將帶動次要構件進行連鎖反應。如虛擬地震過程,古建筑的立柱發(fā)生形變,橫梁也連帶發(fā)生倒塌。因此,在建模的過程中必須考慮各個構件不僅需要按照實際幾何尺寸、比例關系進行建模,還必須滿足模塊化、層次化及通用性要求,能夠合理地對模型進行成組或分解,保證每個部件都是獨立的節(jié)點,擁有獨立的方位變換矩陣,以便滿足虛擬現(xiàn)實中局部或整體的各種動態(tài)仿真的需要。
把模型場景分割成更小的“世界”或“單元”的過程被稱作為模型的分割,只有作為當前單元的對象才會被精細渲染,這樣極大地減少了模型的復雜性。對于復雜的古建筑場景而言,分割是更加必要的。古建筑模型分割可以視覺的遠近程度分為3個等級LOD(levels of detail),保證觀察者在不同角度和視線范圍內(nèi),確保不同級別的模型能夠自然切換與順暢過渡。LOD應當遵循的特性是:視點距離建筑越近,模型越需要精細展示,中距離的觀摩可以適當采用面片適中的精簡模型,而遠距離的模型則可以采用簡?;蚝喣=Y合圖像的方式對建筑模型進行替代(圖1)。
圖1 斗拱三級LOD
在虛擬現(xiàn)實的古建筑場景制作中,常用建模方法很多,例如通過3dsMax或Maya中的Mesh網(wǎng)格建模、Surface表面建模、Polygon多邊形建模及Nurbs曲面建模等,或者可以利用三維掃描技術中的逆向建模方法,對建筑群進行三維掃描以獲取模型點云數(shù)據(jù),再通過3dsMax或Maya深入建模。雖然建模的形式非常多樣,但對于多邊形冗余的古建筑場景而言,如果不從虛擬現(xiàn)實應用的角度全面地對建模方法進行思考與分析,那么極易出現(xiàn)很多常見的缺陷。
通常情況下,古建模型的細節(jié)程度是影響虛擬現(xiàn)實仿真度的重要指標。但是建立模型的目的是為了給觀察者創(chuàng)建一個虛擬的環(huán)境,滿足其在空間中實現(xiàn)動態(tài)觀察與交互的實現(xiàn),因此在建模的過程中必須考慮虛擬現(xiàn)實整體系統(tǒng)的綜合功能。盲目追求模型的細膩程度,通過大量的面片去實現(xiàn)古建筑模型的各個造型構件,無疑會影響整個場景數(shù)據(jù)庫整體結構的優(yōu)化設計,從而破壞虛擬現(xiàn)實體驗的順暢性。
古建筑模型的局部構件不是用一個外形吻合的幾何形狀就可以概括表現(xiàn),因為它是由多個實體模型拼接而成,但是這種拼接并非簡單的積木搭接方式,如果拼合關系不正確,會引起模型的面片重疊,即多個面片會爭奪同一坐標系(如圖2)。這在虛擬現(xiàn)實實時渲染時,會導致計算機的Z-Buffer消隱算法無法判斷哪一個面片應當優(yōu)先渲染,引起畫面出現(xiàn)頻繁閃爍的現(xiàn)象。避免這種錯誤的有效途徑是針對重疊的模型構件進行單面建模處理或通過子面模式進行刪減設置。
圖2 爭奪Z值
在古建筑場景中,一些曲面程度較高的,如斗拱、吻獸、雕塑等局部造型需要通過網(wǎng)格布線的方式對模型進行完善。在具體建模的過程中,網(wǎng)格布線為了滿足造型的需要,網(wǎng)格控點在建模時會根據(jù)造型需要進行坐標調整。而網(wǎng)格的大小、疏密度,以及網(wǎng)格的形狀有可能成為被忽略的對象。這樣的布線方式在虛擬現(xiàn)實靜態(tài)呈現(xiàn)的過程中是沒有問題的,但是在模型需要完成類似動態(tài)變形的演示時,布線雜亂的模型會使面片發(fā)生褶皺或黑面的現(xiàn)象,從而導致虛擬現(xiàn)實的視覺效果失真,因此模型的網(wǎng)格形狀與布線規(guī)律在虛擬現(xiàn)實的動態(tài)模擬中仍是值得思考的重要問題(圖3)。
古建筑模型的建模方法應當充分考慮虛擬現(xiàn)實的平臺特性,并以精準、恰當?shù)拿嫫峙浞绞酵瓿赡P蛨鼍暗恼w創(chuàng)建,這就意味著不僅需要在建模環(huán)節(jié)注重把握好模型的幾何造型,同時也需要找尋一種適合虛擬現(xiàn)實動態(tài)呈現(xiàn)、并具備高仿真度的模型細化和優(yōu)化的方案。
圖3 布線混亂
古建筑模型的構件如窗花、格柵、梁架等可以通過二維樣條線編輯先建立模型的截面圖形,再沿相應的路徑放樣成三維實體模型。在截面的處理過程中應該考慮放樣后模型面片的連貫性與整體性,即放樣后的模型不能存在面片的重合及穿插等現(xiàn)象(如圖4)。因此,在繪制中應當仔細觀察圖形各頂點的實際焊接情況,確保圖形能夠以閉合狀態(tài)整體放樣。在創(chuàng)建實體模型后,模型段數(shù)可以利用蒙皮屬性進行直接設置,將xyz三坐標下的模型段數(shù)根據(jù)模型的實際情況進行精確分段設置并保障模型的面片質量(圖5)。
圖4 樣條線放樣
圖5 段數(shù)變化
對于古建筑模型結構轉折豐富或曲面狀態(tài)的模型構件,如吻獸及室內(nèi)家具、假山、雕塑小品等,需要利用多邊形的建模方式進行創(chuàng)建,在創(chuàng)建時應當保持單面建模的習慣,即每個單面的背面都需要及時進行背面消隱,確保模型的法線顯示始終朝外,避免虛擬現(xiàn)實渲染時光線追蹤的計算量過大。同時在曲面造型的布線方式上應當采用有利于動畫計算的四邊形布線(圖6),對于因造型特征原因所無法避免的三角面或五邊形面,盡量放置于模型的隱蔽位置,確保動畫過程中的破面、褶皺、黑面現(xiàn)象不過于明顯。此外,需要在模型的轉折區(qū)域及結構穿插區(qū)域進行大量布線與細化,確保吻合相應特征,而對于模型平整的面片區(qū)域盡可能弱化布線,使模型整體布線稀密得當,這樣也利于后繼的Nurms網(wǎng)格平滑對模型的結構柔化做出準確的細分判斷,并確保模型的轉折與穿插等結構關系過渡自然。
圖6 吻獸模型四邊形布線
模型的幾何優(yōu)化其實是為了滿足古建筑模型分割的具體要求,在有效保證模型精度的同時也能夠實現(xiàn)硬件的低資源消耗。在具體的做法上可以利用結構優(yōu)化和貼圖置換兩種方法針對模型的幾何造型進行綜合優(yōu)化。
1) 結構優(yōu)化
古建筑構件不僅類型豐富同時形式變化多樣。模型的咬合部位存在大量不可見的面片。例如模型中的梁架層、斗拱層與柱礎層等存在很多榫卯咬合現(xiàn)象,因此在模型的優(yōu)化處理中不僅要去除模型的冗余分段,而且要刪除因遮擋關系無法看見的各個面片(圖7)。此外,考慮到虛擬現(xiàn)實平臺的通用性,場景中盡量不使用凹多邊形,否則系統(tǒng)將對其進行自動切分或補償,極易引起畫面卡頓現(xiàn)象。所以,理想的處理方式應當是在不影響模型輪廓、結構關系的情況下,將凹多邊形分割成若干個較小的凸多邊形進行拼接與組合(圖8),在操作時應注意每個面片的分割大小均衡,確保細分后的模型面片平順光滑。
圖7 需優(yōu)化的面片
圖8 多邊形變化
2) 貼圖置換
對于古建筑場景的鏤空墻面與門窗等,在制作過程中可以靈活運用貼圖置換的方式代替實物模型。即針對場景中非主體區(qū)域的構件,創(chuàng)建出模型的主要體塊,而體塊內(nèi)部的鏤空樣式與紋理造型等則可采用材質系統(tǒng)的透明、凹凸及混合等遮罩功能對模型進行置換(圖9),從而避免由樣條線擠出所產(chǎn)生大量冗余的三角面數(shù)據(jù),為實時瀏覽奠定了基礎,也可以保證模型的渲染效果。
圖9 貼圖置換
場景烘焙是把古建筑的光影信息烘焙到貼圖上。這樣即使場景中沒有設置虛擬燈光,模型仍能呈現(xiàn)帶有光照信息的表面紋理與真實光效,通過這樣的處理方法可以在有效節(jié)省系統(tǒng)資源的同時加快渲染速度。盡管貼圖烘焙能為古建筑虛擬現(xiàn)實提供一定的視覺效果。但是在虛擬現(xiàn)實的實際應用中,由于動態(tài)對象不能很好地融合在靜態(tài)場景中,它的光線會顯得比較突兀,有時候極易與靜態(tài)場景脫節(jié)。如果要為動態(tài)對象增加實時烘焙計算,會增加較多的硬件消耗時間,因此可以通過在場景中靈活地設置一定數(shù)量的Light Probes探測器去探測場景周圍的明暗信息,然后對動態(tài)對象鄰近的探測器進行插值運算,并將其插值結果作用于動態(tài)對象上,以便于虛擬現(xiàn)實在硬件低資源消耗的基礎上實現(xiàn)靜態(tài)場景與動態(tài)對象的實時融合效果。
綜上所述,古建筑虛擬現(xiàn)實的基礎與核心是三維建模技術。完成一個好的虛擬現(xiàn)實作品必須深度剖析虛擬現(xiàn)實平臺特性與建模原理之間的邏輯關系。以優(yōu)秀的建模思路及靈活的建模手段為虛擬現(xiàn)實的真實性、易用性、穩(wěn)定性及便捷性做出積極有效的保障,從而給觀察者提供良好的仿真及交互環(huán)境,有效實現(xiàn)古建筑場景虛擬現(xiàn)實建模的價值最大化。