国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于虛擬現(xiàn)實技術的動態(tài)水面仿真方法研究

2012-02-15 20:34馮玉芬
唐山師范學院學報 2012年2期
關鍵詞:紋理水面虛擬現(xiàn)實

馮玉芬

(唐山師范學院 數(shù)學與信息科學系,河北 唐山 063000)

計算機科學與技術研究

基于虛擬現(xiàn)實技術的動態(tài)水面仿真方法研究

馮玉芬

(唐山師范學院 數(shù)學與信息科學系,河北 唐山 063000)

在虛擬現(xiàn)實系統(tǒng)設計中,真實自然的動態(tài)水面效果可增強場景的逼真感,使虛擬環(huán)境更加絢麗。而水面動態(tài)模擬的關鍵技術是在水面的真實感、實時渲染速度、計算機軟硬件資源需求及實現(xiàn)虛擬現(xiàn)實系統(tǒng)難易度等幾個方面尋求平衡。提出利用層次細節(jié)技術,采用動態(tài)紋理映射、波動水面的物理模型并結合材質貼圖方法,實現(xiàn)具有反射、折射等效果的流動水面。該方法應用于室外景觀等環(huán)境表現(xiàn)中,使水面效果更逼真、計算復雜度減小、設計和實現(xiàn)更簡潔方便。

動態(tài)水面;動態(tài)紋理;水面模型;層次細節(jié)

1 引言

室外虛擬現(xiàn)實系統(tǒng)中,離不開對自然環(huán)境的模擬,為了增加自然環(huán)境的真實感,虛擬場景中需要添加自然現(xiàn)象,其中水面模擬是虛擬現(xiàn)實技術研究的熱點和難點。自然的水面模型,實時的動態(tài)波紋能較大程度地增進場景的逼真感和沉浸感[1,2]。目前一些三維圖形軟件產品中有些包含了流體模擬功能模塊,如Maya里的Fluid Effects,3d Max提供的插件glu3D等,這些軟件適合非實時水面模擬,對大面積水域實時動態(tài)水面的實現(xiàn)無能為力。虛擬現(xiàn)實領域對動態(tài)水面的研究并不太多,虛擬河道、數(shù)字化城市中水面多是靜態(tài)的,需要創(chuàng)建一些有特殊效果的材質,利用GPU的處理能力,在虛擬現(xiàn)實系統(tǒng)中編寫大量的shader程序,shader程序不僅要求設計人員有強大的程序開發(fā)基礎和豐富的編程經(jīng)驗,而且還非常耗費系統(tǒng)資源,因此需要對虛擬場景做大量的優(yōu)化工作。

虛擬現(xiàn)實系統(tǒng)中圖形生成的速度主要取決于圖形處理的軟硬件體系結構。層次細節(jié)(Levels of Detail,簡稱LOD)技術是一種有效的圖形生成加速方法。層次細節(jié)模型的概念認為當物體覆蓋屏幕較小區(qū)域時,可以使用該物體描述比較粗糙的模型,并給出了一個用于可見面判定算法的幾何層次模型,以便對復雜場景進行快速繪制。本文根據(jù)層次細節(jié)模型的概念提出一種新的方法模擬實時動態(tài)水面,以3d Max軟件為建模環(huán)境,以實時3D環(huán)境虛擬實境編輯軟件Virtools作為交互場景開發(fā)平臺,對這種模擬方法進行測試,該方法已經(jīng)應用于灤河河道改造工程中。

2 相關研究

