想要玩好一款渲染器,确实不是辣么简单的事情,往往越是简单的问题,都蕴藏着深刻的道理,
本来是想说说阿诺德材质的,由于基本功不扎实,学会了材质依然也渲不出好看的东西,
本篇继续来对渲染器的基础内容进行梳理,做渲染的之前的大致流程,其实应该是:
模型 -- 灯光 -- 材质 -- 渲染
材质未上,灯光先行,才是渲染的正确姿势,
了解素描的童鞋应该都知道,对于一张好的素描作品,上色是再容易不过的事情了。
上灯光是为了明确场景的光影变化,有了一张不错的明暗图,上色也只是顺带的事。
说到灯光,我们就需要对光线与场景模型有所了解。
之前也转载过一些相关内容:https://www.btbat.com/meigong/zonghe
但总觉得与渲染器并无多大干系啊,,,辣么我们现在就结合 Arnold 渲染器来讲解光的问题。
在现实世界里 , 产生光线的介质主要来源于天光(阳光)和灯光(灯具、霓虹灯、自发光),
而在 Arnold 等大部分渲染器中也一样,天光(Arnold Sky\Skydome_light),其他的则是模拟灯光。
之前我们说过 Arnold 的采样 设置 Arnold(C4DToA)阿诺德渲染教程(8) – Arnold 渲染设置 – Main- 采样设置
下面就来说说,光线深度具体是如何运作的:
[pay point="5"]
漫射:
首先我们来展示一下直接照明,我们使用一盏聚光灯,将其聚焦在球体的表面,
光线深度使您可以配置相应的设置,用来基于光线类型限制光线递归。较高的值会增加渲染时间。
总数(Total):
指定场景中任何光线的最大总递归深度(漫反射 + 透射 + 镜面反射 <= 总计)。
漫反射:
定义最大光线漫反射深度反弹。
如果漫反射为零,则相当于禁用漫反射照明。
增加深度会将更多的反弹光添加到场景,这在内部场景中可能尤为明显。
您可能会注意到,逐渐增加漫反射反弹时会出现细微的差异。
例如,当“漫反射”(Diffuse)设置为 1 时,立方体顶部没有照射到灯光,
而当“漫反射”(Diffuse)设置为 2 时,则可以看到灯光。
并将渲染设置中的光线深度--漫射设置为 0,这时候,我们会看到,场景中,只有被聚光灯直接照射的地方被渲染出来,然而球体的轮廓、阴影等等,都没有任何显示。
PS:这里想展示的“直接照明”,也就是光直接照到的物体的表面的光。
下面我们将漫射设置为 1,同时为了渲染效果提高了漫射的采样率,这时候,我们可以看到,
光线直接照射到球体表面,经过 1 次反弹后将地面照亮。这就是所谓的间接照明。
这里,我们再次将漫射设置为 2,可以看到光线经过球体表面经过 2 次反弹,从地面又反弹回球体身上,将小球的轮廓照亮。
我们再次加大漫射数值,让光线反弹次数更多,然而发现除了阴影部分被照亮之外,其他地方并没有太大的变化,
通过上面的说明,一方面让我们了解直接照明和间接照明的概念,然后了解下漫射与间接照明的关系。
同时我们也看到噪点的问题,并不是提高采样和加大光线深度的能解决的,在本例中是因为场景的照明不足引起的。
为了说明这一问题,我们通过增加场景中的灯光,并且噪点的采样采样值仅为 1,可以看到噪点得到了很好的抑制。
漫射次数时阿诺德计算反射照明或者全局照明的射线递归次数的。
结合上面说的,我们这里来说一下光线深度 - 总数的问题。
它是控制(漫射、镜面、传输等)这些光线深度最大递归次数,
也就是说,它被设置成多大,那么下面的这些设置的最大值也会被它限制住。
比如:总数被设为 1,漫射值设置的再大,也只能为 1,不能超过总数值。
漫反射是指光线被粗糙表面无规则地向各个方向反射的现象。很多物体,如植物、墙壁、衣服等,其表面粗看起来似乎是平滑,但用放大镜仔细观察,就会看到其表面是凹凸不平的,所以本来是平行的太阳光被这些表面反射后,就弥漫地射向不同方向。
镜面&反射:
定义光线可以镜面反射的最大次数。
包含多个镜面反射曲面的场景可能需要更高的值,这样看起来才正确。要获取任何镜面反射,需要的最小值为 1。
镜面值为 1 时,场景中的镜面反射只反射一次小球。
镜面值为 2 时,场景中的镜面反射的小球被反射 2 次。
PS:在这个球的背面还有面镜子,与正面形成反射。
在现实中像这样的情况,想象一下,两面镜子面对面放置,那么应该会有无限反射,也会无限多被发射的物体。
这在渲染器里,就成了无限循环,机器恐怕要宕机都出不来,所以镜面反射的数量一般会被严格控制的,
除非用于艺术效果,一般设置为 2~3 即可。
传输&透明
光线可以折射的最大次数。
包含多个折射曲面的场景可能需要更高的值,这样看起来才正确。
具有双面厚度的玻璃曲面。
当传输为 1 的时候,球体并没有呈现出透明状态,
传输为 2 的时候,球体开始呈现出透明状态。
传输是用来控制物体的透明度,数值越大透明度越好,一般建议 6 左右。
Refraction 体积(Volume)
此参数设置体积内多元散射的反弹数(默认设置为 0)。这在渲染云等体积时非常有用,因为多元散射对其外观有很大的影响。
透明深度(Transparency Depth)
允许的透明照射数量。值为 0 时,对象将被视为不透明。下面的示例包含六个玻璃立方体,它们依次堆叠在一起。如果因“透明深度”(Transparency Depth)所施加的限制而导致光线数不足,则 Arnold 会返回黑色。增大该值会允许更多的光线穿过透明曲面。在这种情况下,将“透明深度”(Transparency Depth)设置为 12 足以获得良好的结果。
[/pay]
666666
666
6666666666666666666