專利名稱:三維虛擬現(xiàn)實用矩陣實現(xiàn)模擬環(huán)境光照射的設(shè)置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于三維虛擬現(xiàn)實軟件(max)平臺快速解決模擬環(huán)境光照射、反射、漫射的設(shè)置方法。
背景技術(shù):
3DSMax的渲染是目前在三維模擬現(xiàn)實動畫制作廣泛使用的一種線性掃描渲染,在這種渲染方式下,光線不被物體反射或折射,因此不象真實世界通常一盞燈能照亮一間臥室,所以在我們制作一個場景中要打幾十盞燈,而制作動畫時燈光盞數(shù)將更多。用3DSMax工具制作的過程就是一個觀察,分析的過程。無論要創(chuàng)造的那個場景是現(xiàn)實存在的事物還是作者腦海里的構(gòu)思,都要仔細(xì)觀察,因為運用3DSMax光線的前提是理解真實環(huán)境中光線的屬性,然后依照真實光線的產(chǎn)生,傳遞,分布,角度,明亮,色澤和反射來逐步還原。在一張靜止的作品中,光線的設(shè)置往往要耗費1/3甚至一半以時間和精力。調(diào)整光線的過程是繁瑣浩大,需要敏銳的觀察里和沉穩(wěn)的心鏡。同時Max提供的Grouraud和Phong濃淡處理算法也不太準(zhǔn)確,它們估算落在表面上的光,而非準(zhǔn)確地計算它。要想完全精確,就需要光線跟蹤。光線跟蹤(ray trace)渲染在表面之間追蹤射線,射線不斷地被某些對象表面反射到其它對象表面,直到從場景中消失。光線跟蹤、追蹤從觀察點到各個表面的射線矢量。若反射面是鏡面,便又被反射直至射線被彈出場景和被非鏡面吸收。這是典型的光線跟蹤渲染慢的原因。
輻射度(radiosity)渲染方法效果很好,但計算量卻相當(dāng)大,要比光線跟蹤所用的時間更長。光線跟蹤反射只取一個觀察點,被反射的射線最終找到一個結(jié)束點,消失在場景中。而輻射模型中的反射能量在場景中不斷反彈,能量逐級減弱。在亮光下將一個紅球靠近白墻,在白墻上出現(xiàn)紅色,這就是輻射度效果。
RadioRay是一種結(jié)合了光線跟蹤和輻射的渲染器,其真實的光線計算創(chuàng)建專業(yè)的照明效果。但渲染時間比Max的系統(tǒng)燈光渲染要慢上很多。
Max中燈光的工作原理。在Max中,為了提高渲染速度,燈光是不帶有輻射性質(zhì)的。這是因為帶有光能傳遞的燈光計算速度很慢。也就是說,Max中的燈光工作原理與自然界的燈光是有所不同的。如果要模擬自然界的光反射(如水面反光效果)。漫反射,輻射,光能傳遞,透光效果等特殊屬性,就必須運用多種手段(不僅僅運用燈光手段,好可能是材質(zhì)如光線追蹤材質(zhì)等)進行模擬。因為Max主要任務(wù)是面向動畫制作。在靜幀的制作中,LIGHTSCAPE中的燈光運算速度很慢,渲染一張圖片需要很長的時間。在動畫制作中,一秒鐘的動畫就需要渲染20多張圖片(NTSC式的為30幀/秒,PAL式的為25幀/秒,電影為24幀/秒,如果要保持流暢的動感則至少需要15幀/秒)。也就是說,一分鐘就要渲染1000多張圖片,這就意味著等待將是無窮無盡的。Max有很多第三方開發(fā)的外掛插件,在燈光方面比較優(yōu)秀的插件有RADIOSITY,MENTAL RAY(大型“燈光效果+特殊明暗器+高質(zhì)量渲染”插件)等可供用戶選擇。不過運算速度上有點差強人意。當(dāng)然,如果只渲染一張靜態(tài)圖片而不是做動畫(如建筑效果圖等),為了取得更好的效果與更方便的照明設(shè)置,等待一個小時也是可以的。Max中的燈光最大優(yōu)勢在于運算速度。
在3DSMax系統(tǒng)的光照中,全面的考慮并計算場景中的光線是最重要的問題。傳統(tǒng)的渲染引擎只考慮直接光照,不考慮反射光,然而,反射光是一個場景的重要組成部分。
環(huán)境光是重要的補充光,它來自天然漫反射,它提高了整個場景的亮度。但大多數(shù)渲染器的環(huán)境光統(tǒng)一地應(yīng)用于整個場景。減低了場景的整體黑暗程度,它淘汰掉了一些可能的特性,不能對照亮的物體上的亮部和陰影進行造型,這是使場景看起來不逼真的主要原因。
發(fā)明內(nèi)容
綜上所述,如何克服3DSMax復(fù)雜的設(shè)置方法,克服3DSMax燈光的非光能傳遞、非環(huán)境光漫反射的渲染效果失真缺陷,在三維制作中來模擬真實環(huán)境光在場景中傳遞,即模擬漫反射,模擬光線真實的衰減和投影,達到真實快速渲染效果,這些乃是本發(fā)明所要解決的技術(shù)問題,為此本發(fā)明的目的在于提供一種基于三維模擬現(xiàn)實軟件用矩陣燈光實現(xiàn)模擬環(huán)境光照射的設(shè)置方法。同時,矩陣燈光本身是非光能傳遞,非輻射性性質(zhì),在達到逼真的理想效果同時在三維動畫,虛擬現(xiàn)實漫游的渲染時間大大短于光能傳遞的燈光。
現(xiàn)實光線具有鏡面反射和漫反射,所謂鏡面反射就是鏡子對光線的反射,光束落在鏡子上的瞬間被反向同角度反射,也就是Max中的光線追蹤模式,光反射一次后就消失,漫反射是光線照射在粗糙的物體表面,當(dāng)光線照射的時候,因為光線著落點不一樣,光束向不同的反向反射,反射出來的光不再是以前的一束,可能是很多方向的,但是Max不支持漫反射。矩陣燈光基于max的平臺,光源點在球型表面照向場景環(huán)境,模擬自然界的光反射,漫反射,光能傳遞等特殊屬性,根據(jù)場景模型的復(fù)雜程度,具體需要,設(shè)置矩陣燈光的參數(shù)。
現(xiàn)實光線既有衰減,不管是自然光還是人工光都有衰減,矩陣燈光主要使用的是近遠(yuǎn)距離衰減。投影具有濃度,采樣,取樣點的變化。
矩陣燈光方案改變光能傳遞的解決方案的設(shè)置,在質(zhì)量,渲染時間和內(nèi)存使用之間找到一個平衡。根據(jù)想要得到的不同結(jié)果,設(shè)置會有很大差別,可以用非常長的時間渲染一幅靜態(tài)圖像以獲得高的質(zhì)量,但渲染動畫的時間太長的話就需要做一個折中處理了。矩陣燈光在性能時間比上將是三維動畫燈光設(shè)置的一個較現(xiàn)實的理想實現(xiàn)軟件。
本發(fā)明的技術(shù)方案如下根據(jù)本發(fā)明的矩陣燈光系統(tǒng)設(shè)計方法包括步驟S1.建立3D仿天光反射球,這個球體是由均勻的網(wǎng)絡(luò)構(gòu)成,本發(fā)明利用網(wǎng)格作為環(huán)境光的點射原點位置,網(wǎng)格是由等量大小的三角面構(gòu)成,它的頂點數(shù)與燈光的分布密度成相關(guān)聯(lián)系,當(dāng)仿天光反射球體的三角網(wǎng)格設(shè)置復(fù)雜值越大,網(wǎng)格就越密,分布的燈光就越多,反之網(wǎng)格就越疏,分部的燈光就越少,網(wǎng)格復(fù)雜值與燈光數(shù)量成正比。
這樣做的功能是球型陣列使多個燈光能夠多角度照射場景物體,并且從每個燈光發(fā)出點與被照射物體之間的距離基本一致,物體處于球型矩陣燈光的球心位置,能夠給場景中處在背光面的物體進行多重的補充光,產(chǎn)生柔和的過渡性的投影,由于該系統(tǒng)采用多個燈光補光,每個燈光產(chǎn)生的過渡性投影疊加在一起,將產(chǎn)成柔和的光影效果,與真實世界的環(huán)境光產(chǎn)生原理接近。在矩陣燈光的設(shè)計中,本發(fā)明把光球的網(wǎng)格、燈光功能與矩陣燈光的排列,用Maxscript腳本語言編寫在一起,一鍵建立仿天光反射球,同時矩陣燈光相應(yīng)生成。
S2.把3D矩陣燈光與3D軟件銜接,MAX為C語言提供一個標(biāo)準(zhǔn)的接口,通過MAX的MAXScriptTools,把外部c語言寫成的程序的后綴名修改為.mcr,這樣外部C語言程序就開始被max執(zhí)行,執(zhí)行的位置在max程序的Utilities面板中,點擊MAXScript,然后點擊Open Scipt按鈕,選擇外部C語言程序軟件開始執(zhí)行。
S3.基于Max平臺對矩陣燈光的設(shè)置作全局屬性的整體設(shè)計,本發(fā)明對任意一盞燈光的屬性進行設(shè)置時,它都可以對全局矩陣燈光產(chǎn)生影響,其中包括共頂點數(shù)量熱、衰點控制、倍增亮度控制、環(huán)境色與全局光控制部分。這種多路燈光屬性控制,運算平衡控制的設(shè)計功能使得在虛擬現(xiàn)實的自然環(huán)境光的設(shè)置,操作智能化,且高效、簡便,不會發(fā)生手工一盞盞設(shè)置的操作的差錯。
S4.在矩陣燈光的設(shè)計中,在虛擬顯示的場景設(shè)置好后,把燈光的投影和濃度采樣以及投影的圖和取樣精度密度單獨分別控制。因為光的投影和濃度采樣以及投影的圖和取樣精度密度的數(shù)值設(shè)置量的不同會影響渲染速度與質(zhì)量。
這樣做的功能是有選擇地對待所需要的渲染描繪虛擬現(xiàn)實的畫面,把有效的渲染時間資源放在可視的畫面上,在看不到的地方可以弱化渲染,實驗表明與同類燈光的環(huán)境光設(shè)計相比,本發(fā)明的矩陣燈光的設(shè)計,渲染效果更加細(xì)膩真實,渲染速度遠(yuǎn)遠(yuǎn)快于其他的燈光設(shè)計。
上述的四個步驟,分別從整體上優(yōu)化環(huán)境光設(shè)置,加速制作流程,加速渲染時間;從局部的重點設(shè)置設(shè)計中又強調(diào)了虛擬現(xiàn)實場景的精彩細(xì)膩程度,并優(yōu)化設(shè)置,突出了重點,高效利用渲染時間資源。實驗表明燈光系統(tǒng)設(shè)計在虛擬現(xiàn)實的燈光設(shè)計中是真正有實用價值的燈光方案,至于廣泛用于復(fù)雜場景的照明中(比如模擬照片級現(xiàn)實場景)。
本發(fā)明采用球面作為點射原點模擬環(huán)境光在虛擬現(xiàn)實中的照明、反射、衰減和投影,達到光能傳遞的虛擬現(xiàn)實的效果,其優(yōu)點是1.模擬太陽光在場景中的光能傳遞;2.光線的強度,光源數(shù)量,與球面成相關(guān)參數(shù)變量比;3.光源模擬自然光的衰減;4.光源呈球型矩陣排列均勻分布。
由于本發(fā)明采用矩陣燈光作為三維軟件的燈光插件,與傳統(tǒng)的照明系統(tǒng)相比,其可以充分分析并計算場景中物體與物體之間的光照關(guān)系,從而得到真實的渲染結(jié)果;在三維軟件系統(tǒng)的高級光照中,如何全面考慮并計算場景中的光線是最重要的問題,傳統(tǒng)的渲染引擎只考慮直接光照,不考慮反射光,然而,反射光是一個場景的重要組成部分,矩陣燈光是模擬環(huán)境光的一種理想的全局光照系統(tǒng),使用這種全局光系統(tǒng)在建模及動畫方面沒有太多的限制,這種全局光系統(tǒng)對于物理比例沒有嚴(yán)格的要求,任何模型和燈的類型都適用于這種模擬光能傳遞全局光系統(tǒng),與傳統(tǒng)的光能傳遞相比,傳統(tǒng)的光能傳遞在光能傳遞系統(tǒng)中燈光必須是光度控制燈,材質(zhì)也必須仔細(xì)設(shè)計,而且光能傳遞在物理尺度上也是精確的,但在運算速度上,矩陣燈光的渲染速度則大大優(yōu)于傳統(tǒng)的光能傳遞的軟件的渲染速度,在建筑漫游,地產(chǎn)動畫,三維虛擬場景的制作上,矩陣燈光系統(tǒng)是較理想的燈光解決方案;實施例明顯表明在相同硬件條件,傳統(tǒng)燈光8盞,渲染時間是2.5分鐘。而且不能滿足渲染動畫的需要;而使用本發(fā)明矩陣燈光26盞,渲染時間為10秒,可以滿足全局燈光渲染動畫的需要。而矩陣燈光只有傳統(tǒng)燈光渲染時間的15分之1,并且還能滿足動畫渲染的需要。再從另一個具有相同硬件條件,相同場景模型復(fù)雜程度的具體例子,可以看到傳統(tǒng)燈光渲染尺寸640*480傳統(tǒng)燈光數(shù)量7盞;渲染時間8分15秒;圖像亮面和暗面缺少中間層次的灰度變化,光線堅硬生硬,無細(xì)膩環(huán)境光的陰影變化,過度生硬。本發(fā)明方法的矩陣燈光渲染尺寸640*480;矩陣燈光數(shù)量96盞;渲染時間53秒;圖像柔和的環(huán)境光變化,加上天光淺藍(lán)的冷調(diào)色彩,中間層次豐富真實。有細(xì)膩的陰影變化,有直射受光面的清晰陰影,有暗面的柔和光線散射投影。
圖1是本發(fā)明的矩陣燈光叉件的球型燈光設(shè)置,光球特性復(fù)雜度為2,共點為1;圖2是本發(fā)明的矩陣燈光叉件的球型燈光設(shè)置,光球特性復(fù)雜度為4,共點為1;圖3是本發(fā)明的虛擬場景中的矩陣燈光設(shè)置,光球特性復(fù)雜度為2,光球為隱藏;圖4是本發(fā)明中矩陣燈光球復(fù)雜值為1,支點為1,矩陣燈光為26盞之例圖;圖5是本發(fā)明中矩陣燈光球復(fù)雜值為4,共點為1,矩陣燈光為341盞之例圖;圖6是本發(fā)明中矩陣燈光求復(fù)雜值為4,共點為8,矩陣燈光為43盞之例圖;圖7是虛擬場景中的傳統(tǒng)燈光設(shè)置圖;圖8是與圖7對應(yīng)的虛擬場景中的本發(fā)明的矩陣燈光設(shè)置圖;圖9是虛擬場景中傳統(tǒng)燈光設(shè)置渲染效果圖;圖10和圖11分別是虛擬場景中的傳統(tǒng)燈光渲染的亮暗面之間的灰度層次和陰影的變化效果圖;圖12和圖13分別是與圖10,圖11對應(yīng)虛擬場景中的矩陣燈光渲染的亮暗面之間的灰度層次和陰影變化效果圖;圖14是本發(fā)明中矩陣燈光的矩陣燈光球復(fù)雜值為1,與矩陣燈光設(shè)置屬性共點值為1的設(shè)置例圖;圖15是本發(fā)明中的矩陣燈光的光球復(fù)雜值為1,共點值為1的光球隱藏例圖;圖16是本發(fā)明中的矩陣燈光的光球復(fù)雜值為2,共點值為1的設(shè)置例圖;圖17是本發(fā)明中的矩陣燈光的光球復(fù)雜值為3,共點值為1的設(shè)置例圖;圖18是本發(fā)明中的矩陣燈光的光球復(fù)雜值為3,共點值為1的設(shè)置例圖;圖19~圖23均為本發(fā)明矩陣燈光渲染效果的圖例;圖24是本發(fā)明的矩陣燈光流程圖。
具體實施例方式
下面給出本發(fā)明方法,并結(jié)合圖1~圖24進一步給出本發(fā)明的技術(shù)細(xì)節(jié),并展現(xiàn)本發(fā)明的優(yōu)點。
一本發(fā)明的矩陣燈光系統(tǒng)設(shè)計方法包括步驟S1.建立3D仿天光反射球,這個球體是由均勻的網(wǎng)絡(luò)構(gòu)成,本發(fā)明利用網(wǎng)格作為環(huán)境光的點射原點位置,網(wǎng)格是由等量大小的三角面構(gòu)成,它的頂點數(shù)與燈光的分布密度成相關(guān)聯(lián)系,當(dāng)仿天光反射球體的三角網(wǎng)格設(shè)置復(fù)雜值越大,網(wǎng)格就越密,分布的燈光就越多,網(wǎng)格復(fù)雜值與燈光數(shù)量成正比;分布的燈光在球面上享有的共點越多,燈光的數(shù)量就越少,其中燈光分布共點與燈光數(shù)量成反比。本發(fā)明制作的3D仿天光球,由于網(wǎng)格平均,燈光和網(wǎng)格分布相連系,因而,可模擬自然界的天空球體。
這樣做的功能是這種球型陣列是最有用的,是燈光局的精髓,在模擬天空光時。在矩陣燈光的設(shè)計中,本發(fā)明把光球的網(wǎng)格、燈光功能與矩陣燈光的排列,用Maxscript腳本語言編寫在一起,一鍵建立仿天光反射球,同時矩陣燈光相應(yīng)生成。
S2.把3D矩陣燈光與3D軟件交互銜接,這個軟件是應(yīng)用于Max平臺上,把3D矩陣燈光系統(tǒng)應(yīng)用于Max平臺,成功解決使用模擬環(huán)境光來模擬自然界的光線反射和光源衰減。實驗表明,矩陣燈光系統(tǒng)的渲染速度和質(zhì)量都遠(yuǎn)遠(yuǎn)快于、高于同類的燈光系統(tǒng)。
S3.基于Max平臺對矩陣燈光進行設(shè)置,這種設(shè)置的設(shè)計是全局屬性的整體設(shè)計,對任意一盞燈光的屬性進行設(shè)置時,它都可以對全局矩陣燈光產(chǎn)生影響,其中包括共頂點數(shù)量熱、衰點控制、倍增亮度控制、環(huán)境色與全局光控制部分。這種多路燈光屬性控制,運算平衡控制的設(shè)計功能使得在虛擬現(xiàn)實的自然環(huán)境光的設(shè)置,操作智能化且高效簡便,不會發(fā)生手工一盞盞設(shè)置的操作的差錯。
S4.在矩陣燈光的設(shè)計中,在虛擬顯示的場景設(shè)置好后,把燈光的投影和濃度采樣以及投影的圖和取樣精度密度單獨分別控制。因為光的投影和濃度采樣以及投影的圖和取樣精度密度的數(shù)值設(shè)置量的不同會影響渲染速度與質(zhì)量。
這樣做的功能是有選擇地對待所需要的渲染描繪虛擬現(xiàn)實的畫面,把有效的渲染時間資源放在可視的畫面上,在看不到的地方可以弱化渲染,實驗表明與同類燈光的環(huán)境光設(shè)計相比,本發(fā)明的矩陣燈光的設(shè)計,渲染效果更加細(xì)膩真實,渲染速度遠(yuǎn)遠(yuǎn)快于其他的燈光設(shè)計。
本發(fā)明的優(yōu)點是上述矩陣燈光系統(tǒng)設(shè)計從整體上優(yōu)化環(huán)境光設(shè)置,加速制作流程,加速渲染時間;從局部的重點設(shè)置設(shè)計中又強調(diào)了虛擬現(xiàn)實場景的精彩細(xì)膩程度,并優(yōu)化設(shè)置,突出了重點,高效利用渲染時間資源。
實驗表明本發(fā)明的矩陣燈光系統(tǒng)設(shè)計,在虛擬現(xiàn)實的燈光設(shè)計中是真正有實用價值的燈光方案,并可廣泛用于復(fù)雜場景的照明中(比如模擬照片級現(xiàn)實場景)。
二.在實施矩陣燈光的球型表面點射光源設(shè)計時,采用MAXScript角本語言編寫,C語言軟件平臺是turbo c版本3.0以下為部分程序源代碼方法中涉及到相關(guān)的程序如下--矩陣燈光_MAX8.ms--矩陣燈光2.0--2006年1月--″矩陣燈光″for 3D Studio MAX 3-8--這個腳本利用光線散射原理,采用球面作為點射原點模擬環(huán)境光效果。
--未經(jīng)同意,不得用于商業(yè)用途!--作者魏慶前--聯(lián)系http://wqq3000@126.com--版本信息----------------------Version 1.01-2005.1--增加建立虛擬球體--適應(yīng)了更高版本----Version 1.5-2005.6--修正了一些bug
--The Script----Global ParametersGlobal EL_Map=undefinedGlobal EL_Map_Height=undefinedGlobal EL_Map_Width=undefinedGlobal GeosphereHemisphereChecked=onGlobal GeospherePosition=
Global GeosphereRadiusController=bezier_float()Global GeosphereRadiusValue=1000.0Global GeosphereSegmentsValue=2Global LightsColorRGB=whiteGlobal LightsCount=91Global LightsFalloffValue=52.0Global LightsIndex=undefinedGlobal LightsHotspotValue=50.0Global LightsMapBiasValue=0.1Global LightsMapSizeValue=128Global LightsMemory=6Global LightsMultiplierController=bezier_float()Global LightsMultiplierValue=1.0Global LightsNumber=undefinedGlobal LightsOvershootChecked=offGlobal LightsSampleRangeValue=4.0Global LightsShadowColorColor=blackGlobal LightsShadowMultiplierController=bezier_float()Global LightsShadowMultiplierValue=1.0Global LightsShadowChecked=onGlobal LightsStatusChecked=onGlobal LightsStepValue=1Global VertexCount=undefined--Functionsfn FnTotalNumberOfLights=(if GeosphereHemisphereChecked then(LightsCount=((20*GeosphereSegmentsValue^2+5*GeosphereSegmentsValue+1.00)/LightsStepValue)LightsCount+=0.99)else(LightsCount=((10*GeosphereSegmentsValue^2+2.00)/LightsStepValue)LightsCount+=0.99)LightsMemory=(LightsCount*4.0*LightsMapsizeValue^2/1024000)+0.5)--"Total memory required for shadows:"+(LightsCount*4*LightsMapsizeValue^2/1024000 as string)--Create RolloutRollout ELCreate"建立矩陣燈光"(Button CreateEL"建立矩陣燈光!"width:194 align:#centerOn CreateEL pressed do(if $EL_dome==undefined then(GeoSphere name:"EL_dome"pos:
radius:GeosphereRadiusValuehemisphere:GeosphereHemisphereChecked segs:GeosphereSegmentsValue mapCoords:onwirecolor:black renderable:off xray:on
三.矩陣燈光系統(tǒng)實例測試比較分析根據(jù)圖1~圖23,將予以比較分析在虛擬現(xiàn)實方案制作上,進行現(xiàn)實光線的模擬設(shè)置,場景中的每一盞燈光都要一盞一盞開啟,根據(jù)場景中的虛擬物體和角色位置,調(diào)整燈光的方向、位置、陰影,還要根據(jù)場景的藝術(shù)表現(xiàn)的需要,是晴朗的、陰天的、明媚的、灰暗的,所有的光影效果都要用燈光來表現(xiàn),然而,這一切在傳統(tǒng)的三維軟件中都要一盞一盞地開啟,一盞一盞地調(diào)整位置,光線的強弱,陰影,顏色。在矩陣燈光的制作中根據(jù)場景的復(fù)雜程度、場景的大小需要,設(shè)置矩陣燈光球半徑的值、燈光屬性、強弱、色彩、投射陰影、衰減、燈光貼圖,設(shè)置完成后點擊建立矩陣燈光,可以一次性生成幾十盞,幾百盞的燈光,矩陣燈光系統(tǒng)自動生成矩陣燈光球,在矩陣燈光球面上按矩陣燈光球的復(fù)雜值和共點排列矩陣燈光。其中要注意的是矩陣燈光球的復(fù)雜值與燈光屬性的共點,這兩個值直接影響到矩陣燈光的數(shù)量。矩陣燈光球復(fù)雜值與共點分析案例復(fù)雜值1共點1矩陣燈光數(shù)量26盞復(fù)雜值2共點1矩陣燈光數(shù)量91盞復(fù)雜值3共點1矩陣燈光數(shù)量196盞復(fù)雜值4共點1矩陣燈光數(shù)量341盞復(fù)雜值1共點2矩陣燈光數(shù)量13盞復(fù)雜值1共點3矩陣燈光數(shù)量9盞復(fù)雜值2共點4矩陣燈光數(shù)量23盞復(fù)雜值4共點2矩陣燈光數(shù)量171盞復(fù)雜值4共點8矩陣燈光數(shù)量43盞設(shè)置所有屬性值后,點擊建立矩陣燈光面板,自動生成矩陣燈光。作為虛擬場景的光線照明,模擬自然的環(huán)境光影變化,經(jīng)渲染生成生動真實的虛擬場景畫面。在運算速度上,矩陣燈光的渲染速度大大優(yōu)于傳統(tǒng)的光能傳遞的軟件的渲染速度,在建筑漫游,地產(chǎn)動畫,三維虛擬場景的制作上,矩陣燈光系統(tǒng)是較理想的燈光解決方案。
實例分析矩陣燈光與傳統(tǒng)燈光的速度比較打開一個虛擬場景,比較矩陣燈光的渲染速度與傳統(tǒng)燈光的渲染速度虛擬場景中的傳統(tǒng)燈光如圖5,圖6所示,在三維場景中,傳統(tǒng)的燈光設(shè)置方法是一盞一盞開啟,照亮全局的場景虛擬物體,大家知道,燈光越多渲染的時間越慢,為了節(jié)省時間往往在相機看不到的角度省略掉燈光,減少燈光數(shù)量以求得較快的渲染速度;但在三維動畫運動中的場景虛擬物體中,相機往往是不停地處在運動變化之中,這時全局的燈光是不能夠被省略掉的,只要在被可能看見的場景角度都要設(shè)置燈光,所以在一個動畫的場景中想取得令人滿意、信服的光影效果就要在燈光的設(shè)置上大下工夫。真實性是三維動畫一直以來的難點,而燈光則是難點中的難點,其中對渲染的等待,對渲染時間的縮短,可以說是一代代設(shè)計師們共同所追求的。計算機硬件的速度在提高,在既有的硬件平臺的基礎(chǔ)上,如何創(chuàng)造性地開發(fā)軟件以提高渲染速度,優(yōu)化光影效果,這是節(jié)省三維動畫制作成本,加強市場競爭力最重要的條件之一。以上圖例是三維場景傳統(tǒng)燈光的一般設(shè)置方法,打了7盞泛光燈,1盞目標(biāo)平行燈,共計8盞燈光,來照亮場景虛擬物體,為了渲染節(jié)省時間,本例中減少看不到的視覺角度的燈光設(shè)置,減少投影燈光的數(shù)量,減少光能傳遞。只滿足相機角度靜止的場景渲染要求,不能作為動畫的燈光要求。對此條件下,對渲染時間本發(fā)明人做了計算渲染一張靜楨,640*480;在相同的硬件配置下,AMD SEMPRON2500+內(nèi)存512MB顯卡NVIDIA GEFORCE Fx5200時間是2.5分鐘。虛擬場景中的矩陣燈光如圖7所示,相同的場景下,矩陣燈光復(fù)雜為1,共點1,矩陣燈光數(shù)量26盞,照亮全局場景設(shè)置全局環(huán)境燈光,滿足相機運動的動畫要求,滿足場景物體運動的動畫要求渲染要求。對渲染時間我做了計算渲染一張靜楨,640*480;在相同的硬件配置下,AMD SEMPRON2500+內(nèi)存512MB顯卡NVIDIA GEFORCE Fx5200時間是10秒。矩陣燈光與傳統(tǒng)燈光渲染時間比較分析相同硬件條件,傳統(tǒng)燈光8盞,渲染時間是2.5分鐘。不能滿足渲染動畫的需要矩陣燈光26盞,渲染時間時間是10秒。可以滿足全局燈光渲染動畫的需要矩陣燈光只有傳統(tǒng)燈光渲染時間的15分之1。
矩陣燈光與傳統(tǒng)燈光的渲染效果比較矩陣燈光,它與傳統(tǒng)的照明系統(tǒng)有很大的區(qū)別,它可以充分分析并計算場景中物體與物體之間的光照關(guān)系,從而得到真實的渲染結(jié)果;在三維軟件系統(tǒng)的高級光照中,如何全面考慮并計算場景中的光線是最重要的問題,傳統(tǒng)的渲染引擎只考慮直接光照,不考慮反射光;然而,反射光是一個場景的重要組成部分,矩陣燈光是模擬環(huán)境光的一種理想的全局光照系統(tǒng),使用這種全局光系統(tǒng)在建模及動畫方面沒有太多的限制;打開上個圖例相同一個虛擬場景,來比較矩陣燈光的渲染效果與傳統(tǒng)燈光的渲染效果虛擬場景中的傳統(tǒng)燈光從圖10中,可見,亮面和暗面缺乏中間層次灰度的變化,光線堅硬硬,從圖11可見,看細(xì)處無細(xì)膩環(huán)繞光的陰影變化,過度生硬。傳統(tǒng)燈光細(xì)處圖渲染尺寸640*480;傳統(tǒng)燈光7盞;渲染時間8分15秒;虛擬場景中的矩陣燈光渲染后結(jié)果從圖12可見,柔和的環(huán)境光變化,加上天光淺藍(lán)的冷調(diào)色彩,中間層次豐富真實,從圖13再看細(xì)化,有細(xì)膩的陰影變化,有直射受光面的清晰陰影,有暗面的柔和光線散射投影。矩陣燈光細(xì)處圖渲染尺寸640*480;矩陣燈光96盞;渲染時間53秒;矩陣燈光與傳統(tǒng)燈光的渲染效果比較分析相同硬件條件,相同場景模型復(fù)雜程度a.傳統(tǒng)燈光渲染尺寸640*480;傳統(tǒng)燈光數(shù)量7盞;渲染時間8分15秒;亮面和暗面缺少中間層次的灰度變化,光線堅硬生硬,無細(xì)膩環(huán)境光的陰影變化,過度生硬。
b.矩陣燈光渲染尺寸640*480;矩陣燈光數(shù)量96盞;渲染時間53秒;柔和的環(huán)境光變化,加上天光淺藍(lán)的冷調(diào)色彩,中間層次豐富真實。有細(xì)膩的陰影變化,有直射受光面的清晰陰影,有暗面的柔和光線散射投影。其中,圖14,復(fù)雜值為1,共點值為1;圖15復(fù)雜值為1,共點值為1的光球隱藏。而圖16是復(fù)雜值為2,共點值為1;圖17,是復(fù)雜值為3,共點值為1;圖18復(fù)雜值為3,共點值為1。
矩陣燈光的渲染效果,從圖19~圖23更可見到其真實感。
最后,還要指出,上述有關(guān)矩陣燈光的設(shè)計實例,是根據(jù)圖24所提供的操作流程完成的。建立矩陣燈光燈量和球面共點成反比和球面復(fù)雜值成正比。建立矩陣燈光屬性、投影、相關(guān)設(shè)置,影響球面所有矩陣燈光的設(shè)置。
權(quán)利要求
1.一種三維虛擬現(xiàn)實用矩陣燈光實現(xiàn)模擬環(huán)境光照的設(shè)置方法,包括步驟S1.建立三維仿天光反射球,球型矩陣使多個燈光能夠多角度照射場景物體,并且從每個燈光發(fā)出點與被照射物之間的距離基本一致,物體處于球型矩陣燈光的球心位置,能夠給場景中處于背光面的物體以多重的補充光,產(chǎn)生柔和的過度性的投影;S2.把三維矩陣燈光與3DSMax軟件銜接,3DSMax為C語言提供一個標(biāo)準(zhǔn)的接口,通過3DSMax軟件的MaxSriptools把外部C語言生成的程序的后綴名修改為Mcr.這樣外部C語言就被3DSMax軟件執(zhí)行;S3.基于3DSMax軟件平臺對矩陣燈光的設(shè)置作全局屬性的整體設(shè)計,任一盞燈光都可以對全局矩陣燈光進行影響;S4.在矩陣燈光的設(shè)計中,在虛擬現(xiàn)實場景設(shè)計設(shè)置好后,在燈光的投影和濃度采樣以及投影的圖和取樣精度密度單獨分別控制。
2.根據(jù)權(quán)利要求1所述的三維虛擬現(xiàn)實用矩陣燈光實現(xiàn)模擬環(huán)境光照射的設(shè)置方法,其特征在于,步驟S1中所說建立的三維仿天光反射球是由均勻的網(wǎng)格構(gòu)成,由網(wǎng)格的交匯點作為燈光的原點位置。
3.根據(jù)權(quán)利要求2所述的三維虛擬現(xiàn)實用矩陣燈光實現(xiàn)模擬環(huán)境光照射的設(shè)置方法,其特征在于,所說的均勻網(wǎng)格是指網(wǎng)格由等量大小的三角而構(gòu)成,其頂點數(shù)與燈光的分布個數(shù)成相關(guān)聯(lián)系,仿天光反射球的三角網(wǎng)格設(shè)置復(fù)雜值越大,相應(yīng)的網(wǎng)格就越密,分布的燈光就越多,網(wǎng)格復(fù)雜值與燈光數(shù)量成正比。
4.根據(jù)權(quán)利要求1所述的三維虛擬現(xiàn)實用矩陣實現(xiàn)模擬環(huán)境光照射的設(shè)置方法,其特征在于,在步驟S2中,所說的3DSMax軟件銜接執(zhí)行外部C語言程序,其執(zhí)行的位置在Max程序的UGilities面板中。
全文摘要
一種三維虛擬現(xiàn)實用矩陣燈光實現(xiàn)模擬環(huán)境光照射的設(shè)置方法,包括步驟S
文檔編號G06T15/50GK1916968SQ20061003075
公開日2007年2月21日 申請日期2006年9月1日 優(yōu)先權(quán)日2006年9月1日
發(fā)明者魏慶前 申請人:上海大學(xué)