已有一些關于水面生成與繪制方面的算法和技術,雖然能模擬出真實感很強的水面效果,如目前主流的基于計算流體力學模型的流體模擬算法,如Next Limit推出的RealFlow和RealWave等軟件包,可以比較真實地模擬出流體表面自由流動的效果和流體表面的劇烈變形,如浪花飛濺等。Claes Johanson在《Real-time water renderingintroducing the projected grid concept》一文中給出了投影網(wǎng)格算法,結合現(xiàn)代圖形硬件加速技術,用可編程頂點著色器來完成海面網(wǎng)格高度場網(wǎng)格頂點的坐標變換,用可編程像素著色器完成光照模擬及紋理的渲染[3]。張龍等[4]對湖泊水面的反射、折射等光學現(xiàn)象進行了高效近似模擬,模擬岸邊植物在水中的倒影效果,水面因風力作用泛起微波的動態(tài)效果,以及水滴落入水面引起的漣漪效果。Cem Yukel等[5]提出了波粒子的概念,在GPU上實時實現(xiàn)了水面與水面物體的交互,可以看到船劃過水面時留下的痕跡,效果逼真。譚曉輝等[6]采用一種基于網(wǎng)格的方法,通過高度采樣和外加擾動的方法產生動態(tài)水面,并將頂點法向量計算、水面反射、折射等計算交給GPU完成,結合了凹凸紋理、動態(tài)紋理和投影紋理技術對水面繪制。對動態(tài)水面建模的方法有基于幾何模型的方法、基于物理模型的方法、基于粒子系統(tǒng)的方法等等[6,8]。基于幾何模型的方法,多使用紋理貼圖,適合面積較大的水面,并且沒有重復計算,缺點是近距離觀察時,水面波紋的真實感差,并且也不適合多角度觀察;基于物理模型的方法,水面波紋接近真實的物理現(xiàn)象,但如果范圍太大,計算量就會大增,很難滿足實時要求;粒子系統(tǒng)適合于波浪破碎或是雨雪等自然現(xiàn)象,粒子太少真實感差,粒子太多計算量大不適合大規(guī)模動態(tài)水面模擬。

3 動態(tài)水面模擬方法

層次細節(jié)技術是在不影響畫面視覺效果的條件下,通過逐次簡化景物的表面細節(jié)來減少場景的幾何復雜性,從而提高繪制算法的效率。該技術通常對每一原始多面體模型建立幾個不同逼近精度的幾何模型。與原模型相比,每個模型均保留了一定層次的細節(jié)?;谶@種技術,本文所采用的以下模擬方法,遠距離觀察時,模型采用簡單的幾何模型結合動態(tài)紋理技術模擬水面流動,觀察點逼近時,采用物理模型的方法,強化真實水面的動態(tài)波紋、反射、折射等水面光照效果,最終實現(xiàn)真實感的流動水面。

3.1 動態(tài)紋理

動態(tài)紋理是指紋理圖像自身是變化的或者在不同時刻賦予模型的紋理坐標,當這種變化為連續(xù)時,就形成了動畫的效果。其一,采用改變紋理圖像來實現(xiàn)動態(tài)紋理,這種方法的原理很簡單,利用人眼的視覺駐留性質,當一幅投射到人眼視網(wǎng)膜形成的圖像消失時,圖像會在視覺上駐留1/24秒,因此當圖像切換時間小于這個1/24秒,就會形成動畫。這種動態(tài)紋理可以用二維動畫軟件(如flash),或三維動畫軟件(如3d Max)預先渲染出動畫文件,也可以去自然界拍攝真實水面的視頻,展示水面波光粼粼的效果,此方法適用于大面積水域的動態(tài)模擬。在VirTools軟件里,創(chuàng)建一個video在parameter設置中,使用我們準備好的視頻文件,用整個河流水面作為取得畫面圖像的目標。圖1為Level script。

其二,采用不同時刻賦予不同坐標的方法,創(chuàng)建水面材質(material),此材質使用水波紋理貼圖,并使紋理坐標產生變化。

圖2為river dynamic water surface script。在灤河河段改造中應用了這種方法。圖3為灤河河道平面圖,且水面有高差。圖4是灤河河道模型圖,水面是用簡單的幾何模型,經(jīng)過編輯的多面體,這樣保證了模型的面數(shù)最少。賦予動態(tài)紋理前,可以看出,沒有水面流動的波紋出現(xiàn)。

圖5為使用Texture Scroller后產生流動波紋的水面效果,是使水面更加真實、自然。

3.2 水面模型和水面波動

