VR課程教案資料_第1頁
VR課程教案資料_第2頁
VR課程教案資料_第3頁
VR課程教案資料_第4頁
VR課程教案資料_第5頁
已閱讀5頁,還剩150頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

VR課程教案本教案分兩部分,共分15課時第一章(1課時)初識VR和軟件安裝課程要求:1.熟悉VR軟件的特征和核心。2.正確安裝vr軟件。1.VRay的特征

VRay光影追蹤渲染器有Basic

Package

Advanced

Package兩種包裝形式。Basic

Package具有適當的功能,適合學生和業余藝

術家使用。Advanced

Package

包含有幾種特殊功能,適用于專業人員使用。Basic

Package的軟件包提供的功能特點

·

真正的光影追蹤反射和折射。(See:

VRayMap)

·

平滑的反射和折射。(See:

VRayMap)

·

半透明材質用于創建石蠟、大理石、磨砂玻璃。(See:

VRayMap)

·

面陰影(柔和陰影)。

包括方體和球體發射器。(See:

VRayShadow)

·

間接照明系統(全局照明系統)。可采取直接光照

(brute

force),

和光照貼圖方式(HDRi)。(See:

Indirect

illumination)

·

運動模糊。包括類似Monte

Carlo

采樣方法。(See:

Motion

blur)

·

攝像機景深效果。(See:

DOF)

·

抗鋸齒功能。包括

fixed,

simple

2-level

adaptive

approaches等采樣方法。(See:

Image

sampler)

·

散焦功能。(See:

Caustics

)

·

G-緩沖(RGBA,

material/object

ID,

Z-buffer,

velocity

etc.)

(See:

G-Buffer

)

Advanced

Package軟件包提供的功能特點除包含所有基本功能外,還包括下列功能:

·

基于G-緩沖的抗鋸齒功能。(See:

Image

sampler)

·

可重復使用光照貼圖

(save

and

load

support)。對于fly-through

動畫可增加采樣。(See:

Indirect

illumination)

·

可重復使用光子貼圖

(save

and

load

support)。(See:

Caustics)

·

帶有分析采樣的運動模糊。(See:

Motion

blur

)

·

真正支持

HDRI貼圖。

包含

*.hdr,

*.rad

圖片裝載器,可處理立方體貼圖和角貼圖貼圖坐標。可直接貼圖而不會產生變形或切片。

·

可產生正確物理照明的自然面光源。(See:

VRayLight)

·

能夠更準確并更快計算的自然材質。(See:

VRay

material)

·

基于TCP/IP協議的分布式渲染。(See:

Distributed

rendering)

·

不同的攝像機鏡頭:fish-eye,

spherical,

cylindrical

and

cubic

cameras

(See:

Camera)

