? &

日韩无码视频长长久久_色狠狠久久AV丁香_免费的一级亚洲黄片_亚洲一区二区三区97

?
聯(lián)系我們???Contact
你的位置:首頁 > 新聞動態(tài)

OGRE引擎架構(gòu)如何實現(xiàn)三維虛擬舞臺燈光效果

2016-04-15 00:47:51??????
      舞臺燈光設(shè)計已經(jīng)成為照明設(shè)計師的一個主要問題。他們經(jīng)常要面對這樣高成本,高能耗和高耗時的問題。隨著信息產(chǎn)業(yè)的蓬勃發(fā)展,專業(yè)舞臺燈光領(lǐng)域也跨入了全面的數(shù)字化時代。系統(tǒng)利用0-GRE誼染引擎建立虛擬舞臺,并且對舞臺燈光設(shè)計及調(diào)整進行實時呈現(xiàn),同時為舞臺燈光設(shè)計師提供了豐富的系統(tǒng)交互功能,能夠很好的解決這一難題。接下來,系統(tǒng)還需要進一步豐富舞臺的燈光模型,能夠模擬各種各樣的燈光,比如:柔光燈,閃光燈,追光燈等。用戶的操作界面也需要進一步優(yōu)化,提高用戶操作的友好性。

 

      使用OGRE引擎的架構(gòu),能夠更加方便的模擬逼真的三維舞臺燈光環(huán)境,虛擬技術(shù)本身所具有的臨場感和交互能力不僅可以將靜態(tài)的設(shè)計和創(chuàng)作轉(zhuǎn)化為動態(tài)形式的再現(xiàn),而且還可以及時地捕捉和展現(xiàn)設(shè)計者的構(gòu)思、創(chuàng)意和靈感,一個成熟而完善的虛擬設(shè)計系統(tǒng)平臺無論是對于燈光設(shè)計師、演出導演、燈光控制操作者,還是對于燈光美術(shù)教學和做燈光效果演示等都是一個非常專業(yè)且實用的設(shè)計工具和得力助手。而實時方便的可交互性功能,則使得系統(tǒng)更加具有實時性和可操作性。本系統(tǒng)提供一個實時可交互的操作環(huán)境,滿足了用戶的需求。
