一品教程
Vray最佳設定 ─ Light Cache與Photon Map篇
  • 百度链接:请在正文中查找
  • 提取码:请在正文中查找
  • 阿里云(不限速):
  • 天翼链接(不限速):
  • 天翼提取:
  • 115链接:
  • 备用地址:
  • 解压密码:
  • 资源类型:
  • 文件大小: MB
  • 发布时间:2016-2-29 15:40
  • 人       气:135
  • 回复数量:0
发新帖
http://pan.baidu.com/s/1o7308Ds 提取密码:zspf
Vray最佳設定─LightCache與PhotonMap篇

Via:http://renderstuff.com/作者:Anton,Max翻譯:HammerChenV-Ray的最佳設定LightCache大家好,之前各位有仔細讀過兩篇關於GI算圖的教學:Vray最佳設定---IrradianceMap篇揭開V-RayDMC採樣器的神秘面紗現在進入到第三篇.如果你還是不了解前面兩篇,我們誠摯地建議你再複習一下,特別是,要知道GI的大致概念,也就是要對BruteForce和IrradianceMap這兩種演算法有紮實的概念.在這篇教學裡面,我們將學習有關於GI反彈算圖,Photonmapping與LightCache,我們也會學習 Lightcache每個細項功能,以及最佳化的設定方式.本教學將回答下列問題photonmap是什麼?運作的方式?使用photonmap的缺點是什麼?photonmap的修改版----Lightcache演算法的運作方式是什麼?Lightcache的cell是什麼?Lightcache是如何儲存直接光照的?以及計算不同的diffuse反射Lightcachefilter的運作方式?Pre-filtering與Filtering的差異?Lightcache的參數要怎樣設定才能得到最佳的效果?
傳統的Photonmap這是過時的算圖引擎,基本概念是光源在發射光子在場景中反彈,然後,就會在場景中形成所謂的光子圖photonmap.這是一個三度空間的光子打到物件表面所形成的,每個點都儲存了亮度與間接照明的顏色資訊.基本上,這樣的圖的產生方式跟Irradiancemap產生的演算法差不多.光子貼圖的原理很容易理解在IrradiancemapGIMap的取得是由攝影機開始,取得場景中的一個點,確認可能會對表面照明的光源.這樣,我們就可以假定射線從攝影機發出,檢查其他的rays,直接由光源或是間接到達該點.用這種方法,只會考慮到場景中攝影機會看到的區域.從這樣的角度來看,Photonmapping的算法比較粗糙.除了攝影機角度發出的向量以外,它也會投射光源所有角度的向量,稱為光子.所有的表面,以及場景中所有的點都會被計算,因此浪費掉了許多運算資源.這個演算法在場景中散布光子,即便是在不會被攝影機看到的地方也一樣.再者,光子貼圖演算法不會提供足夠的自適應功能,偵測場景的細節,也因此得到的品質也不好.光子貼圖在物件的邊縫處會產生錯誤,這是該演算法的主要缺點.然而,實際上來說,光子貼圖的最大區點是無法從間接的光源計算亮度,光子只能由傳統的光源來產生.例如,他無法偵測到由VRayLightMtl產生的自發光照明,或是GIEnvironment(skylight)或VRaySky的照明效果,這樣光子貼圖在戶外或是室內場景變得無用武之地.光子貼圖演算法的唯一生存優勢,有些老派的3D用戶還在使用的原因是,它相對來說物理比較精確,因為光子演算法夠正確地計算diffuse反射,例如焦散效果與次表面散射效果.然而,因為某些限制與不合理,你不應該再使用過時的光子貼圖GI演算法.在光快取(Lightcache)這套更棒的演算法推出之前,光子演算法很流行.用來計算第二次反彈.最新的光快取技術光快取(Lightcache)原本是高科技的算圖引擎,跟光子圖的全局照明很類似,但是跟光子圖相反的是---射線(rays)計算的方式有所不同.這個演算法的本質是光快取,是由攝影機產生一組的射線,在這些射線與場景物件交錯的點上面,產生全局照明的圖,這些射線(rays)並不是GI的射線,這些是從觀察者角度所產生的路徑.LCray投射到場景的物件,在接觸的地方計算顏色,取得材質的屬性,以及打到他的光線,不管是直接光照或是間接的.跟光子貼圖相比,LC演算法把光子貼圖的所有缺點都拿掉了!LC只會考慮到場景攝影機看得到的區域,它會處理微小細節,而且不會在物件的邊緣產生黑邊,而且,最重要的是LC可以處理任何類型的光源,包含了間接照明.


