來(lái)自
溫柔踢爆米花的回答
2024-02-12 03:02:10
使用GI (Global illumination)在算動(dòng)畫的時(shí)候,由于GI是依據(jù)快取的采樣(caching samples),也因此會(huì)產(chǎn)生閃爍的問(wèn)題. ? ? 原因是每個(gè)frame的采樣位置并不同,造成每個(gè)frame的照明會(huì)有差異.為了解決這個(gè)問(wèn)題,你可以先用預(yù)先計(jì)算的采樣點(diǎn)(pre-calculated solution)這些合并的采樣點(diǎn)用來(lái)計(jì)算每一個(gè)frame.你可以對(duì)兩個(gè)GI方法都做預(yù)先計(jì)算,通常是irradiance map與light cache .對(duì)irradiance map來(lái)說(shuō),你可以用multiframe incremental mode模式對(duì)light cache來(lái)說(shuō),你可以用fly-through mode模式.? ? ? irradiance map與light cache兩者個(gè)結(jié)合運(yùn)算對(duì)于場(chǎng)景中沒(méi)有物件移動(dòng)的動(dòng)畫很有效,但這種做法只適用于攝影機(jī)飛越(fly-through)的動(dòng)畫. 如果你對(duì)在特定位置的特定物件預(yù)先計(jì)算快取,如果物件移動(dòng)新的座標(biāo),在新的位置沒(méi)有物件的快取采樣,你在算圖的時(shí)候就會(huì)看到雜點(diǎn).因此這種把多個(gè)frame合并的方法雖然很快速,跟把每個(gè)shading point都計(jì)算的brute force相比較要快了很多, brute force的效果很精確,而且不會(huì)有閃順的問(wèn)題,但是會(huì)計(jì)算很慢.? ? ? 為了要避免閃爍, Vray SP2版提供了隨著時(shí)間的irradiance maps內(nèi)差計(jì)算,主要的功能是要降低使用irradiance map算GI的時(shí)候產(chǎn)生的閃爍問(wèn)題,減少閃爍的程度是要靠interpolation frames這個(gè)參數(shù)所決定的. 使用攝影機(jī)路徑(camera path)的參數(shù) 雖然隨著時(shí)間對(duì)irradiance maps進(jìn)行內(nèi)差可以解決大部分的閃爍問(wèn)題,但是攝影機(jī)本身還是會(huì)引起閃爍,這是因?yàn)閿z影機(jī)會(huì)隨著每個(gè)frame在移動(dòng),每個(gè)frame射出的ray會(huì)不同.到了VRay SP3版本,多了一個(gè)參數(shù)叫做camera path.這個(gè)參數(shù)會(huì)改變r(jià)ay自攝影機(jī)射出的方式,它會(huì)從整個(gè)攝影機(jī)的路徑射出ray,因此,你每個(gè)frame射出的ray就相同了! 動(dòng)畫prepass與動(dòng)畫渲染模式? ? ? 這個(gè)方法分成兩階段: ? ? 第一階段在prepass模式下,每個(gè)frame都會(huì)計(jì)算個(gè)別的irradiance map ; ? ? 第二階段是用動(dòng)畫模式把irradiance map的效果渲染出來(lái)(你不需要再設(shè)定secondary GI因?yàn)檫@在第一階段已經(jīng)完成了) 動(dòng)畫prepass的流程Irradiance map 勾選使用camera path并將模式設(shè)定為animation prepass,按下儲(chǔ)存指定你irradiance map儲(chǔ)存路徑,勾選auto save. ? ? 當(dāng)瀏覽的時(shí)候, 請(qǐng)確認(rèn)在irradiance map存放的地方已經(jīng)存有irradiance map的檔案, 這點(diǎn)很重要. ? ? ? 在Light cache選單里面,勾選use camera path,模式設(shè)定為single frame 或者,你可以預(yù)先計(jì)算light cache,這有可能可以減少一些算圖時(shí)間. ? ? 一旦prepass算完以后,你就必須要去設(shè)定irradiance maps之間混合的程度.所以在算圖之前,因?yàn)檫@會(huì)影響到動(dòng)畫長(zhǎng)度范圍. ? ? 例如,如果你把混合(blend)設(shè)為2 ,這個(gè)意思是,它會(huì)把該frame的前兩個(gè)與后兩個(gè)frame做混合.例如如果是對(duì)frame 5來(lái)說(shuō),它就會(huì)混合3,4,5,6,7 5這幾個(gè)frame.如果是Frame 6來(lái)說(shuō),它就會(huì)混合4,5,6,7,8依此類推. ? ? ?這個(gè)混合的數(shù)值越高就越不容易閃爍但同時(shí)也會(huì)增加算圖時(shí)間如果你把這個(gè)數(shù)值調(diào)太高的話結(jié)果會(huì)過(guò)于平滑細(xì)節(jié)會(huì)不見(jiàn)因此對(duì)第0個(gè)frame來(lái)說(shuō)他前面必須還要有frame才能正確地混合否則因?yàn)閒rame 0混合的frame數(shù)目比其他的frame這會(huì)造成不一致性請(qǐng)把你的動(dòng)畫起始frame更改為-2這樣frame 0就可以跟–2,-1,0,1,2做混合同理可證如果最后一個(gè)frame是100請(qǐng)?jiān)黾觙rame到102 1、Irradiance map? ?? ?一旦計(jì)算完了prepass,你會(huì)發(fā)現(xiàn)采樣的訊息,這會(huì)告訴你采樣已經(jīng)成功地儲(chǔ)存了.你可以到檔案儲(chǔ)存的地方看看動(dòng)畫范圍的采樣是否都存到了 ? ? ? 切換到動(dòng)畫算圖模式,會(huì)跳出訊息要你選取檔案,你必須要選取第一個(gè)快取檔案(沒(méi)有數(shù)字的那一個(gè))讀取這個(gè)檔案會(huì)自動(dòng)載入動(dòng)畫范圍內(nèi)所有的irradiance map.? ? ? 在irradiance map參數(shù)里面,你會(huì)發(fā)現(xiàn)interp. Frames這個(gè)參數(shù)不再是顯示灰色的了.這個(gè)參數(shù)會(huì)決定多少數(shù)量的frame會(huì)被模糊化,動(dòng)畫范圍是-2到102,所以用2這個(gè)數(shù)值是正確的.如果你希望混合4個(gè)frame就把參數(shù)設(shè)為4,但切記要把動(dòng)畫時(shí)間延長(zhǎng). Interp. Samples內(nèi)插采樣控制了irradiance map之間內(nèi)差計(jì)算的數(shù)量.? ? ? 因?yàn)槲覀兠總€(gè)frame都會(huì)計(jì)算好幾個(gè)irradiance maps (因?yàn)橛?jì)算內(nèi)插)所以沒(méi)有必要把這個(gè)數(shù)值設(shè)定為20,這么高的數(shù)值一定會(huì)增加很多算圖時(shí)間.這個(gè)數(shù)值要看你的需求,可以試著用5這個(gè)數(shù)值,測(cè)試看看滿不滿意.根據(jù)經(jīng)驗(yàn),大部分的室內(nèi)動(dòng)畫需要的數(shù)值為10-12,是否用攝影機(jī)路徑(Use camera path)不會(huì)有很大影響,所以在這里把攝影機(jī)路徑勾選會(huì)不勾選都沒(méi)關(guān)系 2、 Light cache 根據(jù)流程,可以有兩種選項(xiàng):? ? ? (1)如果你采用light cache算動(dòng)畫而且勾選了glossy rays,你就必須要把secondary GI設(shè)定為light cache,設(shè)定在single frame模式,勾選camera path? ? ? (2)如果你沒(méi)有勾選use light cache for glossy rays那就請(qǐng)把secondary GI取消勾選,只用irradiance map作為primary GI engine就好,為什么可以把secondary GI關(guān)閉呢?因?yàn)閟econdary GI的資料已經(jīng)被儲(chǔ)存在irradiance map prepass里面了! ? ? 把動(dòng)畫范圍改成0-100,你再也不需要去算范圍外的frame了,因?yàn)槟悴恍枰獮榱藀repass的混合而擴(kuò)充動(dòng)畫范圍. 最后會(huì)算出沒(méi)有閃爍的動(dòng)畫~