本篇教程中涉及大量光子问题,可先移步:【渲染中的光学】 有助于理解接下来所讲内容。
接下来内容可能较为枯燥,但是基础很重要,希望各种童鞋能认真看下去,掌握好这些基础概念。这对于后面的学习很重要。
P.S.新旧版本的阿诺德中,渲染设置主菜单有所不同,新版参数更容易理解:
本系列教程中演示的是旧版Arnold,但是由于我自己用的是新版的,所以截图会有新旧交替出现的情况,望周知。至于新旧版本的不同之处,有时间再仔细讨论。对于学习影响不大。
一、采样的基本概念
Arnold是基于光线追踪算法的一款渲染器,Sampling(采样)和Ray depth(光线深度)是其两个核心,理解了这两个模块的基础理论知识,才能更好的理解其他模块,本篇教程先来讨论有关Sampling。
打开C4D渲染设置,确保将渲染器设置为Arnold,在Main主菜单,可以看到相关的采样设置。
渲染时,Arnold需要获取每个像素的颜色值,然后组合在一起形成整个图像。 为了实现这个过程,Arnold会从摄像机发射出光线,当光线碰到对象后计算其表面信息,然后将信息返回。这个过程大致称为“采样”。根据采样值的大小,渲染质量也会有所不同。
简单来说,采样值等于发射到每个像素的光线数量的平方根。
例如下图中,Camera(AA)的采样值为3,其光线实际采样数量为3²=9,即采样信息栏中显示的Camera(AA) Samples: 9
从摄像机发射出的光线数量由Camera(AA)控制。Camera(AA)是一个全局倍增值,该值越高,渲染质量就越高,相应的渲染时间也会大幅增加。
Camera(AA)还是一个全局采样控制器,改变该值,会同步改变Diffuse(漫反射)、Specular/Glossy(高光/光泽)、Transmission/Refraction(透射/折射)等采样数量。
漫反射/光泽/折射等采样数量=Camera(AA)采样值² x 漫反射/光泽/折射等采样值²。
例如上图中 Diffuse Sample:36=Camera(AA)3² x Diffuse 2²
二、采样的工作原理
1、Camera(AA)(摄像机光照)
① 打开事先准备好的一个场景,包括地面、两个球体、一个抽象模型。其中一个球体是镜面反射,一个是光泽反射,抽象模型仅开启了漫反射。(后面会对材质进行详细讲解,现不用深究)
② 打开Arnold Renderer渲染设置,将所有采样值都设置为1→启动IPR Window,可以看到渲染出的图片有很多噪点,因为采样值很低。
③ 提高Camera(AA)采样值到3,(可以看到相应的Diffuse、Glossy...采样数量变为9,因为Camera(AA)是全局倍增值,平方关系,之前有讲过,不多赘述)。启动IPR Window可以看到图像质量明显提高——更少的噪点,更好的GI(Global Illumination 全局光照)和反射模糊。
④ 其他采样值不变,继续提高Camera(AA)采样值,会得到质量更好的渲染图片。对比图:
以上可以看出提高Camera(AA)会提高整体渲染质量,但通常情况下,并不会采用这种方式提高渲染质量。因为提高该值不仅会增加来自摄像机的光线数量,也会增加次级光线,比如光泽、漫反射的光线数量。(再次强调,Camera(AA)是全局采样控制器/全局倍增值)
请务必记住,Arnold Renderer是基于真实物理世界进行计算的(光子反弹,光线衰减等)。我们的需求是消除这些噪点以提高渲染质量,所以要了解这些噪点到底来自哪里,是光泽产生的,还是漫反射产生的?然后去提高相应的采样值,以便提高图片质量,而不是提高全局的光线采样值(提高全局采样值会大幅提升渲染时间及最终文件大小)。
2、Diffuse(漫反射采样)
漫反射采样定义了场景中GI光子反弹的采样数量。
如果该值为0,场景中就只有直接照明(没有光子反弹),如果该值大于0,场景中的光线碰到对象表面后,就会沿半球状进行传播,如下图:
当提高Diffuse 即漫反射采样后,Indirect diffuse rays(间接漫反射光线数量)就会增加,进而降低间接漫反射的噪点,提高GI光子反弹质量。
示例:
打开之前的场景,将Diffuse设置为0,其他采样值为1。可以看到,GI间接照明消失了,光线没有照到的区域就会变得一片漆黑:
只要Diffuse的值大于0,就可以看到间接照明效果:
Arnold 会自行修正物理光照效果,所以我们只需要考虑怎样降低噪点,提高渲染质量。
为了降低噪点,我们可以提高漫反射采样值,也可以提高Camera(AA)采样值,但是这样会提高所有类型的采样数量,所以如果确定噪点来自GI光子反弹,仅需要提高漫反射采样即可。一定要有针对性的提高采样值。
请务必记住两件事:
① 漫反射的实际采样数量=Camera(AA)² x Diffuse²
② 谨慎提高采样值,这会导致渲染时间大幅增加,如果噪点过多,应逐步提高采样值。
3、Glossy / Specular(光泽【旧版】/镜面反射【新版】)
基本上光泽采样控制着间接模糊(光泽)反射的质量。
当光线碰到较粗糙的表面时,就会产生模糊反射即光泽反射(光泽反射介于镜面反射与漫反射之间)。
光泽反射可以控制反射出来的光线数量,提高该值可减少光泽反射的噪点。
示例:
① 打开准备好的场景(材质较之前有所不同)→材质→完全关闭漫反射,Weight(权重)为0 →打开Specular(高光),设置Weight(权重)为1,设置一定的Roughness(粗糙度)(注意Arnold的高光涵盖了反射与高光两个概念)→得到模糊反射效果:
② 打开渲染窗口,将Camera(AA)设为1,Glossy设为2,其余全部为0,可以看到:
③ 如果Glossy为0,那么间接光泽反射就会消失:
注意:光泽采样控制的是间接光泽反射(次级光线),而非直接光泽反射(主光线),所以当设置光泽采样值为0时,场景中依然会有直接光泽反射。
④ 逐步提高光泽反射、Camera(AA)、灯光采样值,直到得到满意的渲染效果:
P.S. Light samples(灯光采样)调节方法:
4、Refraction / Transmission(折射采样)
折射采样控制的是透明对象,如玻璃、水。
当摄像机发出的光线碰到内部较为粗糙的透明对象时,折射光线会在对象内部随机传播,折射采样就控制着这些光线的数量。
提高折射采样值即可降低间接折射的噪点,提高渲染质量。
示例:
① 打开事先准备好的场景( 球体和抽象对象为漫反射材质,高脚杯为玻璃材)。看一下具体的参数设置:
我们主要观察高脚杯在不同采样值下的不同效果。
打开高脚杯的材质编辑器可以看到:高光权重为1,并设置一些粗糙度(这样对象会有一定反射);反射权重为0(该反射仅用来快速模拟镜面反射效果),IOR设置为1.51(普通玻璃折射率),设置一定的粗糙度:0.25(这样可以得到毛玻璃而非纯透明玻璃效果),以及调整了其他设置,比如开启Fresnel(菲涅尔衍射)。
高脚玻璃杯还添加了一个阿诺德参数标签,关闭Opaque(不透明选项),这样才能渲染出正确的透明玻璃。
两张区域光的灯光采样值均为4,渲染器采样值设置为默认:
以上参数,渲染结果:
② 降低渲染器采样值,可以看到渲染结果明显多了很多噪点:
③ 若将折射采样设为0,那么玻璃的折射属性就消失了:
注意:折射采样仅当玻璃具有一定的粗糙度的时候才有作用,如果将材质的折射粗糙度关闭,折射采样对于对象的作用就会消失,就会得到清晰的玻璃:
④ 逐步提高光泽反射、Camera(AA)、灯光采样值,直到得到满意的渲染效果。方法同上Diffuse和Glossy设置,这里就不多说了,大家多试几次,能很明显的看出不同。
以上就是相关采样的内容,多多练习,就能熟练掌握,所有的学习方法都是一样的,不能只是纸上谈兵。
SSS和Volume indirect采样,会在以后教程中穿插介绍。下篇教程开始学习Ray depth(光线深度)。
转载请私信。
禁止私自转载!