LightCach的主要參數這是V-Ray::Lightcache的間接照明選單,包含了計算參數,重建參數,模式…等等還包含了subdivs,samplesize,scale,numberofpasses,storedirectlight,showcalc.phase,adaptivetracing,pre-filter,uselightcacheforglossyrays,filter,interp.samples,mode,don'tdelete與autosave等參數

Subdivs這個參數決定了LCrays的數量,從攝影機到場景,決定採樣的顏色.LC演算法一般會把場景切割成小的區域(稱為cell).在切完之後,就會決定每個小區域的顏色,藉由投射LC射線,從攝影機過來的,也就是說,每個小區域都是獨立的顏色採樣,最後會用在GImap上.範例場景的渲染,這邊顯示了光快取採樣的馬賽克細胞(masaiccell)分割區域,當然Subdivs的細分越多,就會有越多的馬賽克細胞,也會得到越精確的顏色.LC射線的實際數目等於Subdivs的平方.一般來說,Subdivs約有2000-3000對於大部分的寫實算圖很足夠了,但是一開始只要設為1000就夠了,而這個參數如有需要再調高就好了.Samplesize控制了採樣的大小,當你指定了cell的大小,LC的演算法就根據這個數值對圖像細分.在之後,他會追蹤射線,決定每個cell的顏色,每個cell顏色的確認都至少需要一個射線,讓我們假定由Subdives決定的射線總數會比cell的總數要少,所以視覺上看起旯好像增加了某些細胞的大小,換句話說視覺上cell的大小也間接地跟Subdives的數值有關.Samplesize的數值必須要有足夠的LC射線才可以達成,例如當LC射線大於cell總數的時候,某些cell會被數個射線計算,也就會產生比較精確的顏色,也就能夠改善最終算突的品質.Cell的尺寸只會在當場景具有大量細節的時候才須改變而LCmap無法呈現足夠的細節,在大部分的狀況,把SampleSize設定為0.02,對於大部分的場景已經很足夠了.Scale參數在下拉式選單裡面,讓你可以指定cellsize的單位,有兩種數值:螢幕與世界單位(ScreenandtheWorld).螢幕模式讓你可以指定cellsize的數值,依據最終算圖大小的比例,例如Samplesize=0.02,而Scale設定為screen,那表示cell大小為整個螢幕大小的2%.你也必須知道,這樣cell大小是相對於螢幕解析度的,這表示在場景中靠近銀幕的cube的面,與在牆壁上的兩個cell大小是一樣大的,儘管在位置上面他們跟攝影機的距離並不相同.而以World作為單位,讓LC根據3dsmax單位來決定cellsize.以這樣的模式,cellsize在空間上面是一樣大的,但是在螢幕上面會根據他們在場景空間上面的位置來決定大小.這樣,在牆後面的cube的cell大小會比在cube前面的要小,而且,由於LC會對影像的每個位置用固定數量的射線,在小的cell裡面會用比較少的LC射線.跟大的cell相比較,這樣會讓小的cell產生比較差的品質,在最終算突的時候,可能會產生比較多的雜訊或是錯誤.對LCcell使用場景單位,會產生很均勻的LCmap,這對於鏡頭飛躍的動畫(fly-throughanimations)很有用,這個方法讓LCcell的大小都很均勻,用在動畫上不管攝影機的移動都可以得到一樣大小的LCcell.對於靜態場景渲染與動畫.當LCmap的每個frame都是獨立計算的,不能合併在一起時,我們就必須要用Screen模式,這會減少錯誤.這就是為什麼在預設的狀況下LCcell是設定成screen模式.Numberofpasses是LC計算有幾個pass.一般來說LC的計算並不是用多執行緒的,但是可以分割成好幾個passes,讓整個電腦的多核心能夠完全載入使用.例如:如果LC計算是用四核心處理器計算的話,我們就不能打斷LC的pass,也就是說Numberofpasses設定為1,換句話說,在計算LC的時候,就只會單一的,四核心處理器,剩下的三核心就會閒置,不會參與LC的計算.因此,為了要加速LC算圖,必須要強迫把pass切割數量切割成系統的核心數量.當今,常見的處理器核心數目不會超過8個,例如,八核心的系統,有兩個四核心的Xeon處理器.在大部分的電腦,把umberofpasses設為8適合大部分的狀況.Storedirectlight是LC演算法的功能,讓你可以不只是儲存GI資訊,而且可以儲存關於場景中直接光照的位置.我們知道LC會追蹤由攝影機到場景的物件,當這些射線跟場景交錯的時候,演算法會檢查物件的shader決定其顏色,然後繼續追蹤從光原來的點,照亮物件,決定物件的亮度.換句話說LC演算法,根據它運作的原理,也會檢查直接光照落在場景的點.因此,一開始的時候它會收集關於場景中直接光照的資訊,能夠儲存質將光照,讓我們可以快取,儲存場景中直接光照的資訊.
傳統上,在GIrenderelement算圖之後,Vray分開計算直接光照,對場景中直接光照進行採樣當然會耗費計算資源,光線的快取,例如先前儲存在LC的資訊,之後要用到就可以馬上使用,如此可以增加算圖的效率,節省了以運算的方式得到直接光照所需要的時間.我們可以想像的到,用這種方法得到的直接光照,品質會比傳統的採樣要糟糕.當然這要看依你LC的品質而定.這種作法只在場景中有大量的光源的時候才有意義,因為計算直接光源可能會耗費好幾個小時.再者,用這種方法產生的光照會有明顯的缺點,會暴露出CG算圖的感覺,會產生模糊的陰影.如果目標是照片級寫實的算圖,用這種做法不是很好,就算考量到可以節省量的運算資源也一樣.所以在預設的狀況下Storedirectlight是關閉的.