一列規(guī)則波紋可以由函數(shù)y=Asin(ωx+φ)表示,波紋的形狀由振幅、波長、相位決定,因此控制這3個參數(shù)就可以控制整列波紋效果,改變A的大小就是控制振幅,ω的值可以控制頻率,改變φ的大小就是改變了相位,這是將橫向波和縱向波疊加。實際水面很復雜,它還受風力、地形的等外界因素影響產生流動,因此還要有其它函數(shù)的擾動,來模擬真實水面的運動狀態(tài)。

創(chuàng)建波浪平面時設置適當?shù)拇笮『投螖?shù),然后借助與空間扭曲物體相結合來完成動態(tài)水波。創(chuàng)建漣漪物體,調整面板上設置參數(shù),如振幅、波長、相位值等參數(shù)。創(chuàng)建空間扭曲體漣漪,把漣漪物體結合到波浪平面上,使之產生波浪漣漪。制造動態(tài)波浪,移動漣漪物體,可產生水面流動,也可在面板上調節(jié)它的相位值,產生水面波動效果,如圖6。

3.3 反射和折射

水是一種基本透明的液體,但河流湖泊的水面顏色是受到很多因素的影響,如外界光線的強弱及顏色、水的深度及水中含雜質的情況等等,這些外界因素直接影響了水面的反射和折射效果,而水面的反射和折射性質是表達真實感水面的關鍵。如樹木、人物等實體對象在水面這種具有反射性質的介質上具有高度清晰的倒影效果;太陽光經(jīng)過河流湖泊的水面反射后會在河岸投射出不均勻的、有閃爍的光線圖案效果的焦散現(xiàn)象等,這些光照效果直接影響了水面的逼真程度。在三維軟件中,設置水面材質要通過調整反射通道,添加falloff貼圖、設置光澤度、設置細分值、設置折射率,調整煙霧顏色來調整水顏色以及改變煙霧倍增值等參數(shù),仔細反復調整,以達到理想的效果如圖7。這些參數(shù)的增加又會加大計算量,從而降低圖像的生成速度。

4 優(yōu)化渲染速度技術

如果虛擬場景中大規(guī)模動態(tài)水面使用物理模型,由于高細節(jié)模型面數(shù)較多,對計算機的性能要求很高,通常我們在設計上需要對場景優(yōu)化。

4.1 法線貼圖及烘焙貼圖

法線貼圖技術是目前三維虛擬場景中非常流行的貼圖技法。它的作用是把曲面上的法線方向利用貼圖提供的信息來改變其方向,可以把貼圖里的每個像素都當成模型上的一個平面,用RGB三原色記錄像素(pixel)的法線方向的(x,y,z)值,自運算時先讀了模型的法線方向之后,再用法線貼圖上的RGB也就是(x,y,z)值再算一次。因此它不是直觀的彩色貼圖,可以說它是儲存數(shù)據(jù)的數(shù)組[9]。

法線貼圖是把有水波紋的高細節(jié)水面模型的特征映射到低細節(jié)平面水面模型上,使平面具有高細節(jié)水面波紋效果,從而達到節(jié)省面數(shù)的目的。其生成方法是通過3dMax 的Render to texture功能,把同一個物體具有高低細節(jié)的模型對在一起后,把高細節(jié)模型生成法向貼圖記錄下來,其原理如圖8所示。

烘焙貼圖技術是一種把3dMax光照信息渲染成貼圖的方式,而后把這個烘焙后的貼圖再貼回到場景中去的技術。這樣光照信息變成了貼圖,不需要CPU再去費時地計算,只要按普通的貼圖處理,所以速度極快[9]。烘焙貼圖用來表現(xiàn)水面模型反射、折射效果,在水面上形成微妙的光影變化,讓水面在天空光(skylight)的作用下表現(xiàn)得很真實。

具體做法,將具有高細節(jié)的模型賦予材質后,置入設置好燈光的環(huán)境中,打開烘焙對話框,將渲染出的圖平鋪成一張紋理。如果圖像不是很完美,還需要在photoshop這樣的圖像處理軟件中進行修飾,使之更加符合要求。這個紋理圖像只適合烘焙的模型。將處理好的紋理再賦予烘焙的模型后,在沒有燈光的情況下仍然有光影效果。

4.2 細節(jié)層次的切換

