包含15節(jié)視頻教程
關(guān)注14.1萬次
Mental ray是一個專業(yè)的3D渲染引擎軟件,它可以生成高質(zhì)量逼真效果的圖像,非常具有真實感。至今它的發(fā)展非常成熟,為許多電影成功實現(xiàn).
本文對于渲染師或者渲染愛好者來說是一道技術(shù)大餐,但你要有耐心,跟著筆者的思路從頭到尾看完,除了看圖之外更要看字,這道大餐才算是能真正吃上。
在進(jìn)行渲染測試以及撰寫本文的時候,我盡量站在嚴(yán)謹(jǐn)、客觀的角度去看待Arnold、Vray和Mentalray這三款常用渲染器。
寫這篇文章最初的想法源于這篇帖子:《用一個場景打破AR的神話》,里面討論的內(nèi)容有所受教,但關(guān)于“Vray GI偏暖,Arnold GI偏冷”的觀點本人持懷疑態(tài)度,抱著打破砂鍋問到底的原則,我決定深入測試Arnold、Vray、Mentalray三款“通用渲染器”在室內(nèi)渲染中的異同。帖子里那個測試場景非常典型,于是我拿來用到這個場景并做了輕微修改。本文少講表面操作,多講技術(shù)原理,有興趣的請往下看。請盡量不要跳著閱讀,否則思路會亂。看完后也許你會對這三款渲染器有新的理解。
本文著重討論以下四個內(nèi)容:
1、為什么Vray適合做室內(nèi)效果圖渲染?
2、Arnold、Vray、Mentalray,他們的全局照明技術(shù)差距在哪里?分別有什么特點?
3、在理解的基礎(chǔ)上用三種渲染器實現(xiàn)基本一致的渲染效果(更深入的了解Arnold、Vray、Mentalray的全局照明系統(tǒng),解決Arnold的色彩bug)。
4、Biased GI vs. Unbiased GI vs. Hybrid GI?
場景的模型和材質(zhì)非常簡單,全部的shader都是lambert,不攜帶任何光澤反射(specular)、鏡面反射(reflection)、折射(refraction)、3s等內(nèi)容。總而言之就是簡化成一個純diffuse漫反射環(huán)境,這樣能夠?qū)W⒂跍y試漫反射全局照明在arnold、vray、mentalray中的異同。
全局光,其英文名叫Global Illumination,翻譯過來叫全菊照明,哦不對是全局照明,也可以叫間接照明,我個人更接受間接照明(Indirect Illumination)這個叫法。英文簡稱叫GI,在常用渲染器中,全局照明通常指的是全局漫反射照明。
1、測試場景中使用了一盞平行光來模擬太陽直射光,然后根據(jù)渲染器的不同,arnold用了aiSky來作為藍(lán)天的間接照明,vray使用了Override Environment的內(nèi)容來作為藍(lán)天,mentalray使用了Image Based Lighting來作為藍(lán)天背景。天空的顏色與顏色強(qiáng)度在三個渲染器中我都設(shè)置為完全一致。但是Arnold的aiSky中顏色設(shè)置有bug。
2、場景中平行光在Vray和Mentalray渲染層中的燈光強(qiáng)度為2,在Arnold 渲染層中相對應(yīng)的強(qiáng)度值為2*3.14=6.28,我不能很好的解釋為什么在本場景中arnold的燈光強(qiáng)度要乘以π才能得到實際等值于Vray和Mentalray中2的燈光強(qiáng)度,但經(jīng)過測試的結(jié)果確實如此。
3、本次測試在三款渲染器中全部使用線性工作流程。
一款商用渲染器的好壞,易用性是一項很重要的評判指標(biāo),我拿到這個場景后根據(jù)arnold、vray、mentalray的基本特點,使用了一般情況下最常用的設(shè)置,打開了全局光(arnold的diffuse的反彈次數(shù)為3,vray使用irradiance+light cache,mentalray使用finalgather),并把采樣設(shè)置到產(chǎn)品渲染級別,其他的參數(shù)盡量使用渲染器默認(rèn)的設(shè)置,得到了如下三張圖的效果:
看到這張圖的親們,請先不要激動,不要產(chǎn)生偏激的想法,先把本文看完再做評論。
在最常用的設(shè)置下,三種渲染器得到的結(jié)果差別很大,arnold整體照明偏冷,vray偏暖,mentalray偏黑且質(zhì)量低下,渲染時間上arnold最慢。
用戶常用默認(rèn)設(shè)置下的結(jié)論:
Mentalray的常用設(shè)置渲染的結(jié)果基本沒法看,從這一點可以看出mentalray的易用性偏弱。
-----------------------------------------------------------------------------
接下來讓我們來做一些改進(jìn),一是去掉arnold中aiSky偏色的bug,二是把mentalray渲染的挫效果進(jìn)行提升。
在這里我也提到過arnold在aiSky使用純色的情況下,顏色有bug,在nuke中取色顏色明顯不對,也就是說你在aiSky里設(shè)置一個<<0.8,0.9,1.0>>的顏色值,渲染得到的結(jié)果并不等于<<0.8,0.9,1.0>>,而且這個bug和gamma值什么的一點關(guān)系都沒有。解決的方法就是建立一個gammaCorrect節(jié)點,設(shè)定顏色為<<0.8,0.9,1.0>>,gamma參數(shù)保持為1,然后連接給aiSky的Color通道,見下圖:
aiSky渲染的顏色和之前在maya中指定的顏色<<0.8,0.9,1.0>>完全一樣,bug得以解決。
上圖是使用arnold渲染器的情況下有顏色bug的渲染圖和去除bug之后的渲染圖的對比,可以看到原本的淺藍(lán)色天空在出bug的情況下,變得更深,因此房間的間接照明偏冷,去除bug后房間的冷色調(diào)明顯減少。結(jié)果更接近Vray使用經(jīng)典的Irradiance map+light cache得到的渲染效果。
這個場景屬于半封閉場景,因此間接照明的使用是否得當(dāng)將直接影響到室內(nèi)環(huán)境的光線充沛度,在僅僅采用finalgather作為間接照明技術(shù)的情況下,mentalray只能得到反彈一次的間接照明采樣,對于室內(nèi)場景來說遠(yuǎn)遠(yuǎn)不夠,這就是為什么mentalray只開fg渲染室內(nèi)特別黑的原因。
所以,讓我們同時開啟mentalray渲染器面板中的Global Illumination的勾,并在平行光下開啟mentalray選項卡下的emit photons,調(diào)節(jié)相關(guān)的值,又提升了一些finalgather的參數(shù),得到如下渲染結(jié)果(注意mentalray在渲染為exr格式并勾選Enable Color Management并將設(shè)置都改為sRGB的情況下,輸出的結(jié)果在nuke中和在render view中看到的不一致,因此請關(guān)閉Enable Color Management并在nuke中查看mentalray渲染出來的exr,并且一定記得把exr位深設(shè)置為32bit):
這個結(jié)果更進(jìn)一步的接近Vray渲染的結(jié)果,只是黃色調(diào)更重一點,暗部更暗一點。
那么經(jīng)過這兩步的調(diào)整之后,我們得到——
改進(jìn)過的測試結(jié)果對比:
1、Mentalray與Vray和Arnold相比,需要花費更多的參數(shù)調(diào)節(jié)時間去得到理想的效果。
2、Arnold的aiSky的顏色bug確實存在,但可以解決。
-----------------------------------------------------------------------------
從上圖可以看到,三種渲染器得到的結(jié)果是越來越一致了,但現(xiàn)在仍然存在兩個問題:1、arnold渲染的結(jié)果為什么還是偏暗?2、mentalray渲染的結(jié)果為何過于偏黃?
第二個問題我本人目前沒找到答案。
關(guān)于第一個問題“Arnold渲染結(jié)果偏暗?”我們可以好好探討下:
影響間接照明充沛度的關(guān)鍵因素是什么?是間接照明反彈次數(shù),在不同的渲染器里有不同的叫法,比如gi bounce、ray depth等,arnold渲染器默認(rèn)的漫反射照明的反彈次數(shù)為1(見下圖)
這樣的默認(rèn)設(shè)置的好處是渲染會很快,壞處就是間接照明效果比較弱!角落很黑!
而我在本文中之前渲染所使用的diffuse depth=3,效果比1要好的多,但還是比較暗,角落照不亮,如果我把diffuse depth設(shè)置為30呢?我們來看下圖分別設(shè)置diffuse ray depth=1、3、30的渲染效果對比:
通過上圖可以看到gi的反彈次數(shù)對于間接照明的效果影響有多大。
那么我們回過頭來看看arnold的diffuse ray depth=30的渲染結(jié)果和之前Vray和mentalray渲染結(jié)果的對比:
從上圖可以看出,Arnold在diffuse ray depth=30的時候,渲染結(jié)果與Vray的渲染結(jié)果已經(jīng)十分接近了(但渲染時間變得很夸張),因此可以判斷Vray和Arnold在GI算法設(shè)計上遵循著同樣的能量守恒原則,并不存在“這個渲染器的渲染風(fēng)格偏文藝,那個渲染器的渲染風(fēng)格偏小資”這種感性的說法。
Mentalray的GI效果與Vray也是類似,只是更加明顯的傾向于“模擬近似算法”、“糊糊的”、“細(xì)節(jié)不足”等感覺。差距就在于mentalray使用的Global Illumination技術(shù)過于老舊。這點是硬傷。
我們之前說過,影響間接照明充沛度的關(guān)鍵參數(shù)是GI反彈次數(shù),Vray使用Irradiance map+Light cache技術(shù)得到效果直接默認(rèn)就很好,根本就不用像arnold那樣需要去人為調(diào)節(jié)什么ray depth,這是為什么呢?
導(dǎo)致Vray渲染間接照明燈光充沛的的原因,要歸功于Vray獨有的Light Cache(LC,燈光緩存)技術(shù)。燈光緩存技術(shù)牛逼在于它默認(rèn)的ray depth=100,更牛逼的地方在于無論這個depth設(shè)置為多高,都不會明顯減慢渲染速度。
看上圖,如果我把這個Depth設(shè)置為3,那渲染效果就和Arnold diffuse ray depth=3的效果一樣了,下圖見分曉:
從上圖我們也能找到些許ar和vr在全局照明技術(shù)上的共通點。
所以這也解釋了為什么渲染室內(nèi)效果圖大部分人都選擇Vray,因為Vray的IR+LC的組合渲染室內(nèi)又快效果又好,全局光看著最舒服,轉(zhuǎn)角細(xì)節(jié)也保持的不錯,再加上光子烘焙技術(shù),室內(nèi)室外游覽動畫也都不會閃。在室內(nèi)效果圖渲染這塊領(lǐng)域,arnold不是不行,而是arnold要得到一張成品圖要更慢。從效率和效果上綜合來說,必然是Vray占優(yōu)勢。
有人會說我可以在窗戶上用area light(portal light)發(fā)射天空顏色進(jìn)行直接照明來彌補(bǔ)ray depth不足導(dǎo)致的暗角,這方法是可以,但僅僅是一種提升的手段,即便用了area light仍然無法在室內(nèi)效果圖領(lǐng)域與Vray抗衡。
關(guān)于GI反彈次數(shù)的話題,我們一直在講arnold和vray,Mentalray其實也有類似的參數(shù),它在GlobalIllumination的選項下面,見下圖:
寫到這我發(fā)現(xiàn)了自己之前的一個錯誤,mentalray的gi默認(rèn)的photon reflections和phont refractions的值是5,被我直接開到100了,也就是說之前mentalray開FG+GI渲染的結(jié)果都是100的參數(shù)渲染的,按照默認(rèn)的情況下我應(yīng)該以5的值去渲染,抱歉。
如果把photon reflections和phont refractions的值設(shè)置為5,結(jié)果和在arnold中將diffuse ray depth設(shè)置為5的結(jié)果類似,同理,如果把photon reflections和phont refractions的值設(shè)置為3,結(jié)果和在arnold中將diffuse ray depth設(shè)置為3的結(jié)果類似。Mentalray的結(jié)果我就不上圖了。
最終我們基本統(tǒng)一了arnold、vray、mentalray三種渲染器渲染同一個室內(nèi)場景的效果,見下圖:
如果arnold的depth開到100,效果應(yīng)該會更好一點,但是渲染速度基本接受不了。
1、在三種渲染器中,得到理想的室內(nèi)全局照明效果,mentalray所花的人工調(diào)節(jié)測試時間最長,Arnold渲染時間最長,Vray使用IR+LC模式速度最快,質(zhì)量最好。
2、在三種渲染器中,合做封閉、半封閉場景的照明渲染,Vray表現(xiàn)最佳,也就是說做室內(nèi)效果圖渲染首選Vray。
3、在三種渲染器中,Arnold使用起來最簡單,最容易上手,但要成為進(jìn)階用戶需要不少渲染理論知識。
4、在三種渲染器中,Vray技術(shù)花樣最多,但技術(shù)封閉性比較好(也就是很多用戶不需要去理解Vray渲染背后所發(fā)生的事情)。
5、在三種渲染器中,Mentalray界面最不友好,操作最繁瑣。
以上就是對于這個場景我所理解到的東西,希望對各位理解三種渲染器的GI技術(shù)有所幫助。
-----------------------------------------------------------------------------
接下來我們討論另一個關(guān)于GI的話題,就是物理算法(unbiased,無偏差算法)與模擬算法(biased,有偏差算法)的比較。
長話短說,我直接給我了解到的結(jié)論:
渲染器
GI技術(shù)
特征
噪點類型
備注
Arnold
Arnold GI
Unbiased(物理算法)
小顆粒噪點(noise)
Vray
Irradiance Map
Biased(模擬算法)
區(qū)域閃爍(flicker)
Vray
Light Cache
Biased(模擬算法)
區(qū)域閃爍(flicker)
Vray
Brute Force
Unbiased(物理算法)
小顆粒噪點(noise)
算法類似arnold GI
Vray
Photon Map
Biased(模擬算法)
區(qū)域閃爍(flicker)
Mentalray
Final Gathering
Biased(模擬算法)
區(qū)域閃爍(flicker)
算法類似Irradiance Map
Mentalray
Global Illuminantion
Biased(模擬算法)
區(qū)域閃爍(flicker)
算法類似 Photon Map
如果你在Mentalray中采用的是FG+GI的組合,對應(yīng)到Vray中就是Irradiance Map+Photon Map的組合,也就是說FG與Irradiance Map是類似的技術(shù),GI與Photon Map是類似的技術(shù),遺憾的是Photon Map比較老舊,效果也不夠好,已經(jīng)被更好的Light Cache所取代,而mentalray還只能繼續(xù)用Global Illumination。
Mentalray沒有物理算法的GI技術(shù),Vray既有物理算法又有模擬算法,Arnold只有物理算法。
Vray的Brute-Force(暴力準(zhǔn)蒙特卡洛算法)與Arnold GI的算法是類似的,也就是說,如果在Vray中采取BF+BF的GI組合,得到的渲染結(jié)果與Arnold的渲染結(jié)果會更加相似(幾乎一模一樣),見下面4張圖:
以上兩張為Arnold與Vray中depth=3時,同時采取暴力算法的渲染圖對比
以上兩張為Arnold與Vray中depth=30時,同時采取暴力算法的渲染圖對比
通過渲染測試數(shù)據(jù)我們可以發(fā)現(xiàn),Vray采用BF+BF的GI算法的情況下,得到的渲染結(jié)果與Arnold幾乎一模一樣!在同樣采取暴力算法的情況下,Arnold較Vray的渲染速度優(yōu)勢在于低depth的情況下,一旦depth變得很高的時候,Arnold的暴力算法會比Vray更慢。當(dāng)然,我只是針對這個場景的測試結(jié)果說話,并不敢保證在所有場景渲染中都能得出這樣的結(jié)論。
至此,Arnold是不是一個“那么神奇”的渲染器,我想認(rèn)真的讀者可能會在心里小小懷疑一下了!
-----------------------------------------------------------------------------
最后我再說說Vray GI的物理算法+模擬算法的混合模式(hybrid GI)。在Vray中,采用混合模式的組合就是BF與IR、LC、Photon map的組合搭配,比較常見的組合有:
Irradiance Map+Brute Force(目前沒發(fā)現(xiàn)這個組合有什么好的地方)
Brute Force+Light Cache(有效減少BF+BF的噪點問題)
下面上測試渲染圖對比(注意觀察噪點情況):
不得不服,用Vray的Light Cache技術(shù)去計算二次GI照明,配合Brute Force去計算一次GI照明,無論是畫面質(zhì)量還是渲染時間都遠(yuǎn)遠(yuǎn)優(yōu)于純暴力算法。
在本文的所有用到Vray Light Cache渲染的圖片中,LC的參數(shù)除了depth外都保持的是默認(rèn)值。
以上的結(jié)論都是針對靜幀渲染。動畫渲染的結(jié)果會是怎么樣?是不是各種GI技術(shù)會出現(xiàn)大跌眼鏡的結(jié)果,也許我會另寫一篇評測文章,還請繼續(xù)關(guān)注我的博客,不用記地址,只要百度搜索“cg風(fēng)火連城”或者“cg烽火連城”即可。
作為本文的擴(kuò)展,來說說個人目前對這三款渲染器的認(rèn)識(與本場景無關(guān)):
1、俗話說得好:不怕不識貨,就怕貨比貨。只要你用過Arnold或者Vray,你就不想再回到Mentalray的世界,因為在不帶二次開發(fā)的情況下,他的界面不友好,不親切,不好用(相對而言)。
2、Mentalray的硬傷在Global Illumination這個技術(shù)上,雖然現(xiàn)在新出了個什么Irradiance Particles技術(shù),但好像是用來取代FG的,GI仍然沒有改變。也就是說,你用Mentalray很難得到高細(xì)節(jié)的全局照明渲染效果。
3、Mentalray的另一個硬傷在于同時開啟FG+motion blur,速度能慢十倍以上,基本不能用。在可以預(yù)見的未來這幾年,直接開運動模糊渲染的片子應(yīng)該會越來越多,而Mentalray基本不能讓你這么干。
4、總而言之,mentalray已經(jīng)老了,不怎么進(jìn)步了。我的意見是你想用arnold或者vray就去用吧。
1、Arnold是目前逼格最高的商業(yè)渲染器。最好入門,界面最簡單?雌饋砭拖袷巧羁塘私饬怂囆g(shù)家不喜歡看大量參數(shù)的特點,因此參數(shù)不多,但如果要深入了解Arnold或者在實際工作中碰到了問題的話,Arnold也需要不少的渲染器理論知識才能順利解決問題。
2、Arnold的IPR非常優(yōu)秀,交互性非常好,這點上完勝Vray和mentalray。Vray的IPR是另一套模式,那套獨有的IPR模式居然不支持3s材質(zhì),導(dǎo)致Vray IPR的實用性打了折扣。
3、Arnold在實際生產(chǎn)使用過程中,一定要學(xué)會節(jié)約計算資源,也就是說,你要懂場景為何渲染慢了,慢在diffuse、glossy、 reflection還是透貼?怎么提速?如何尋求效果與質(zhì)量的平衡點?否則你有可能碰到慢的驚人的情況,如果你不懂優(yōu)化,說不定你會開始懷念Mentalray。
4、Arnold的暴力算法決定了它的渲染時間與場景精度設(shè)置幾乎呈線性關(guān)系,也就是說你場景中每像素的采樣光線如果是100的話,那么你的采樣光線增加到1000的時候,渲染速度恰好慢十倍。關(guān)于這個知識點我有空再寫一篇博文。
5、采用了暴力算法的渲染器(arnold與使用brute-force模式的Vray),噪點只能隨著精度的提升而減少,永遠(yuǎn)無法消除,顆粒感永遠(yuǎn)伴隨著你,只是精度高了可能會看不出來。
6、Arnold的暴力算法沒有傳的那么神,速度也沒有多快,沒錯低精度確實很快,但精度開高了也真能慢的你服氣。在高GI反彈次數(shù)的時候,渲染效率甚至不如Vray使用BF+BF。
1、在三款渲染器中,Vray是商業(yè)化程度最高的一款,UI設(shè)計非常人性化,各種模塊分布也讓你能感覺出來這款渲染器充分考慮到了用戶的需求和使用習(xí)慣。Arnold的界面設(shè)計傾向于簡單粗暴,Vray的界面設(shè)計傾向于貼心,而Mentalray的界面設(shè)計讓你感覺“你愛用不用,不用拉到”。
2、Vray同時擁有模擬GI算法與物理GI算法,還可以混合使用,在技術(shù)選擇上十分靈活,但靈活的代價就是你要掌握更多的GI技術(shù)知識才能用好它。
3、你也許沒聽說過,但Vray和Arnold一樣,可以同時開間接照明+置換+景深+運動模糊,只要選擇好gi引擎,渲染也不算太慢。
渲染器說白了就是對像素進(jìn)行數(shù)學(xué)運算的工具,是純理性的玩意兒,要說“mentalray能實現(xiàn)的渲染風(fēng)格arnold就實現(xiàn)不了”,或者“只有arnold能做寫實風(fēng)格,其他都不行”等觀點,本人無法茍同。在把工具用好的基礎(chǔ)之上,渲染效果上的差距只在于渲染師的藝術(shù)功底。
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)
朱峰社區(qū)微信公眾號(微信掃一掃-關(guān)注)
2005-2024 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號-1
2005-2024 ZhuFeng Community All Rights Reserved
VIP