一、系統(tǒng)架構(gòu)
1. 邏輯架構(gòu)
無論是游戲還是虛擬現(xiàn)實,為了表現(xiàn)其逼真性,虛擬場景大多比較復雜,所以虛擬場景的創(chuàng)建大多由3D 建模工具生成,然后對場景實時渲染輸出。舞臺燈光設(shè)計由3DMAX 提供基本的場景文件,通過DOM (Document Object Model) 接口進行解析,并進行資源的導入和場景的組織。最終進入OGRE
系統(tǒng)進行渲染。
光照模型是多種多樣的,需要在場景中分別實現(xiàn)它們的效果。同時用戶也要能夠通過UI 界面進行各種各樣的操作。系統(tǒng)要求操作復雜度高,計算量大,可擴展性強。需要設(shè)計與建立一個數(shù)據(jù)處理與計算效率高、可擴展性強、功能模塊松搞合強內(nèi)聚的總體實現(xiàn)架構(gòu)(如圖1所示),系統(tǒng)分為資源層,接口層,渲染層。
資源層:由3DMAX + Ofusion插件導出,生成場景組織,材質(zhì),實體,貼圖等系統(tǒng)所需的資源文件。
接口層:負責將這些資源文件導入場景中。
渲染層:實現(xiàn)舞臺場景和燈光的渲染,系統(tǒng)資源的管理,用戶交互的實時響應等。
二、系統(tǒng)實現(xiàn)關(guān)鍵技術(shù)研究
1. 場景的組織和形成
系統(tǒng)所需的資源文件由3DMAX通過Ofusion插件導出。導出的場景組織文件是XML格式的,記錄著舞臺的一些基本的參數(shù)和每一個舞臺實體的位置,朝向等各個方面的信息。場景節(jié)點是以樹狀形式組織的每個節(jié)點都有相應的父節(jié)點,因此我們可以通過對父節(jié)點的操作,方便的使多個子節(jié)點同時移動和旋轉(zhuǎn)。
2. 三維坐標變換
要把三維的渲染結(jié)果展現(xiàn)到二維的屏幕上,需要進行從三維坐標到平面坐標的轉(zhuǎn)換。首先,需要建立一個三維坐標系,我們創(chuàng)建一個三維的斜二軸側(cè)坐標系,其中x軸方向為水平向左,z軸方向為豎直向上,y軸的方向為與水平方向成45°角。在該坐標系中顯示圖形時,x軸和z軸方向的長度取圖形實際長度,而y 軸方向的長度則取實際長度的一半。
公式中,ηx、ηy、ηz是x、y、z軸的軸變形系數(shù)。進行軸測投影變換,可得下列方程式:
其中f和d是軸測變換矩陣系數(shù),求解這個方程式,可得:
為了使立體感更強,令d=f= -0.354,可以求出軸測技影變換矩陣:
接下來,需要將圖形的三維坐標轉(zhuǎn)化為屏幕上的設(shè)備坐標,在透視窗口中,坐標原點位于屏幕的左上角,向右的方向為x軸的正方向,向下的方向為y軸的正方向。
假設(shè)在三維空間中的一點(x ,y ,z) ,在設(shè)備坐標中的坐標是(xx,yy) ,運用剛剛的軸測投影變換矩陣,可以得到如下轉(zhuǎn)換公式:
公式中xX、yY,是三維坐標原點在設(shè)備坐標系中的相對坐標。
將公式(4)代入(5),可以得出變換方程:
3. 粒子系統(tǒng)效果模擬
粒子是用四邊形來表示的。它有長寬、方向、顏色、壽命、數(shù)量、材質(zhì)、重量和速率等屬性。粒子的屬性由粒子發(fā)射器(Particle Emitter) 和粒子特效影響器(Particle Affector) 共同決定。粒子發(fā)射器負責粒子的發(fā)射,給出粒子在發(fā)射時的一些屬性,包括運動速率、顏色、生命期等;粒子特效影響器負責粒子從發(fā)射后到消亡前這一階段粒子屬性的改變,可以用來模擬重力、拉力、顏色衰變等特殊效果。當粒子發(fā)射器不停地噴發(fā)出大量粒子時,就可以形成煙、火和爆炸等效果。
OGRE提供了粒子系統(tǒng)腳本語言,可以在腳本中設(shè)置粒子的各種屬性。
本文中,通過粒子系統(tǒng)描述了舞臺煙花,下雨和云霧的效果。結(jié)合OGRE 的動畫效果,可以實現(xiàn)更加逼真的場景粒子效果。
4. 光照效果模擬
光照是舞臺效果的關(guān)鍵因素,也是本設(shè)計系統(tǒng)核心的技術(shù)。渲染引擎提供了幾種常用的燈光,比如點光源、方向光源和聚光燈。但是對于真實的舞臺燈光效果模擬,這些是不夠的。對于一些特殊的舞臺燈光效果,比如體積光等,需要通過可編程渲染管線技術(shù)(shader) 來實現(xiàn)。shader有兩種,一種是頂點級的,稱為vertex shader(OpenGL稱為ve吐白program) ,取代固定渲染管線中的變換和光照部分,程序員可以自己控制頂點變換、光照等。硬件中處理頂點shader的單元叫vertex shader processors (頂點處理單元)。一種是像素級的,稱為pixel shader( OpenGL 稱為fragment program) ,取代固定渲染管線中的光柵化部分,程序員可以自己控制像素顏色和紋理采樣等。硬件中處理像素shader 的單元叫pixel shader processors (像素處理單元)。
為了使燈光的模擬更有真實感,還需要借助3D的光照方程來模擬計算。這里往往是一種近似的算法,但是它能達到一個很好的模擬效果和很快的運行速度。常見的光照模型有兩種:全局光照模型和直接光照模型。本系統(tǒng)采用全局光照模型。全局光照模型是一個能很好的模擬真實感的光照模型。它可以同時考慮到光線照射到物體表面上產(chǎn)生的反射、折射、透射、陰影和物體相互間作用的光照效果。利用全局光照模型,需要模擬實際光線的傳播過程和能量交換的輻射度。
對于光線跟蹤,需要考慮光源的直接照射結(jié)果以及反射光對該點的照明效果,把兩者綜合起來:
接下來計算輻射度,需要計算每個面片上的光照情況:
這里Ld是光源照射的光,T是光照傳播因子,TLi是其他面片反射來的光照,L便是最終要求的光照值。
系統(tǒng)界面及總結(jié)
三、系統(tǒng)界面
系統(tǒng)可以實現(xiàn)舞臺的切換,舞臺中各種場景效果,也可以與舞臺場景和各種燈光進行實時交互。如圖4為舞臺煙花效果圖,圖5為體積光效果圖。

 

文章來源:星光舞臺設(shè)備官網(wǎng)   ©版權(quán)所有。未經(jīng)許可,不得轉(zhuǎn)載。
?