Showcalc.phase顯示計算階段這個功能很棒,讓我們能夠顯示預覽的效果,在幾分鐘內就看到大概效果,這排除了用低解析度算圖測試的需求.在預覽的時候你不需要等待所有階段的算圖過程,確保開啟這個功能.當然啦,這預設值是勾選的.三張比較圖,左邊這個是螢幕截取,是比較粗糙,只用基本的shader.中間這張是在幾分鐘算圖過後,非常接近右邊這張,右邊是最終算圖效果,具有高品質.Adaptivetracing這個功能能讓我們使用關於場景中照明的資訊,對每個LC採樣,然後在場景中光源比較多的地方添加更多的射線.在某些狀況下,能夠幫助我們移除掉LC產生的雜訊,例如,如果場景有焦散,但是,這個選項會消耗記憶體資源,而只有在Adaptivetracingparameter勾選的時候,才能勾選Usedirectionsonly的選項.基本上,在大部分的場景,勾選這個功能不會有明顯的差異,所以在預設的狀態下不應勾選.重建LightCachemap下個選單是Reconstructionparametersarea,裡面包含了幾項設定,跟LCmap的後處理有關,對最終算圖有影響.
Pre-filter預先過濾這個功能跟LCcell採樣的內差有關Pre-filter的內插功能讓LCsamplemap變得更平滑.只有在勾選的時候,它會把map傳給最終算圖.而內插的強度是由Pre-filter後面那個數值所決定,越大的數值可以產生越少的雜訊,但是結果會比較模糊,也因此會造成某些小細節消失.而小的數值會產生比較多的細節,但也會變得比較多雜訊.

兩張算圖範例,這邊顯是了有勾選Pre-filtering演算法與沒有勾選Pre-filtering演算法的結果,第二張圖是有勾選Pre-filtering,看起來比較平滑.


Filter提供下拉式選單,讓我們可以選取更多的內插演算法,如先前提到V-Ray在計算LC之後會把計算好的LCmap,傳遞到最終的算圖演算法.使用LCfilter讓我們可以做出更多的LC內差效果,一旦LC把map傳遞給最終算圖演算法,也就會開始計算每個shadingpoin,t這也就是算圖的基本單位.如果我們選取了其中一個filter(請不要與Pre-filter搞混)當他計算每個shadingpoint的時候,會內插LCsamplemap的資訊.None是Filte下拉式選單的一個選項,用這個選項就關閉使用LCfilter.在這種狀況,最終算圖演算法會使用LCmap,不會進行過濾功能.Nearest是LC的filter在某個數值條件下最接近的採樣做為內插的條件,會涉及到過濾的最接近採樣的數目是由Interpolationsamples所決定.當開起了filteringNearest,會產生非常平滑但又維持細節的效果.Fixed類型的filter很類似於Nearest,差別只在於涉及採樣的點是根據GImap點的方形區域.Filtersize的單位是由Scale來決定.請注意,Fixed的濾鏡只會處理落在Filtersize裡面的區域,結果看起來很像一片一片的方塊,而其他的區域變成黑色的背景.

