[转载]Arnold_Vray_Mentalray全局照明测试与深入分析
标签:
转载 |
分类: 三维动画 |
本文对于渲染师或者渲染爱好者来说是一道技术大餐,但你要有耐心,跟着笔者的思路从头到尾看完,除了看图之外更要看字,这道大餐才算是能真正吃上。
![[转载]Arnold_Vray_Mentalray全局照明测试与深入分析 [转载]Arnold_Vray_Mentalray全局照明测试与深入分析](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
![[转载]Arnold_Vray_Mentalray全局照明测试与深入分析 [转载]Arnold_Vray_Mentalray全局照明测试与深入分析](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
上图是使用arnold渲染器的情况下有颜色bug的渲染图和去除bug之后的渲染图的对比,可以看到原本的浅蓝色天空在出bug的情况下,变得更深,因此房间的间接照明偏冷,去除bug后房间的冷色调明显减少。结果更接近Vray使用经典的Irradiance map+light cache得到的渲染效果。
这个场景属于半封闭场景,因此间接照明的使用是否得当将直接影响到室内环境的光线充沛度,在仅仅采用finalgather作为间接照明技术的情况下,mentalray只能得到反弹一次的间接照明采样,对于室内场景来说远远不够,这就是为什么mentalray只开fg渲染室内特别黑的原因。
所以,让我们同时开启mentalray渲染器面板中的Global Illumination的勾,并在平行光下开启mentalray选项卡下的emit photons,调节相关的值,又提升了一些finalgather的参数,得到如下渲染结果(注意mentalray在渲染为exr格式并勾选Enable Color Management并将设置都改为sRGB的情况下,输出的结果在nuke中和在render view中看到的不一致,因此请关闭Enable Color Management并在nuke中查看mentalray渲染出来的exr,并且一定记得把exr位深设置为32bit):
![[转载]Arnold_Vray_Mentalray全局照明测试与深入分析 [转载]Arnold_Vray_Mentalray全局照明测试与深入分析](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
这个结果更进一步的接近Vray渲染的结果,只是黄色调更重一点,暗部更暗一点。
1、Mentalray与Vray和Arnold相比,需要花费更多的参数调节时间去得到理想的效果。
2、Arnold的aiSky的颜色bug确实存在,但可以解决。
-----------------------------------------------------------------------------
从上图可以看到,三种渲染器得到的结果是越来越一致了,但现在仍然存在两个问题:1、arnold渲染的结果为什么还是偏暗?2、mentalray渲染的结果为何过于偏黄?
第二个问题我本人目前没找到答案。
关于第一个问题“Arnold渲染结果偏暗?”我们可以好好探讨下:
影响间接照明充沛度的关键因素是什么?是间接照明反弹次数,在不同的渲染器里有不同的叫法,比如gi bounce、ray depth等,arnold渲染器默认的漫反射照明的反弹次数为1(见下图)
而我在本文中之前渲染所使用的diffuse depth=3,效果比1要好的多,但还是比较暗,角落照不亮,如果我把diffuse depth设置为30呢?我们来看下图分别设置diffuse ray depth=1、3、30的渲染效果对比:
![[转载]Arnold_Vray_Mentalray全局照明测试与深入分析 [转载]Arnold_Vray_Mentalray全局照明测试与深入分析](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
从上图可以看出,Arnold在diffuse ray depth=30的时候,渲染结果与Vray的渲染结果已经十分接近了(但渲染时间变得很夸张),因此可以判断Vray和Arnold在GI算法设计上遵循着同样的能量守恒原则,并不存在“这个渲染器的渲染风格偏文艺,那个渲染器的渲染风格偏小资”这种感性的说法。
关于GI反弹次数的话题,我们一直在讲arnold和vray,Mentalray其实也有类似的参数,它在Global Illumination的选项下面,见下图:
![[转载]Arnold_Vray_Mentalray全局照明测试与深入分析 [转载]Arnold_Vray_Mentalray全局照明测试与深入分析](http://simg.sinajs.cn/blog7style/images/common/sg_trans.gif)
写到这我发现了自己之前的一个错误,mentalray的gi默认的photon reflections和phont refractions的值是5,被我直接开到100了,也就是说之前mentalray开FG+GI渲染的结果都是100的参数渲染的,按照默认的情况下我应该以5的值去渲染,抱歉。
1、在三种渲染器中,得到理想的室内全局照明效果,mentalray所花的人工调节测试时间最长,Arnold渲染时间最长,Vray使用IR+LC模式速度最快,质量最好。
2、在三种渲染器中,合做封闭、半封闭场景的照明渲染,Vray表现最佳,也就是说做室内效果图渲染首选Vray。
3、在三种渲染器中,Arnold使用起来最简单,最容易上手,但要成为进阶用户需要不少渲染理论知识。
4、在三种渲染器中,Vray技术花样最多,但技术封闭性比较好(也就是很多用户不需要去理解Vray渲染背后所发生的事情)。
5、在三种渲染器中,Mentalray界面最不友好,操作最繁琐。
以上就是对于这个场景我所理解到的东西,希望对各位理解三种渲染器的GI技术有所帮助。
-----------------------------------------------------------------------------
接下来我们讨论另一个关于GI的话题,就是物理算法(unbiased,无偏差算法)与模拟算法(biased,有偏差算法)的比较。
长话短说,我直接给我了解到的结论:
|
渲染器 |
GI技术 |
特征 |
噪点类型 |
备注 |
|
Arnold |
Arnold GI |
Unbiased(物理算法) |
|
|
|
Vray |
Irradiance Map |
Biased(模拟算法) |
|
|
|
Vray |
Light Cache |
Biased(模拟算法) |
|
|
|
Vray |
Brute Force |
Unbiased(物理算法) |
小颗粒噪点(noise) |
算法类似arnold GI |
|
Vray |
Photon Map |
Biased(模拟算法) |
|
|
|
Mentalray |
Final Gathering |
Biased(模拟算法) |
算法类似Irradiance Map |
|
|
Mentalray |
Global Illuminantion |
Biased(模拟算法) |
区域闪烁(flicker) |
算法类似 Photon Map |
如果你在Mentalray中采用的是FG+GI的组合,对应到Vray中就是Irradiance Map+Photon Map的组合,也就是说FG与Irradiance Map是类似的技术,GI与Photon Map是类似的技术,遗憾的是Photon Map比较老旧,效果也不够好,已经被更好的Light Cache所取代,而mentalray还只能继续用Global Illumination。
Mentalray没有物理算法的GI技术,Vray既有物理算法又有模拟算法,Arnold只有物理算法。
Vray的Brute-Force(暴力准蒙特卡洛算法)与Arnold GI的算法是类似的,也就是说,如果在Vray中采取BF+BF的GI组合,得到的渲染结果与Arnold的渲染结果会更加相似(几乎一模一样),见下面4张图:
以上两张为Arnold与Vray中depth=3时,同时采取暴力算法的渲染图对比
可以下载图片到nuke里认真比对,图片我上传的是无损png文件。
通过渲染测试数据我们可以发现,Vray采用BF+BF的GI算法的情况下,得到的渲染结果与Arnold几乎一模一样!在同样采取暴力算法的情况下,Arnold较Vray的渲染速度优势在于低depth的情况下,一旦depth变得很高的时候,Arnold的暴力算法会比Vray更慢。当然,我只是针对这个场景的测试结果说话,并不敢保证在所有场景渲染中都能得出这样的结论。
至此,Arnold是不是一个“那么神奇”的渲染器,我想认真的读者可能会在心里小小怀疑一下了!
-----------------------------------------------------------------------------
最后我再说说Vray GI的物理算法+模拟算法的混合模式(hybrid
GI)。在Vray中,采用混合模式的组合就是BF与IR、LC、Photon map的组合搭配,比较常见的组合有:
Irradiance Map+Brute Force(目前没发现这个组合有什么好的地方)
Brute Force+Light Cache(有效减少BF+BF的噪点问题)
不得不服,用Vray的Light Cache技术去计算二次GI照明,配合Brute
Force去计算一次GI照明,无论是画面质量还是渲染时间都远远优于纯暴力算法。
在本文的所有用到Vray Light Cache渲染的图片中,LC的参数除了depth外都保持的是默认值。
以上的结论都是针对静帧渲染。动画渲染的结果会是怎么样?是不是各种GI技术会出现大跌眼镜的结果,也许我会另写一篇评测文章,还请继续关注我的博客,不用记地址,只要百度搜索“cg风火连城”或者“cg烽火连城”即可。
作为本文的扩展,来说说个人目前对这三款渲染器的认识:
关于Mentalray:
1、俗话说得好:不怕不识货,就怕货比货。只要你用过Arnold或者Vray,你就不想再回到Mentalray的世界,因为在不带二次开发的情况下,他的界面不友好,不亲切,不好用(相对而言)。
2、Mentalray的硬伤在Global
Illumination这个技术上,虽然现在新出了个什么Irradiance
Particles技术,但好像是用来取代FG的,GI仍然没有改变。也就是说,你用Mentalray很难得到高细节的全局照明渲染效果。
3、Mentalray的另一个硬伤在于同时开启FG+motion
blur,速度能慢十倍以上,基本不能用。在可以预见的未来这几年,直接开运动模糊渲染的片子应该会越来越多,而Mentalray基本不能让你这么干。
4、总而言之,mentalray已经老了,不怎么进步了。我的意见是你想用arnold或者vray就去用吧。
关于Arnold:
1、Arnold是目前逼格最高的商业渲染器。最好入门,界面最简单。看起来就像是深刻了解了艺术家不喜欢看大量参数的特点,因此参数不多,但如果要深入了解Arnold或者在实际工作中碰到了问题的话,Arnold也需要不少的渲染器理论知识才能顺利解决问题。
2、Arnold的IPR非常优秀,交互性非常好,这点上完胜Vray和mentalray。Vray的IPR是另一套模式,那套独有的IPR模式居然不支持3s材质,导致Vray
IPR的实用性打了折扣。
3、Arnold在实际生产使用过程中,一定要学会节约计算资源,也就是说,你要懂场景为何渲染慢了,慢在diffuse、glossy、
reflection还是透贴?怎么提速?如何寻求效果与质量的平衡点?否则你有可能碰到慢的惊人的情况,如果你不懂优化,说不定你会开始怀念Mentalray。
4、Arnold的暴力算法决定了它的渲染时间与场景精度设置几乎呈线性关系,也就是说你场景中每像素的采样光线如果是100的话,那么你的采样光线增加到1000的时候,渲染速度恰好慢十倍。关于这个知识点我有空再写一篇博文。
5、采用了暴力算法的渲染器(arnold与使用brute-force模式的Vray),噪点只能随着精度的提升而减少,永远无法消除,颗粒感永远伴随着你,只是精度高了可能会看不出来。
6、Arnold的暴力算法没有传的那么神,速度也没有多快,没错低精度确实很快,但精度开高了也真能慢的你服气。在高GI反弹次数的时候,渲染效率甚至不如Vray使用BF+BF。
关于Vray:
1、在三款渲染器中,Vray是商业化程度最高的一款,UI设计非常人性化,各种模块分布也让你能感觉出来这款渲染器充分考虑到了用户的需求和使用习惯。Arnold的界面设计倾向于简单粗暴,Vray的界面设计倾向于贴心,而Mentalray的界面设计让你感觉“你爱用不用,不用拉到”。
2、Vray同时拥有模拟GI算法与物理GI算法,还可以混合使用,在技术选择上十分灵活,但灵活的代价就是你要掌握更多的GI技术知识才能用好它。
3、你也许没听说过,但Vray和Arnold一样,可以同时开间接照明+置换+景深+运动模糊,只要选择好gi引擎,渲染也不算太慢。
渲染器说白了就是对像素进行数学运算的工具,是纯理性的玩意儿,要说“mentalray能实现的渲染风格arnold就实现不了”,或者“只有arnold能做写实风格,其他都不行”等观点,本人无法苟同。在把工具用好的基础之上,渲染效果上的差距只在于渲染师的艺术功底。
全文完
本文仅代表个人观点,如果有不正确的地方欢迎指出。

加载中…