1.1.1軟件安裝Vray是一款小型渲染軟件,屬于3Dmax插件類型,所以根據3DMAX使用需安裝在3Dmax插件(Plugin目錄)下如圖a.b圖a圖b然后按提示注冊即可(課堂上會有安裝過程指導)一切OK后,啟動3Dmax,掛載VR渲染器如圖1如圖1思考題Vr是否可獨立3Dmax工作?VR有哪些特征?試述VR安裝過程。2.VR的渲染面板課程要求:1.合理的設置圖象抗拒齒2.了解并掌握光子圖的概念3.全局光照GI的渲染原理4.首次光反彈和二次光反彈GI渲染引擎的合理選用5.用所學到的知識渲染簡單的場景,和MAX默認渲染做對比2.1.1VR授權信息你可以看到在渲染場景對話框中VR渲染器現在共有15個卷展欄。在接下來的時光里,我們將逐一學習它們,當然還包括其它的新增和改進功能。如圖2所示圖2看看VR的版本號。如圖3所示圖3關于VR:Authorization卷展欄。如圖4所示圖4下面我按照順序,來解釋一些參數的含義,這部分可能比較枯燥,我會盡量多使用一些圖片的。2.2.2VRayframebuffer卷展欄:VR的幀緩存。參數如圖5所示圖5Enablebuilt-inframebuffer:使用內建的幀緩存。勾選這個選項將使用VR渲染器內置的幀緩存。當然,max自身的幀緩存仍然存在,也可以被創建,不過,在這個選項勾選后,VR渲染器不會渲染任何數據到max自身的幀緩存窗口。為了防止過分占用系統內存,VR推薦把max的自身的分辨率設為一個比較小的值,并且關閉虛擬幀緩存。(位于渲染場景的common卷展欄下)如圖6所示圖6Getresolutionfrom3dsmax:從3dsmax獲得分辨率。勾選這個選項的時候,VR將使用設置的3DSMAX的分辨率。Outputresolution:輸出分辨率。這個選項在不勾選Getresolutionfrom3dsmax這個選項的時候可以被激活,你可以根據需要設置VR渲染器使用的分辨率,具體使用的方法大家都知道的。ShowlastVFB:顯示上次渲染的VFB窗口,點擊這個按鈕會顯示上閃渲染的VFB窗口。Rendertomemoryframebuffer:渲染到內存。勾選的時候將創建VR的幀緩存,并使用它來存儲顏色數據以便在渲染時或者渲染后觀察。注意:如果你需要渲染很高分辨率的圖像輸出的時候,不要勾選它,否則它可能會大量占用你系統的內存!此時的正確選擇是使用下面的“渲染到圖像文件”。RendertoV-Rayimagefile:渲染到VR圖像文件。這個選項類似于3dsmax的渲染圖像輸出。不會在內存中保留任何數據。為了觀察系統是如何渲染的,你可以勾選下面的Generatepreview選項。Generatepreview:生成預覽。這個選項的作用應該不需要多講吧。SaveseparateG-Bufferchannels:保存單獨的G-緩存通道。勾選這個選項允許你在G-緩存中指定的特殊通道作為一個單獨的文件保存在指定的目錄。VFB工具條:我們來看看VR的虛擬幀緩存窗口。如圖7圖7這些圖標表示的含義很簡單,當你的鼠標移到相應的圖標上的時候,會顯示圖標的含義。在這里我先講解一下上排右起第三個圖標。當鼠標指向它的時候,會顯示出“Trackmousewhilerendering”。它的意思就是在渲染過程中使用鼠標軌跡。通俗一點解釋就是:在渲染過程中,當鼠標在VR的幀緩存窗口拖動時,會強迫VR優先渲染這些區域,而不會理會設置的渲染塊順序。這對于場景局部參數調試非常有用。圖8顯示了我按下這個按鈕后,在窗口中央隨意點擊的效果。圖8接下來是下排第4個圖標,用于顯示VR幀緩存窗口任意一點的相關信息。按下這個按鈕后,使用鼠標在完成的幀緩存窗口右擊,馬上會在一個獨立的窗口中顯示出相關的信息。如圖9所示圖9下面是一些在幀緩存操作的快捷鍵:+/-鍵用于放大或縮小,*鍵用于使圖像100%顯示,四個箭頭鍵用于上下左右移動圖像。使用鼠標的操作:ctrl+左鍵可以放大,+右鍵可以縮小,當然你也可以使用鼠標中鍵的滾動來放大或縮小圖像,雙擊左鍵可以100%顯示圖像,按下中鍵拖動鼠標可以移動圖像。2.2.3VRay:Globalswitches→全局轉換卷展欄。這個卷展欄用于控制VR的一些全局參數設置。參數如圖10所示圖10Displacement選項:決定是否使用VR自己的置換貼圖。注意這個選項不會影響3dsmax自身的置換貼圖。關于VR的置換貼圖我們在后面學習。Lights:燈光,決定是否使用全局的燈光。也就是說這個選項是VR場景中的直接燈光的總開關,當然這里的燈光不包含max默認的燈光。如果不勾選的話,系統不會渲染你手動設置的任何燈光,即使這些燈光處于勾選狀態,自動使用默認燈光渲染場景。所以當你希望不渲染場景中的直接燈光的時候你只需取消勾選這個選項和下面的默認燈光選項。Defaultlights:默認燈光,是否使用max的默認燈光。一般要取消勾選Hiddenlights:隱藏燈光。勾選的時候,系統會渲染隱藏的燈光效果而不會考慮燈光是否被隱藏。Shadows:決定是否渲染燈光產生的陰影。ShowGIonly:僅顯示全局光。勾選的時候直接光照將不包含在最終渲染的圖像中。但是在計算全局光的時候直接光照仍然會被考慮,但是最后只顯示間接光照明的效果。圖11顯示了勾選這個選項后的效果。圖11Reflection/refraction:是否考慮計算VR貼圖或材質中的光線的反射/折射效果。Maxdepth:最大深度。用于用戶設置VR貼圖或材質中反射/折射的最大反彈次數。在不勾選的時候,反射/折射的最大反彈次數使用材質/貼圖的局部參數來控制。當勾選的時候,所有的局部參數設置將會被它所取代。Maps:是否使用紋理貼圖。Filtermaps:是否使用紋理貼圖過濾。Max.transplevels:最大透明程度。控制透明物體被光線追蹤的最大深度。Transp.cutoff:透明度中止。控制對透明物體的追蹤何時中止。如果光線透明度的累計低于這個設定的極限值,將會停止追蹤。Overridemtl:材質替代。勾選這個選項的時候,允許用戶通過使用后面的材質槽指定的材質來替代場景中所有物體的材質來進行渲染。這個選項在調節復雜場景的時候還是很有用處的。如果你不指定材質,將自動使用max標準材質的默認參數來替代。Don’trenderfinalimage:不渲染最終的圖像。勾選的時候,VR只計算相應的全局光照貼圖(光子貼圖、燈光貼圖和發光貼圖)。這對于渲染動畫過程很有用。Secondaryraysbias:二次光線偏置距離。設置光線發生二次反彈的時候的偏置距離。2.2.4ImageSampler(Antialiasing):圖形采樣器(抗鋸齒)在VR渲染器中,圖像采樣器的概念是指采樣和過濾的一種算法,并產生最終的像素數組來完成圖形的渲染。VR提供了幾種不同的采樣算法,盡管會增加渲染時間,但是所有的采樣器都支持max標準的抗鋸齒過濾算法。你可以在Fixedratesampler(固定比率采樣器)、AdaptiveQMCsampler(自適應QMC采樣器)和Adaptivesubdivision(自適應細分采樣器)中根據需要選擇一種使用。參數如圖12所示圖12Fixedratesampler:固定比率采樣器。這是VR中最簡單的采樣器,對于每一個像素它使用一個固定數量的樣本。它只有一個參數:Subdivs(細分),這個值確定每一個像素使用的樣本數量。當取值為1的時候,意味著在每一個像素的中心使用一個樣本;當取值大于1的時候,將按照低差異的蒙特卡羅序列來產生樣本。參數如圖13所示圖13AdaptiveQMCsampler:自適應QMC采樣器。參數如圖14所示這個采樣器根據每個像素和它相鄰像素的亮度差異產生不同數量的樣本。值得注意的是這個采樣器與VR的QMC采樣器是相關聯的,它沒有自身的極限控制值,不過你可以使用VR的QMC采樣器中的Noisethreshold參數來控制品質。關于QMC采樣器在后面我們會講到。對于那些具有大量微小細節,如VRayFur物體,或模糊效果(景深、運動模糊燈)的場景或物體,這個采樣器是首選。它也比下面提到的自適應細分采樣器占用的內存要少。Minsubdivs:最小細分,定義每個像素使用的樣本的最小數量。一般情況下,你很少需要設置這個參數超過1,除非有一些細小的線條無法正確表現。Maxsubdivs:最大細分,定義每個像素使用的樣本的最大數量。圖14Adaptivesubdivisionsampler:自適應細分采樣器。參數如圖15所示這是一個具有undersampling功能(我無法用漢語來準確表達這個詞語的含義,它的意思就是每個像素的樣本值可以低于1個)的高級采樣器。在沒有VR模糊特效(直接GI、景深、運動模糊等)的場景中,它是最好的首選采樣器。平均下來,它使用較少的樣本(這樣就減少了渲染時間)就可以達到其它采樣器使用較多樣本所能夠達到的品質和質量。但是,在具有大量細節或者模糊特效的情形下會比其它兩個采樣器更慢,圖像效果也更差,這一點一定要牢記。理所當然的,比起另兩個采樣器,它也會占用更多的內存。圖15Min.rate:最小比率,定義每個像素使用的樣本的最小數量。值為0意味著一個像素使用一個樣本,-1意味著每兩個像素使用一個樣本,-2則意味著每四個像素使用一個樣本,依次類推。Max.rate:最大比率,定義每個像素使用的樣本的最大數量。值為0意味著一個像素使用一個樣本,1意味著每個像素使用4個樣本,2則意味著每個像素使用8個樣本,依次類推。Threshold:極限值,用于確定采樣器在像素亮度改變方面的靈敏性。較低的值會產生較好的效果,但會花費較多的渲染時間。Rand:邊緣,略微轉移樣本的位置以便在垂直線或水平線條附近得到更好的效果。Objectoutline:物體輪廓,勾選的時候使用采樣器強制在物體的邊進行超級采樣而不管它是否需要進行超級采樣。注意,這個選項在使用景深或運動模糊的時候會失效。Normals:法向,勾選將使超級采樣沿法向急劇變化,同樣,在使用景深或運動模糊的時候會失效。antialiasingfilter:抗鋸齒過濾器。除了不支持platematch類型外,VR支持所有max內置的抗鋸齒過濾器。上面我們介紹了VR的3種采樣器的概念和相關參數。有人會問哪一個采樣器是最好的呢?回答是沒有最好只有更好!因為好與不好要通過實際操作才能確定,針對不同的場景要求選用不同的合適的采樣器才是王道。話雖然這么說,還是有一些技巧的:1.對于僅有一點模糊效果的場景或紋理貼圖,選擇具有undersampling功能的adaptivesubdivisionsampler(自適應細分采樣器)可以說是無與倫比的。2.當一個場景具有高細節的紋理貼圖或大量幾何學細節而只有少量的模糊特效的時候,選用adaptiveQMCsampler(自適應QMC采樣器)是不錯的筢,特別是這種場景需要渲染動畫的時候。如果使用adaptivesubdivisionsampler可能會導致動畫抖動。3.關于內存的使用。在渲染過程中,采樣器會占用一些物理內存來儲存每個一渲染塊的信息或數據,所以使用較大的沉浸塊尺寸可能會占用較多的系統,尤其adaptivesubdivisionsampler特別明顯,因為它會單獨保存所有從渲染塊采集的子樣本的數據。換句話說,另外兩個采樣器僅僅只保存從渲染塊采集的字樣本的合計信息,因而占用的內存會較少。2.2.5VR:Indirectillumination(GI),間接照明(GI)卷展欄參數如圖16所示圖16我們先來簡單看看VR提供的產生間接照明的4種方法:★directcomputation:直接計算。這是最簡單的方法,根據每一個表面的shade點獨立計算間接照明,這個過程是通過追蹤位于這些點上方的不同方向的一些半球光線來實現的。其優點如下:a:這種方法可以保護間接照明中所有的細節(例如小而銳利的陰影);b:直接計算可以解決渲染動畫閃爍的缺點;c:不需要占用額外的內存;d:可以正確計算運動模糊中運動物體的間接照明。其缺點如下:a:這個方法對于復雜場景來說是非常慢的(例如渲染室內燈光);b:直接計算往往會導致圖像產生較多的noise,解決的途徑只有大量增加發射光線的數量,而這會情致較長的渲染時間。★Irradiancemap:發光貼圖。這個方法是基于發光緩存技術的。其基本思路是僅計算場景中某些特定點的間接照明,然后對剩余的點進行插值計算。其優點如下:a:發光貼圖要遠遠快于直接計算,特別是具有大量平坦區域的場景;b:相比直接計算來說其產生的內在的noise很小;c:發光貼圖可以被保存,也可以被調用,特別是在渲染相同場的不同方向的圖像或動畫的過程中可以加快渲染速度。d:發光貼圖還可以加速從面積光源產生的直接漫反射燈光的計算。其缺點如下:a:由于采用了插值計算,間接照明的一些細節可能會呈模糊;b:如果參數設置過低,可能會導致渲染動畫的過程中產生閃爍;c:需要占用額外的內存;d:運動模糊中運動物體的間接照明可能不是完全正確的,也可能會導致一些noise的產生(雖然在大多數情況下無法觀察到)。★Photonmap:光子貼圖。這種方法是建立在追蹤從光源發射出來的,并能夠在場景中來回反彈的光線微粒(稱之為光子)的基礎上的。對于存在大量燈光或較少窗戶的室內或半封閉場景來說,使用這種方法是較好的選擇。如果直接使用,通常并不會產生足夠好的效果。但是,它可以被作為場景中燈光的近似值來計算,從而加速在直接計算或發光貼圖過程中的間接照明。其優點如下:1.光子貼圖可以速度非常快的產生場景中的燈光的近似值;2.與發光貼圖一樣,光子貼圖也可以被保存或者被重新調用,特別是在渲染相同場景的不同視角的圖像或動畫的過程中可以加快渲染速度。3.光子貼圖是獨立于視口的。其中缺點如下:1.光子貼圖一般沒有一個直觀的效果;2.需要占用額外的內存;3.在VR的計算過程中,,運動模糊中運動物體的間接照明計算可能不是完全正確的(雖然在大多數情況下不是問題);4.光子貼圖需要真實的燈光來參與計算,無法對環境光(如天光)產生的間接照明進行計算。★lightmap:燈光貼圖是一種近似于場景中全局光照明的技術,與光子貼圖類似,但是沒有其它的許多局限性。燈光貼圖是建立在追蹤從攝像機可見的許許多多的光線路徑的基礎上的,每一次沿路徑的光線反彈都會儲存照明信息,它們組成了一個3d的結構,這一點非常類似于光子貼圖。燈光貼圖是一種通用的全局光解決方案,廣泛地用于室內和室外場景的渲染計算。它可以直接使用,也可以被用于使用發光貼圖或直接計算時的光線二次反彈計算。其優點如下:1.燈光貼圖很容易設置,我們只需要追蹤攝像機可見的光線。這一點與光子貼圖相反,后者需要處理場景中的每一盞燈光,通常對每盞燈光還需要單獨設置參數。2.燈光貼圖的燈光類型沒有局限性,幾乎支持所有類型的燈光(包括天光、自發光、非物理光、光度學燈光等等,當然前提是這些燈光類型被VR渲染器支持)。與此相比,光子貼圖在再生燈光特效的時候會有限制。例如光子貼圖無法再生天光或不使用反向的平方衰減形式的MAX標準omni燈的照明;其缺點如下:1.和發光貼圖一樣,燈光貼圖也是獨立于視口,并且在攝像機的生氣勃勃定位置產生的,然而,它為間接可見的部分場景產生了一個近似值,例如在一個封閉的房間里面使用一個燈光貼圖就可以近似完全的計算GI;2.目前燈光貼圖僅僅支持VR的材質;3.和光子貼圖一樣,燈光貼圖也不能自適應,發光貼圖則可以計算用戶定義的固定的分辨率;4.燈光貼圖對bump貼圖類型支持不夠好,如果你想使用bump貼圖來達到一個好的效果的話,請選用發光貼圖或直接計算GI類型;5.燈光貼圖也不能完全正確計算運動模糊中的運動物體,但是由于燈光貼圖及時模糊GI所以會顯得非常光滑。如何選用這些類型的貼圖?原則當然還是具體情況具體分析,根據不同的場景要求選擇不同的類型。如圖17、18、19所示圖17圖18圖19另外的概念是GI的初級反彈和次級反彈(二次反彈)。在VR中,間接光照明被分成兩大塊來控制:初級漫反射反彈(primarydiffusebounces)和次級漫反射反彈(secondarydiffusebounces)。當一個shaded點在攝像機中可見或者光線穿過反射/折射表面的時候,就會產生初級漫射反彈。當shaded點飲食在GI計算中的時候就產生次級漫反射反彈。On:決定是否計算場景中的間接光照明。GIcaustics:全局光焦散,全局光焦散描述的是GI產生的焦散這種光學現象。它可以由天光、自發光物體等產生。但是由直接光照產生的焦散不受這里參數的控制,你可以使用單獨的“焦散”卷展欄的參數來控制直接光照的焦散。不過,GI焦散需要更多的樣本,否則會在GI計算中產生噪波。RefractiveGIcaustics:GI折射焦散。間接光穿過透明物體(如玻璃)時會產生折射焦散。注意這與直接光穿過透明物體而產生的焦散不是一樣的。例如,你在表面天光穿過窗口的情形的時候可能會需要計算GI折射焦散。ReflectiveGIcaustics:GI反射焦散。間接光照身到鏡射表面的時候會產生反射焦散。默認情況下,它是關閉的,不僅因為它對最終的GI計算貢獻很小,而且還會產生一些不希望看到的噪波。Post-processing:后加工選項組。這里主要是對間接光照明在增加到最終渲染圖像前進行一些額外的修正。這些默認的設定值可以確保產生物理精度效果,當然用戶也可以根據自己需要進行調節。建議一般情況下使用默認參數值。First(primary)diffusebounces:初級漫射反彈選項組。如圖20所示Multiplier:倍增值,這個參數決定為最終渲染圖像貢獻多少初級漫射反彈。注意默認的取值1.0可以得到一個很好的效果。其它數值也是允許的,但是沒有默認值精確。PrimaryGIengine:初級GI引擎下拉列表。允許用戶為初級漫射反彈選擇一種我們前面介紹的GI渲染引擎。圖20Secondarydiffusebounces:次級漫射反彈選項組,參數見圖21Multiplier:倍增值,確定在場景照明計算中次級漫射反彈的效果。注意默認的取值1.0可以得到一個很好的效果。其它數值也是允許的,但是沒有默認值精確。Secondarydiffusebouncesmethod:次級漫射反彈方法選擇列表。在這個列表中用戶可以為次級漫射反彈選擇一種計算方法。圖21Quasi-MonteCarloGI:準蒙特卡羅GI渲染引擎卷展欄,參數如圖22所示這個卷展欄只有在用戶選擇準蒙特卡羅GI渲染引擎作為初級或次級漫射反彈引擎的時候才能被激活。使用準蒙特卡羅算法來計算GI是一種強有力的方法,它會單獨的驗算每一個shaded點的全局光照明,因而速度很慢,但是效果也是最精確的,尤其是需要表現大量細節的場景。為了加快準蒙特卡羅GI的速度,用戶在使用它作為初級漫射反彈引擎的時候,可以在計算次級漫射反彈的時候選擇較快速的方法(例如使用光子貼圖或燈光貼圖渲染引擎)。圖22準蒙特卡羅GI渲染引擎只有兩個參數:Subdivs:細分數值,設置計算過程中使用的近似的樣本數量。注意,這個數值并不是VR發射的追蹤光線的實際數量,這些光線的數量近似于這個參數的平方值,同時也會受到QMC采樣器的限制。Depth:深度,這個參數只有當次級漫射反彈設為準蒙特卡羅引擎的時候才被激活。它設置計算過程中次級光線反彈的次數。Irradiancemap:發光貼圖卷展欄。部分允許用戶控制和調節發光貼圖的各項參數,這個鄭展欄只有在發光貼圖被指定為當前初級漫射反彈引擎的才能被激活。為了理解這些參數的含義,我們先來看看發光貼圖是如何工作的。發光(irradiance)是被3D空間中任意一點定義的一種功能,它描述從全部可能的方向發射到這一點的光線。通常情況下,發光(irradiance)在每一個方向每一點都是不同的,但是對它可以采取兩種有效的約束:每一種約束是表面發光(surfaceirradiance),換句話說就是發光到達的點位于場景中物體表面上,這是一種自然限制,因為我們一般只對場景中的物體照明計算有興趣,而物體一般是由表面來定義的。每二種約束是漫謝表面發光(diffusesurfaceirradiance),它表現的是燈光被發射到指定表面上的特定點的全部數量,而不會考慮到這些光線來自哪一個方向。在大多數簡單的情況下,如果我們假設物體的材質是純白的和漫反射的,可以認為物體表面的可見顏色代表漫射表面發光(diffusesurfaceirradiance)。在VR渲染器中,發光貼圖(irradiancemap)這個術語意味著在計算場景中物體的漫射表面發光的時候會采取一種有效的方法。因為在計算間接光照明的時候,并不是場景的每一個部分都需要同樣的細節表現,它會自動判斷的重要的部分進行更準確的GI計算,(例如兩個物體的結合部位,具有銳利GI陰影的部分)在不重要的部分進行低精度的GI計算(例如巨大而均勻的照明區域)。發光貼圖因此被設置為自適應的。發光貼圖(irradiancemap)實際上是計算3D空間點的集合(稱之為點云)的間接光照明。當光線發射到物體表面,VR會在發光貼圖中尋找是否具有與當前點類似的方向和位置的點,從這些已經被計算過的點中提取各種信息,根據這些信息,VR決定是否對當前點的間接光照明計算以發光貼圖中已經存在的點來進行充分的內插值替換。如果不替換,當前點的間接光照明會被計算,并被保存在發光貼圖中。發光貼圖的參數如圖23所示圖23Currentpreset:當前預設模式,系統提供了8種系統預設的模式供你選擇,如無特殊情況,這幾種模式應該可以滿足一般需要。如圖24所示★Verylow:非常低,這個預設模式僅僅對預覽目的有用,只表現場景中的普通照明。★low:低,一種低品質的用于預覽的預設模式。★Medium:中等,一種中等品質的預設模式,如果場景中不需要太多的細節,大多數情況下可以產生好的效果。★Mediumanimation:中等品質動畫模式,一種中等品質的預設動畫模式,目標就是減少動畫中的閃爍。★High:高,一種高品質的預設模式,可以應用在最多的情形下,即使是具有大量細節的動畫。★Highanimation:高品質動畫,主要用于解決High預設模式下渲染動畫閃爍的問題。★VeryHigh:非常高,一種極高品質的預設模式,一般用于有大量極細小的細節或極復雜的場景。★Custom:自定義,選擇這個模式你可以根據自己需要設置不同的參數,這也是默認的選項。圖24Minrate:最小比率,這個參數確定GI首次傳遞的分辨率。0意味著使用與最終渲染圖像相同的分辨率,這將使得發光貼圖類似于直接計算GI的方法,-1意味著使用最終渲染圖像一半的分辨率。通常需要設置它為負值,以便快速的計算大而平坦的區域的GI,這個參數類似于(盡管不完全一樣)自適應細分圖像采樣器的最小比率參數。Maxrate:最大比率,這個參數確定GI傳遞的最終分辨率,類似于(盡管不完全一樣)自適應細分圖像采樣器的最大比率參數。Clrthresh:colorthreshold的簡寫,顏色極限值,這個參數確定發光貼圖算法對間接照明變化的敏感程度。圈套的值意味著較小的敏感性,較小的值將使發光貼圖對照明的變化更加敏感。Nrmthresh:normalthreshold的簡寫,法線極限值,這個參數確定發光貼圖算法對表面變化的敏感程度。Distthresh:distancethreshold的簡寫,距離極限值,這個參數確定發光貼圖算法對兩個表面距離變化的敏感程度。HSph.subdivs:hemisphericsubdivs的簡寫,半球細分,這個參數決定單獨的GI樣本的品質。較小的取值可以獲得較快的速度,但是也可能會產生黑斑,較高的取值可以得到平滑的圖像。它類似與直接計算的細分參數。注意,它并不代表實際數量,光線的實際數量接近于這個參數的平方值,并受QMC采樣器相關參數的控制。Interp.samples:interpolationsamples的簡寫,插值的樣本,定義被用于插值計算的GI樣本的數量。較大的值會趨向于模糊GI的細節,雖然最終的效果很光滑,較小的取值會產生更光滑的細節,但是也可能會產生黑斑。Showcalcphase:顯示計算相位。勾選的時候,VR在計算發光貼圖的時候將顯示發光貼圖的傳遞。同時會減慢一點渲染計算,特別是在渲染大的圖像的時候。Showdirectlight:顯示直接照明,只有Showcalcphase勾選的時候才能被激活。它將促使VR在計算發光貼圖的時候,顯示初級漫射反彈除了間接照明外的直接照明。Showsamples:顯示樣本,勾選的時候,VR將在VFB窗口以小原點的形態直觀的顯示發光貼圖中使用的樣本情況。如圖25所示圖25Interpolationtype:插補類型,系統提供了4種類型供你選擇。如圖26所示圖26Weightedaverage:加權平均值,根據發光貼圖中GI樣本點到插補點的距離和法向差異進行簡單的混合到得。Leastsquaresfit:最小平方適配,默認的設置類型,它將設法計算一個在發光貼圖樣本之間最合適的GI的值。可以產生比加權平均值更平滑的效果,同時會變慢。Delonetriangulation:三角測量法,幾乎所有其它的插補方法都有模糊效果,確切的說,它們都趨向于模糊間接照明中的細節,同樣,都有密度集團的傾向。與它們不同的是,delonetrangulation不會產生模糊,它可以保護場景細節,避免產生密度集團。但是由于它沒有模糊效果,因此看上去會產生更多的噪波(模糊趨向于隱藏噪波)。為了得到充分的效果,可能需要更多的樣本,這可以通過增加發光貼圖的半球細分值或者較小QMC采樣器中的噪波臨界值的方法來完成。Leastsquareswithvoronoiweights:這種方法是對最小平方適配方法缺點的修正,它相當的緩慢,而且目前可能還有點問題。不建議采用。雖然各種插補類型都有它們自己的用途,但是最小平方適配類型和三角測量類型是最有意義的類型。最小平方適配可以產生模糊效果,隱藏噪波,得到光滑的效果,使用它對具有大的光滑表面的場景來說是很完美的。三角測量法一種更精確的插補方法,一般情況下,需要設置圈套的半球細分值和較高的最大比率值(發光貼圖),因而也需要更多的渲染時間。但是可以產生沒有模糊的更精確的效果,尤其是具有大量細節的場景中顯得更為明顯。Samplelookup:樣本查找,這個選項在渲染過程中使用,它決定發光貼圖中被用于插補基礎的合適的點的選擇方法。系統提供了3種方法供選擇。參數如圖27所示圖27Nearest:最靠近的,這種方法將簡單的選擇發光貼圖中那些最靠近插補點的樣本(至于有多少點被選擇由插補樣本參數來確定)。這是最快的一種查找方法,而且只用于VR早期的版本。這個方法的缺點是當發光貼圖中某些地方樣本密度發生改變的時候,它將在高密度的區域選取更多的樣本數量。Nearestquad-balanced:最靠近四方平衡,這是默認的選項,是針對nearest方法產生密度偏置的一種補充。它把插補點在空間劃分成4個區域,設法在它們之間尋找相等數量的樣本。它比簡單的nearest方法要慢,但是通常效果要好。其缺點是有時候在查找樣本的過程中,可能會拾取遠處與插補點不相關的樣本。Precalculatedoverlapping:預先計算的重疊,這種方法是作為解決上面介紹的兩種方法的缺點而存在的。它需要對發光貼圖的樣本有一個預處理的步驟,也就是對每一個樣本進行影響半徑的計算。這個半徑值在低密度樣本的區域是較大的,高密度樣本的區域是較小的。當在任意點進行插補的時候,將會選擇周圍影響半徑范圍內的所有樣本。其優點就是在使用模糊插補方法的時候,產生連續的平滑效果。即使這個方法需要一個預處理步驟,一般情況下,它也比另外兩種方法要快速。作為3種方法中最快的nearest更多時候是用于預覽目的,nearestquad-balanced大多數情況下可以完成的相當好,而Precalculatedoverlapping似乎是3種方法中最好的。注意,在使用一種模糊效果的插補的時候,樣本查找的方法選擇是最重要的,而在使用delonetriangulation的時候,樣本查找的方法對效果沒有太大影響。Calc.passinterpolationsamples:計算傳遞插補樣本,在發光貼圖計算過程中使用,它描述的是已經被采樣算法計算的樣本數量。較好的取值范圍是10-25,較低的數值可以加快計算傳遞,但是會導致信息存儲不足,較高的取值將減漫速度,增加加多的附加采樣。一般情況下,這個參數值設置為默認的15左右。Usecurrentpasssamples:使用當前過程的樣本,在發光貼圖計算過程中使用,勾選的時候,將促使VR使用所有迄今為止計算的發光貼圖樣本,不勾選的時候,VR將使用上一個過程中收集的樣本。而且在勾選的時候將會促使VR使用較少的樣本。因而會加快發光貼圖的計算。Randomizesamples:隨機樣本,在發光貼圖計算過程中使用,勾選的時候,圖像樣本將隨機放置,不勾選的時候,將在屏幕上產生排列成網格的樣本。默認勾選,推薦使用。Checksamplevisibility:檢查樣本的可見性,在渲染過程中使用。它將促使VR僅僅使用發光貼圖中的樣本,樣本在插補點直接可見。可以有效的防止燈光穿透兩面接受完全不同照明的薄壁物體時候產生的漏光現象。當然,由于VR要追蹤附加的光線來確定樣本的可見性經會減漫渲染速度。Mode:模式,這個選項組允許用戶選擇使用發光貼圖的方法。參數如圖28圖28Bucketmode:塊模式,在這種模式下,一個分散的發光貼圖被運用在每一個渲染區域(渲染塊)。這在使用分布式渲染的情況下尤其有用,因為它允許發光貼圖在幾部電腦之間進行計算。與單幀模式相比,塊模式可能會有點慢,因為在相鄰兩個區域的邊界周圍的邊都要進行計算。即使如此,得到的效果也不會太好,但是可以通過設置較高的發光貼圖參數來減少它的影響。(例如使用高的預設模式、更多的半球細分值或者在QMC采樣器中使用較低的噪波極限值)。Singleframe:單幀模式,默認的模式,在這種模式下對于整個圖像計算一個單一的發光貼圖,每一幀都計算新的發光貼圖。在分布式沉浸的時候,每一個渲染服務器都各自計算它們自己的針對整體圖像的發光貼圖。這是渲染移動物體的動畫的時候采用的模式,但是用戶要確保發光貼圖有較高的品質以避免圖像閃爍。Multiframeincremental:多重幀增加模式,這個模式在渲染僅攝像機移動的幀序列的時候很有用。VRAY將會為第一個幀計算一個新的全圖像的發光貼圖,而對于剩下的渲染幀,VRAY高潮重新使用或精煉已經計算了的存在的發光貼圖。如果發光貼圖具有足夠高的品質也可以避免圖像閃爍。這個模式可能夠被用于網絡渲染中,每一個渲染服務器都計算或精煉它們自身的發光貼圖。Fromfile:從文件模式。使用這種模式,在渲染序列的開始幀,VRAY簡單的導入一個提供的發光貼圖,并在動畫的所有幀中都是用這個發光貼圖。整個渲染過程中不會計算新的發光貼圖。Addtocurrentmap:增加到當前貼圖模式,在這種模式下,VRAY鈄計算全新的發光貼圖,并把它增加到內存中已經存在的貼圖中。Incrementaladdtocurrentmap:增加的增加到當前貼圖模式,在這種模式下,VRAY將使用內存中已存在的貼圖,僅僅在某些沒有足夠細節的地方對其進行精煉。選擇哪一種模式需要根據具體場景的渲染任務來確定,沒有一個固定的模式適合任何場景。Browse按鈕:在選擇fromfile模式的時候,點擊這個按鈕可以從硬盤上選擇一個存在的發光貼圖文件導入。Savetofile按鈕:點擊這個按鈕將保存當前計算的發光貼圖到內存中已經存在的發光貼圖文件中。前提是“在渲染結束”選項組中的“不刪除”選項勾選,否則VRAY會自動在渲染任務完成后刪除內存中的發光貼圖。Resetirradiancemap:點擊可以清除儲存在內存中的發光貼圖。Onrenderend:在渲染結束選項組。這個選項組控制VRay渲染器在渲染過程結束后如何處理發光貼圖。其參數如圖29所示圖29Not’tdelete:不刪除,這個選項默認是勾選的,意味著發光貼圖將保存在內存中直到下一次渲染前,如果不勾選,VRAY會在渲染任務完成后刪除內存中的發光貼圖。Autosave:自動保存,如果這個選項勾選,在渲染結束后,VRAY將發光貼圖文件自動保存到用戶指定的目錄。如果你希望在網絡渲染的時候每一個渲染服務器都使用同樣的發光貼圖,這個功能尤其有用。Switchtosavedmap:切換到保存的貼圖。這個選項只有在自動保存勾選的時候才能被激活,勾選的時候,VRAY渲染器也會自動設置發光貼圖為“從文件”模式。小結本節詳盡介紹了VR渲染的核心部分,圖像抗拒齒和GI設置,這里的很多參數對渲染速度有著巨大的影響,希望大家好好理解多在參數設置上下一些工夫,為以后以高效率高質量出圖打下良好的渲染基礎。希望大家多互相交流,不懂就問,勤學苦練。思考題VR渲染中圖幅對渲染速度夠影響嗎?怎樣來解決?VR圖像抗拒齒有幾種方式?它們都對渲染速度影響怎樣?對場景有什么要求?VR的渲染全局參數設置需要注意什么問題?首次光反彈和二次光反彈是什么意思?怎樣合理選用GI渲染引擎建立個簡單場景,并嘗試渲染,理解VR的GI效果怎樣使用并保存發光貼圖課程實例下面練習關于發光貼圖的實例。加深對發光貼圖模式的理解。在這個教程中將學習如何有效的渲染具有多重視角的靜幀場景。我們將加深對發光貼圖的多重模式的理解。圖30就是我們即將使用的場景。圖30在默認情況下發光貼圖的模式設置為Singleframe,這允許我們從任何角度來渲染場景,但是每一次發光貼圖都會被重新計算。這個場景中有兩個攝像機,分別渲染它們的攝像機視圖。圖31是攝像機01的渲染結果。圖31圖32是渲染攝像機視圖02的結果。圖32注意它們不同的渲染時間,在僅僅改變攝像機角度的情況下渲染時間是不一樣的,這說明兩次渲染使用的發光貼圖是不完全一樣的,也就是說發光貼圖被重新計算了。我們也可以渲染一個視角,保存發光貼圖,然后讓VRay渲染器在下次渲染的時候使用這個貼圖,不進行重新計算。由于系統默認勾選了“不刪除”選項,所以上次渲染的發光貼圖會保存在內存中。打開VRay:irradiancemap卷展欄,點擊Savetofile按鈕,指定一個文件名,保存發光貼圖。如圖33所示圖33現在已經把發光貼圖保存到硬盤上了,我們將告訴VRay如何調用這個貼圖。改變發光貼圖的模式到“Fromfile”,點擊Browse按鈕,選擇剛才保存的發光貼圖文件。如圖34所示圖34重新渲染攝像機視圖。注意現在VRay不再重新計算發光貼圖,直接跳過了前面的計算過程。如圖35所示圖35注意渲染時間僅僅只有10S多,大大減少了,這是因為不需要計算發光貼圖的原因。如果我們使用這個發光貼圖來渲染攝像機視圖01,會發生什么事情呢?試一試吧,結果如圖36所示圖36雖然說時間比前面還要短,可是渲染效果實在不敢恭維!很顯然,這個結果并不是我們希望的。為什么會這樣?因為發光視圖僅是部分視角獨立的,通俗一點說就是發光貼圖的單一樣本對任何視角都是正確的(即默認的單幀模式),但是對于特定視角的樣本僅僅只是對這個視角是最優化的,VRay并不會計算場景中視角以外的部分的發光貼圖。勾選“Showsamples”選項,再次渲染攝像機視圖01,你可以看到實際的發光貼圖樣本如圖37所示圖37那么在這個新的視角使用以前的發光貼圖,而只增加一些必須的樣本是不是可行呢?沒問題,你只需要設置為Incrementaladdtocurrentmap模式就可以。記住,當前的發光貼圖仍然保存在內存中。渲染攝像機視圖01,得到效果如圖38所示圖38可以看到VRay已經增加了更多的樣本到發光貼圖,圖39形象的顯示了老的樣本(綠色樣本)和新的樣本(紅色樣本)的比較。圖39現在讓我們來看看這個發光貼圖的渲染效果。保存當前的發光貼圖到先前保存的文件,然后返回到“Fromfile”模式,并關閉“Showsamples”選項。如圖40所示圖40再次渲染攝像機視圖01,得到的效果如圖41所示圖41實際上不是每次都需要進行保存/導入這個過程。再次設置為Incrementaladdtocurrentmap模式,改變一下視角,渲染圖像,圖42顯示的是渲染透視圖的效果。圖42圖43是又一個視角的渲染效果。圖43圖44是另一個視角的渲染效果。圖44多渲染幾個不同的視角后,保存發光貼圖文件到先前保存的文件中,選擇替代原有文件。注意當前保存的發光貼圖文件已經包含了場景不同視角的大量信息。基于此,我們在不增加發光貼圖的前提下也能夠很好的渲染其它的視角。返回到“Fromfile”模式,然后選擇一個近似于你曾經渲染過的視角進行渲染。得到的效果如圖45所示圖45注意,我們并沒有為這個圖像增加任何發光貼圖!僅僅只是使用了先前計算的發光貼圖,這是因為發光貼圖已經包含了足夠的信息來渲染這個視角的圖像,即使在渲染前我們并不增加新的發光貼圖。如果發光貼圖針對當前的視角的信息不充分的時候,我們得到的渲染效果絕對不會好,這時候需要我們設置為Incrementaladdtocurrentmap模式,補充缺失的信息。下面是一些使用發光貼圖渲染多重視角的靜幀場景的基本工作流程:★首先準備一個場景(包括幾何體、材質、燈光等)★對發光貼圖的參數進行設置以達到希望的細節(例如選擇一個合適的預設模式),同時調節其它的渲染參數到合適的數值;★為了避免產生奇怪的效果首先清除內存中存在的先前的發光貼圖;★設置發光貼圖模式為“incrementaladdtocurrentmap”;★渲染足夠的你需要的視角,第一個一般都比較慢,因為它是全新計算,接下來的計算就比較快了,因為它只是增加相應的發光貼圖計算;★你可以保存這些累積的發光貼圖到文件,貼圖可以被用于快速的渲染場景的其它近似的視角。稍后如果需要,你可以設置為“fromfile”模式,然后導入保存的發光貼圖文件,渲染不同的視角,此時,你也可以返回到“fromfile”模式,如此循環往復。特別提醒:如果你改變了場景的狀態,如增加/刪除物體,改變材質或燈光等,內存中的發光貼圖將不會與之同步更改,此時,你應該清除內存中的發光貼圖重新開始新一輪的計算。3.1VRay:Globalphotonmap,全局光子貼圖卷展欄其參數如圖46所示圖46全局光子貼圖有點類似于發光貼圖,它也是用于表現場景中的燈光,是一個3D空間點的集合(也稱之為點云),但是光子貼圖的產生使用了另外一種不同的方法,它是建立在追蹤場景中光源發射的光線微粒(即光子)的基礎上的,這些光子在場景中來回反彈,撞擊各種不同的表面,這些碰撞點被儲存在光子貼圖中。從光子貼圖重新計算照明也和發光貼圖不同。對于發光貼圖,混合臨近的GI樣本通常采用簡單的插補,而對于光子貼圖,我們則需要評估一個特定點的光子密度,密度評估的概念是光子貼圖的核心,VRay可以使用幾種不同的方法來完成光子的密度評估,每一種方法都有它各自的優點和缺點,一般說來這些方法都是建立在搜尋最靠近shaded點的光子的基礎上的。值得注意的是,在一般情況下,由光子貼圖產生的場景照明的精確性要低于發光貼圖,尤其是在具有大量細節的場景中。發光貼圖是自適應的,然而光子貼圖不是的。另外光子貼圖的主要缺陷是會產生邊界偏置(boundarybias),這種不希望出現的效果大多數時候表現在角落周圍和物體的邊緣,即比實際情況要顯的暗(黑斑)。發光貼圖也會出現這種邊界偏置,但是它的自適應的天性會大大減輕這種效果。光子貼圖的另外一個缺點是無法模擬天光的照明,這是因為光子需要一個真實存在的表面才能發射,但是至少在VRay中,天空光的產生并不依賴于場景中實際的表面。另一方面,光子貼圖也是視角獨立的,能被快速的計算,當與其它更精確的場景照明計算方法,如直接計算或發光貼圖,結合在一起珠聯璧合的時候,可以得到相當完美的效果。注意光子貼圖的形成也受到場景中單獨燈光參數中的光子設置的制約,具體內容我們在后面燈光的參數中會講到。Bounces:反彈次數,控制光線反彈的近似次數,較大的反彈次數會產生更真實的效果,但是也會花費更多的渲染時間和占用更多的內存。Autosearchdist:自動搜尋距離,勾選的時候,VRay會估算一個距離來搜尋光子。有時候估算的距離是合適的,在某些情況下它可能會偏大(這會導致增加渲染時間)或者偏小(這會導致圖像產生噪波)。Searchdist:搜尋距離,這個選項只有在“Autosearchdist”不勾選的時候才被激活,允許用戶手動設置一個搜尋光子的距離,記住,這個值取決于你的場景的尺寸,較低的取值會加快渲染速度,但是會產生較多的噪波;較高的取值會減慢渲染速度,但可以得到平滑的效果。Maxphotons:最大光子數,這個參數決定在場景中shaded點周圍參與計算的光子的數量,較高的取值會得到平滑的圖像,從而增加渲染時間。Multipler:倍增值,用于控制光子貼圖的亮度。Maxdensity:最大密度,這個參數用于控制光子貼圖的分辨率(或者說占用的內存)。VRay需要隨時存儲新的光子到光子貼圖中,如果有任何光子位于最大密度指定的距離范圍之內,它將自動開始搜尋,如果當前光子貼圖中已經存在一個相配的光子,VRay會增加新的光子能量到光子貼圖中,否則,VRay將保存這個新光子到光子貼圖中,使用這個選項在保持光子貼圖尺寸易于管理的同時發射更多的光子,從而得到平滑的效果。Converttoirradiancemap:轉化為發光貼圖,這個選項勾選后將會促使VRay預先計算儲存在光子貼圖中的光子碰撞點的發光信息,這樣做的好處是在渲染過程中進行發光插補的時候可以使用較少的光子,而且同時保持平滑效果。Interp.Samples:插補樣本,這個選項用于確定勾選“Converttoirradiancemap”選項的時候,從光子貼圖中進行發光插補使用的樣本數量。Convexhullareaestimate:凸起表面區域評估,在這個選項不勾選的時候,VRay將只使用單一化的算法來計算這些被光子覆蓋的區域,這種算法可能會在角落處產生黑斑。勾選后,可以基本上可以避免因此而產生的黑斑,但是同時會減慢渲染速度。Storedirectlight:存儲直接光,在光子貼圖中同時保存直接光照明的相關信息。Retracethreshold:折回極限值,設置光子進行來回反彈的倍增的極限值。Retracebounces:折回反彈,設置光子進行來回反彈的次數。數值越大,光子在場景中反彈次數越多,產生的圖像效果越細膩平滑,但渲染時間就越長。MODE選項組:你也可以把當前使用的光子貼圖保存在硬盤上,方便以后調用。Chaosgroup公司也提供了一個關于光子貼圖的實例教程,下面就讓我們來學習它。光子貼圖是一種處理全局光的技術。和發光貼圖不同,發光貼圖是從攝像機開始追蹤場景中的光線,而光子貼圖則是從光源開始追蹤處理光線照明的。但是這兩種方法并不是互相排斥的,實際上最好的效果就是把發光貼圖和光子貼圖結合起來使用!首先看看我們將使用的max場景文件,它是一個具有不同顏色的墻的封閉空間,有一盞聚光燈。由于目前光子貼圖僅僅支持VR材質,所以這些墻都使用了VR材質。我們可以先看一下聚光燈的參數設置,注意它的倍增值比較高,而且設置為反向平方的衰減方式,原因在于在真實的世界中,燈光都是以這種方式衰減的,默認情況下,光子貼圖也是產生的這種衰減效果。如圖47所示圖47渲染透視圖的效果:如圖48所示圖48打開VRay渲染器的GI設置,將初級和次級反彈全部設為光子貼圖。取消自動搜尋的勾選,設置最大光子為0,折回極限值為0,最大密度為10。如圖49所示圖49渲染透視圖,效果如圖50所示圖50場景顯的有點暗,這可以通過增加次級反彈倍增值到1.0來解決。然后再次渲染透視圖。效果如圖51所示圖51渲染速度很快,場景也變亮了。但是很顯然,這樣的渲染效果誰都不會接受!進入渲染場景對話框中,打開“system”卷展欄,點擊“LightSetting”按鈕,此時會彈出VRaylightproperties對話框,設置Diffusesubdivs參數為500,(關于具體的參數含義我們將在后面學習)。如圖52所示圖52再次渲染透視圖,結果如圖53所示圖53光子追蹤的階段比較長,圖像質量有所改善,但是畫面上仍然有斑點,通過增加光子搜尋半徑值可以很好的解決這個問題。將此參數設置為40,重新渲染,效果如圖54所示圖54注意觀察墻的角落都存在著黑色的區域,在光子貼圖中要完全消除它是很難的,但是,我們可以盡量減少它們。設置最大密度為5,搜尋半徑為10。再次渲染,效果如圖55所示圖55可以看到墻角的黑色區域基本上都被照亮了,但是該死的斑點又出現了。回到燈光參數面板,設置Diffusesubdivs參數為1500,再次渲染,效果如圖56所示圖56雖然已經有所改善,但顯然不夠,再次增加搜尋半徑,大家自己嘗試一下增加到一個合適的值。但是,這里我們使用發光貼圖來完成這個任務。在GI卷展欄中,設置初級反彈類型為發光貼圖,設置為“high”的預設模式。如圖57所示圖57渲染透視圖,效果如圖58所示圖58效果還算不錯,相比較渲染時間也增加了不少。這個場景是一個相當簡單的場景,下面我們再使用一個相對復雜的場景來說明光子貼圖的運用。如果直接渲染攝像機視圖,得到結果如圖59所示圖59注意:光子貼圖是不支持天光的,原因在于光子需要一個真實的發射表面,所以光子貼圖對室外開放的場景是不適合的。在這個場景中,建筑物的頂端放置了一個VRayLight來模擬天光效果。勾選GI,然后設置初級反彈和次級反彈的類型都為光子貼圖類型,設置次級反彈的倍增值為1.0,關閉自動搜尋選項,設置折回反彈為0,最大光子為0,如圖60所示圖60現在我們要做的是確定一個合適的最大密度值,根據它來設置搜尋距離的取值。一般說來,最大密度的值取決于場景的比例和希望得到的光子貼圖的細節。現在場景中已經包含一個Tape幫助物體,其測量的數值大約是6個max單位,將最大密度設置為這個距離的1/10是不錯的選擇,而搜尋距離設置為最大密度的2倍,即1.2個max單位。如圖61所示圖61渲染攝像機視圖,效果如圖62所示圖62效果有點模糊,顯然我們需要降低最大密度和搜尋距離的取值。經過多次驗證,最終我們設定最大密度為0.05,搜尋距離為0.1。渲染攝像機視圖效果如圖63所示圖63噪波太厲害,但是你應該注意到所需要的細節(看斑點的尺寸)已經表現出來了。我們看到場景中產生了黑色的區域,造成目前狀況的原因是因為光源沒有發射足夠的光子到場景中。進入系統卷展欄,設置兩個光源的漫射細分值為500,再次渲染,得到效果如圖64所示圖64這次光子追蹤的時間已經比剛才要長了,效果已經明顯改觀,但是還差太遠。返回燈光參數設置,設置direct01的漫射細分為2000,VRaylight01的漫射細分為2500。再次渲染,如圖65所示圖65追蹤光子花費了更長的時間,但是效果比上次要好多了。為了節約后面的渲染時間,我們可以把當前使用的光子貼圖保存在硬盤上,然后調用它。選擇savetofile按鈕,保存當前使用的光子貼圖。如圖66所示修改光子貼圖的模式為Fromfile,并選擇剛才保存的光子貼圖文件,增加搜尋距離到0.4。如圖67所圖67再次渲染攝像機視圖,效果如圖68所示圖68由于使用了先前保存的光子貼圖,渲染速度很快,圖像也顯的很平滑。但是仔細觀察,你會發現物體的邊都呈黑色。解決的方法是搭配使用發光貼圖。將搜尋距離重新設置為0.1,選擇初級反彈為發光貼圖類型,勾選Showcalc.phase選項,設置為“高”的預設類型。如圖69所示圖69渲染攝像機視圖,此時得到的效果如圖70所示圖70注意光子貼圖也是視角獨立的,我們可以渲染另一個視角而不重新計算光子貼圖(發光貼圖仍然會被計算),渲染攝像機02視圖,得到如圖71所示效果圖71我們把初級反彈的類型重新修改為光子貼圖,仍然使用原先的光子貼圖。渲染如圖72圖72可以看到由于改變了視角,在兩個表面相交處黑斑特別明顯,這是因為光子貼圖在這些區域不平滑造成的。解決方法之一就是增加光子的發射數量,這個方法我們在前面已經講過。另一個方法就是在折回極限值的默認2.0的基礎上增加它的取值,這直接導致VRay次級反彈在角落處直接計算GI。圖73就是折回極限設置為2.5,搜尋距離為0.1的渲染效果。圖73對光子貼圖簡單總結一下:★在實際使用過程中,光子貼圖一般與其它類型的貼圖結合使用,完全單獨的使用光子貼圖很難達到理想的效果,并且渲染時間會很長;★在光子貼圖中重要的參數是最大密度以及由最大密度確定的搜尋距離,最大密度的取值根據場景的比例以及期望的效果來進行設置,而搜尋半徑大致為最大密度的2倍;★計算好的光子貼圖可以保存在硬盤上,必要時可以隨時調用;★光子貼圖時視角獨立的,使用時千萬要注意,當場景中視角改變的時候,光子貼圖也要隨之改變,否則可能得不到希望的結果。3.1.1燈光貼圖。關于燈光貼圖,我們在前面的學習中已經簡單的介紹了與其它方法相比較的優缺點。它是近似計算場景中間接光照明的一種技術,與光子貼圖及其相似,但是沒有光子貼圖那么多的局限性,它追蹤的是場景中許許多多的來自攝像機的視線路徑(eyepath),發生在每一條路徑上的反彈會將照明信息儲存在一種3D的結構中。從某種意義上來說,在另一方面,它與光子貼圖截然不同,光子貼圖追蹤的是來自光源的光線,然后儲存這些光子能量在光子貼圖中。燈光貼圖的參數如圖74所示圖74Subdivs:細分,確定有多少條來自機的路徑被追蹤。不過要注意的是實際路徑的數量是這個參數的平方值,例如這個參數設置為2000,那么被追蹤的路徑數量將是2000×2000=4000000。Samplesize:樣本尺寸,決定燈光貼圖中樣本的間隔。較小的值意味著樣本之間相互距離較近,燈光貼圖將保護燈光銳利的細節,不過會導致產生噪波,并且占用較多的內存,反之亦然。根據燈光貼圖scale模式的不同,這個參數可以使用世界單位,也可以使用相對圖像的尺寸。Scale:比例,有兩種選擇,主要用于確定樣本尺寸和過濾器尺寸。Screen:場景比例,這個比例是按照最終渲染圖像的尺寸來確定的,取值為1.0意味著樣本比例和整個圖像一樣大,靠近攝像機的樣本比較小,而遠離攝像機的樣本則比較大。注意這個比例不依賴于圖像分辨率。這個參數適合于靜幀場景和每一幀都需要計算燈光貼圖的動畫場景。World:世界單位,這個選項意味著在場景中的任何一個地方都使用固定的世界單位,也會影響樣本的品質――――靠近攝像機的樣本會被經常采樣,也會顯得更平滑,反之亦然。當渲染攝像機動畫時,使用這個參數可能會產生更好的效果,因為它會在場景的任何地方強制使用恒定的樣本密度。Storedirectlight:存儲直接光照明信息,這個選項勾選后,燈光貼圖中也將今朝和插補直接光照明的信息。這個選項對于有許多燈光,使用發光貼圖或直接計算GI方法作為初級反彈的場景特別有用。因為直接光照明包含在了燈光貼圖中,而不是再需要對每一個燈光進行采樣。不過請注意只有場景中燈光產生的漫反射照明才能被保存。作壁上觀設你想使用燈光貼圖來近似計算GI,同時又想保持直接光的銳利,請不要勾選這個選項。Showcalc.phase:顯示計算狀態,打開這個選項可以顯示被追蹤的路徑。它對燈光貼圖的計算結果沒有影響,只是可以給用戶一個比較直觀的視覺反饋。Pre-filter:預過濾器,勾選的時候,在渲染前燈光貼圖中的樣本會被提前過濾。注意,它與我們下面將要介紹的燈光貼圖的過濾是不一樣的!那些過濾是在渲染中進行的。預過濾的工作流程是:依次檢查每一個樣本,如果需要就修改它,以便其達到附近樣本數量的平均水平。更多的預過濾樣本將產生較多模糊和較少的噪波的燈光貼圖。一旦新的燈光貼圖從硬盤上導入或被重新計算后,預過濾就會被計算。Filter:過濾器,這個選項確定燈光貼圖在渲染過程中使用的過濾器類型。過濾器是確定在燈光貼圖中以內插值替換的樣本是如何發光的。None:沒有,即不使用過濾。這種情況下,最靠近著色點(shadedpoint)的樣本被作為發光值使用,這是一種陽快的選項,但是如果燈光貼圖具有較多的噪波,那么在拐角附近可能會產生斑點。你可以使用上面提到的預過濾來減少噪波。如果燈光貼圖僅僅被用于測試目的或者只作為次級反彈被使用的話,這個是最好的選擇。Nearest:最靠近的,過濾器會搜尋最靠近著色點(shadedpoint)的樣本。并取它們的平均值。它對于使用貼圖作為次級反彈是有用的,它的特性是可以自適應燈光貼圖的樣本密度,并且幾乎是以一個恒定的常量來被計算的。燈光貼圖中有多少最靠近的樣本被搜尋是由插補樣本的參數值來決定的。Fixed:固定的,過濾器會搜尋距離著色著(shadedpoint)某一確定距離內的燈光貼圖的所有樣本,并取平均值。它可以產生比較平滑的效果,其搜尋距離是由過濾尺寸參數決定的,較大的取值可以獲知得較模糊的效果,其典型取值是樣本尺寸的2-6倍。Mode:模式,確定燈光貼圖的渲染模式。Singleframe:單幀,意味著對動畫中的每一幀都計算新的燈光貼圖。Fly-through:使用這個模式將意味著對整個攝像機動畫計算一個燈光貼圖,僅僅只有激活時間段的攝像機運動被考慮在內,此時建議使用世界比例,燈光貼圖只在渲染開始的第一幀被計算,并在后面的幀中被反復使用而不會被修改。Fromfile:從文件,在這種模式下燈光貼圖可以作為一個文件被導入。注意燈光貼圖中不包含過濾器,預過濾的過程在燈光貼圖被導入后才完成,所以你能調節它而不需要驗算燈光貼圖。關于使用燈光貼圖的注意事項:★在使用燈光貼圖的時候不要將QMC采樣器卷展欄中的“adaptationbyimportanceamount”參數設為0,否則會導致額外的渲染時間;★不要給場景中大多數物體指定純白或接近于純白的材質,這也會增加渲染時間,原因在于場景中的反射光線會逐漸減少,導致燈光貼圖追蹤的路徑漸漸變長。基于此,同時也要避免將材質色彩的RGB趣事的任何一個設置在255或以上值。★目前,燈光貼圖僅支持VRAY自帶的材質,使用其它材質將無法產生間接照明。不過你可以使用標準的自發光材質來作為間接照明的光源。★在動畫中使用燈光貼圖的時候,為避免出現閃爍,需要設置過濾器尺寸為一個足夠大的值。★在初級反彈和次級反彈中計算燈光貼圖是不一樣的,所以不要將在一個模式下計算的燈光貼圖調用到另一個模式下使用,否則會增加渲染時間或者降低圖像品質。這種GI的計算方法,Chaosgroup官方沒有提供相應的教程,只有靠我們自己來進行摸索了。我們還是使用前面光子貼圖的教程中使用的第二個場景來測試。就是那個教堂的場景,文件我在前面已經提供了。打開場景文件,由于前面我們提到過當前燈光貼圖僅支持VR材質,所以第一步就是將場景中的非VR材質轉換為VR材質。(這個場景中的材質都已經使用的是VR材質)在任意視圖點擊右鍵,選擇“VRaysceneconverter”選項,系統會彈出一個詢問對話框“場景中所有的材質和光影追蹤陰影都將被轉換為VR材質和陰影,你確定嗎?”,當然選擇“是”,此時系統又會彈出一個提示對話框“場景已經被轉換,你可能需要保存場景并重新打開場景”,當然按照提示操作啦,至于不按照提示操作會有什么后果。如圖75所示如圖75將初級反彈和次級反彈方式都設置為燈光貼圖類型,勾選“Showcalc.phase”選項,其它使用默認參數,如圖76所示圖76渲染攝像機視圖01,效果如圖77所示注意VFB窗口,觀察燈光貼圖的構建過程。整個畫面偏暗,就和我們前面使用光子貼圖的效果一樣,當然同樣采取增加次級反彈倍增值的方法來解決,修改為1.0,再次渲染攝像機視圖,如圖78所示圖78呵呵,畫面明顯變的明亮起來。將過濾器的模式修改為none,渲染,效果如圖79所示圖79燈光貼圖的計算速度果然夠快,不過渲染圖像也產生了一些斑點。勾選預過濾器選項,并增加細分值到1500。如圖80所示圖80再次渲染效果如圖81所示圖81圖像效果已經得到顯著改善。點擊savetofile按鈕,保存當前的燈光貼圖文件在硬盤上指定目錄。如圖82所示圖82將模式修改為“從文件”,并選擇剛才保存的燈光貼圖文件。如果渲染視圖,你會發現在極短的時間內會完成渲染。現在設置初級反彈為發光貼圖類型,并選擇“高”預設模式。如圖83所示圖83再次渲染攝像機視圖,結果如圖84所示圖84當視角發生變化時,如果使用以前保存的另一個視角的燈光貼圖可能會導致意外的渲染結果。參數保持不變,渲染攝像機視圖02,得到的結果如圖85圖85這是需要設置為單幀模式,重新計算燈光貼圖,結果如圖86所示圖86乍看好像沒有多大區別,但是仔細觀察就會發現后者的細節更豐富。燈光貼圖的參數比較少,也比較好理解。4.1Caustics:焦散VR渲染器支持焦散效果的渲染,為了產生這種效果,在場景中,必須同時具有合適的產生焦散的物體和接收焦散物體(至于如何設置這些物體,我們將在后面的系統卷展欄的“物體設置”和“燈光設置”中詳細講述)。其參數如圖87所示圖87Multiplier:倍增值,控制焦散的強度,它是一個全局控制參數,對場景中的所有產生焦散特效的光源都有效。如果你希望不同的光源產生不同強度的焦散,請使用局部參數設置。注意:這個參數與局部參數的效果是疊加的。Searchdist:搜尋距離,當VR追蹤撞擊在物體表面的某些點的某一個光子的時候,會自動搜尋位于周圍區域同一平面的其它光子,實際上這個搜尋區域是一個中心位于初始光子的圓形區域,其半徑就是由這個搜尋距離確定的。Maxphotons:最大光子數,當VR追蹤撞擊在物體表面的某些點的某一個光子的時候,也會將周圍區域的光子計算在內,然后根據這個區域內的光子數量來均分照明。如果光子的實際數量超過了最大光子數的設置,VR也只會按照最大光子數來計算。Mode:模式,控制發光貼圖的模式。Newmap:新的貼圖,選用這種模式的時候,光子貼圖將會被重新計算,其結果將會覆蓋先前渲染過程中使用的焦散光子貼圖。Savetofile:保存到按鈕,可以將當前使用的焦散光子貼圖保存在指定文件夾中。Fromfile:從文件,允許你導入先前保存的焦散光子貼圖來計算。Don’tdelete:不刪除,當勾選的時候,在場景渲染完成后,VR會將當前使用的光子貼圖保存在內存中,否則這個貼圖會被刪除,內存被清空。Autosave:自動保存,浩氣長存后,在渲染完成后,VR自動保存使用的焦散光子貼圖到指定的目錄。Switchtosavedmap:轉換到保存的貼圖,在autosave勾選時才激活,它會自動促使VR渲染器黑心換到Fromfile模式,并使用最后保存的光子貼圖來計算焦散。圖88中共同的參數設置是Sph.subdivs=50,Multiplier=17000,Maxphotons=60,為了更明顯的看到每一個單獨的光子,Sph.subdivs的參數故意設置的很低。圖88圖89中共同參數設置Sph.subdivs=300,Multiplier=1700,Maxphotons=60。光子數量相比之下增加了,但是相對VR的默認參數來說還是偏低的。圖89圖90中共同參數設置為Sph.subdivs=4000,Multiplier=17000,Searchdistance=0.5,光子數量急劇增加,搜尋距離很小,以便最大光子的效果更明顯。圖90圖91主要顯示了折射材質產生的焦散平滑與否的效果。共同的參數設置:Multiplier=17000,Searchdist=5,Maxphotons=60。圖91看了圖片,你應該對焦散的相關參數有了一個更深刻的理解,下面我們還是通過實例的練習來強化理解參數的含義。在這里我們僅僅關注焦散的參數,而對其它相關參數的設置,如環境參數,物體參數,燈光參數等的設置都簡單的帶過,這些我們將在后面一一講述。打開場景文件,是一個很簡單場景,一個BOX物體作為地面,一個環形節,兩個經過編輯的圓柱體,分別被指定了VRay材質(材質的具體參數現在不是我們討論的范圍,在此略過),環境色設為RGB:188/226/255,有一盞目標平行燈,。其參數設置如圖92所示圖92VR物體參數設置如圖93所示(設定產生和接收焦散的物體)圖93VR燈光參數設置如圖94所示圖94勾選on,開啟焦散,使用默認參數,渲染透視圖,效果如圖95所示圖95可以看到,場景中的三個物體已經產生了焦散效果,默認參數的效果還不錯。現在我們增加倍增值到2.5,其它參數保持不變。結果如圖96所示圖96可以看到焦散效果明顯變亮,甚至有點曝。將倍增值改回為1.0,這次修改搜尋距離的值為0.1,渲染效果如圖97所示圖97焦散顯的有點凌亂,這是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論