應用細節(jié)層次時一個重要的問題是如何在兩個接續(xù)的細節(jié)表示之間過渡。最簡單的辦法當然是強行切換,在某個時候,用較簡單的模型取代較復雜的模型。這種方法會引起不能連連續(xù)的視覺跳變,真實感降低。好的辦法是從一級模型到下一級模型的幾何變形,但它要求多細節(jié)層次模型中物體幾何模型有對應關系。較好的辦法是不去簡單切換模型,而是在過渡期內產生兩級模型的圖形混疊起來。這種做法能大大減少跳變效果,但在兩級模型都要繪制時,會暫時增加繪制負擔。文中通過降低了部分真實性來換取了場景的簡化。

5 結論

在動態(tài)水面的模擬中,我們采用了許多新技術,將不同的技術合理地結合在一起,通過簡化和運用層次細節(jié)技術,保證了圖像實時的繪制頻率。目前可編程圖形硬件技術有了迅猛的發(fā)展,GPU可以完成以前在CPU上難以實時進行的復雜圖形計算任務,隨著網(wǎng)絡技術的發(fā)展,在復雜地形大面積水域虛擬場景中,分布式場景模擬也將是一個新的研究方向。

[1] 王勝正.一種實時的3d動態(tài)海洋模擬新方法[J].計算機應用,2007,27(5):1147-1124.

[2] 楊春,等.基于3D和Virtools技術的虛擬實驗的實驗[J].計算機工程與技術,2007,28(11),2589-2591.

[3] Enright D, Marschner 95, Fedkiw R, Amination and Rendering of Complex Water Surface[J]. ACM Transactions on Graphics, 2002, 21(3): 736-744.

[4] 張龍,等.濕地場景的動態(tài)模擬[J].計算機輔助設計與圖形學學報,2008,20(8),1007-1010.

[5] Cem Yukel, Donald H House, John C Keyser. Wave Particle[J]. ACM Transactions on Graphics, 2007, 26(3).

[6] 譚曉輝,等.一種基于GPU的大規(guī)模水面實時模擬方法[J].計算機仿真,2009,26(9):211-214.

[7] 程勇新.3D引擎中大規(guī)模海面實時渲染及場景管理研究與實現(xiàn)[D].合肥:中國科技大學,2009.

[8] 朱旭陽,李思昆.動態(tài)紋理合成技術研究綜述[J].系統(tǒng)仿真學報,2001(增):23-25.

[9] 程罡,吳江濤.三維游戲場景設計與制作[M].北京:電子工業(yè)出版社,2010(1):62-74.

(責任編輯、校對:田敬軍)

Research on the Method of Dynamic Water Simulation Based on VR Technology

FENG Yu-fen

(Department of Mathematics and Information Science, Tangshan Teachers College, Tangshan 063000, China)

In virtual reality (VR) system design, the natural surface effect can make the scene more real. The key technology of water surface dynamic simulation is keeping the balance among the sense of reality of the water surface, real-time rendering speed, the resources requirements of computer software and hardware and difficulty of realizing the virtual reality system. In the paper the writer propose using level of detail technology, using dynamic texture reflection and the way of model of fluctuation surface combining with material mapping method to realize the flowing surface with the effects of reflection and refraction. When it is used in environment representation such as the outdoor scene, it will make the surface more real, less computational complexity and designing and implementation more simple and convenient.

dynamic water surface; dynamic texture; model of water surface; levels of detail

TP391.9.

A

1009-9115(2012)02-0052-04

唐山師范學院科學研究發(fā)展基金項目(10D03)

2012-01-13

馮玉芬(1970-),女,河北玉田人,碩士,高級工程師,研究方向為計算機應用。

猜你喜歡
紋理水面虛擬現(xiàn)實
虛擬現(xiàn)實技術在中學校園中的應用
基于BM3D的復雜紋理區(qū)域圖像去噪
水黽是怎樣浮在水面的
使用紋理疊加添加藝術畫特效
TEXTURE ON TEXTURE質地上的紋理
風口上的虛擬現(xiàn)實
爭奪水面光伏
虛擬現(xiàn)實技術向科幻小說借靈感
消除凹凸紋理有妙招!
一塊水面