這個算圖範例展示了用比samples尺寸還小的FixedFilter算出來的結果.看起來就像在黑色的背景貼滿了N次貼那樣的效果.為了避免LCmap產生如此明顯的錯誤,我們必須要把filter的尺寸弄得比sample的尺寸要大,至少要是兩倍大.但是只有在算動畫的時候,使用Fixed類型的濾鏡才有意義.把尺寸設定為Screen模式,在其他的狀況,用Nearestfilter還是比較好.根據Pre-filter與Filter的運作原理,這兩者最後個功能都是一樣的.兩者會把LCmap平滑化,產生更平均的效果.兩者只差別在技術的應用面,Pre-filter演算會對LCmap的所有採樣進行內插,但是缺點是這個計算只支援單線程處理運算,不管你電腦有多少線程.同時Filter的演算法會計算的比較精確,因為它是根據不同的算區域來進行處理的.這個方法需要更多的電腦運算資源,讓V-Ray在每個算圖區域計算內插,儘管如此,Filter的運作,以最終算圖,都是支援多核心的,也會使用電腦所有的可用線程,對於單核心或是雙核心的電腦,會建議你使用Pre-filter或是合併使用Pre-filter+Filter,讓採樣分配的數目降低為一半.大部分的高效能工作站,甚至用在玩遊戲的電腦主機上,都具有超過4線程的運算能力,對於這種硬體,就很適合使用Filter演算法,對於分散式算圖尤其有意義,在算單張圖的時候,有多台電腦參與計算.在大部分的VRay設定裡,我建議只使用Filter:Nearest把Interpolationsamples設為10,這樣可以的到好的結果,也不會把GI細節模糊掉,不會有明顯的錯誤.Uselightcacheforglossyrays是個選項,讓我們以LC計算場景材質的diffusereflections與refractions這讓我們減少了運算資源.當然啦,用這種方法算出來的材質跟直接計算相比較品質會較低,最終算圖的品質跟你LCmap的品質有關.在Storedirectlight的選項的目的類似,計算間接照明的資訊,也包含用來計算diffusereflection的資訊.當然啦,場景材質用這種方式計算出來會比較模糊,無法滿足照片寫實算圖的要求.這種狀況,可以用LC的設定來改善,取得好的高光模糊與折射模糊,但是是否真能節省時間還是個問題,對於分散式算圖尤為重要.很不幸地,現在的VRay版本並不能用分散式算圖來計算LCMap,就算你是用網路算圖算圖速度也跟單機算圖沒有差別.

算圖範例中的球,套用藍色反射模糊材質,你可以看出使用Uselightcacheforglossyrays這個選項會導致非常多雜訊的反射模糊,因此在預設
值的時候不會開啟這個選項.LC最後面的兩個選單是Mode與Onrenderend,這跟IM裡面的選項很類似,專為動畫算圖所設定的.結論在這個教學裡面,我們探討了兩種GI算圖演算法,也就是Photonmapping與LightCache,然後對最重要的部分深入研究.特別是,我們學習了所有細節,為調了LC的GI算圖,能夠很清楚地知道所有的範例.各位朋友,我們很誠摯地希望您認真的閱讀這章節,我們也希望你在閱讀之後夠駕輕就熟地使用LC裡面的各種參數.理解這些重要資訊讓你可以輕鬆地設定,取得適當的GImaps,計算寫實的3D算圖效果.在下次的教學裡面,我們介紹各種GI引擎的最佳搭配,除此之外,我們也將揭開如何消除角落的黑點問題.祝各位有美好3D算圖效果.下次見~
本站首发,永久链接:https://www.yipinsucai.com/thread-118798-1-1.html
收藏0 0 反对0
分享
  • 猜您喜欢
  • 热门素材
  • 下载排行
  • 最新资源

微信订阅号

Copyright   ©2012-2021  一品教程论坛技术支持:一品素材教程网  站点帮助   ( 蜀ICP备17010416号-1 )|网站地图 | 站点地图| 网站地图 | 网站地图