本帖最后由 Jessesn 于 2017-5-7 16:56 编辑
本教程译自官网asgvis.com.
因本人英文水平有限,如有错误欢迎各位朋友指正,并一起讨论.谢谢!
未完请不要插队.
如有转载,请注明出处:bbs.rhino3d.asia
何谓焦散?
焦散,就是你能在物体周围(物体)因反射或折射而看到的一种很漂亮的光线效果.光源越小(或者放在越远的地方),
你会得到更尖锐更漂亮的焦散效果.下边的几种折射焦散效果.
第一个例子是酒杯,由阳光产生焦散,一种很锐利并且很漂亮的焦散类型.许多光线因折射而交织在一起.
第二是个同样的酒杯,它是由阳光能过一边的一个大的窗子(可看作是一个大的光源)照射进来而产生的焦散效果,属于较模糊的一种类型.
这是一个反射焦散效果,是由阳光照射产生的.
下边的是阳光通过窗子照射进来而产生的焦散.
而下边这一张是最普遍的,常见于戒指所产生的焦散
上述介绍的是现实生活中的焦散现象,那在CG中该如何去模拟呢?
CG焦散
在V-ray里,有很多方法可以产生焦散效果,每一种都有它的优缺点,它取决于在你渲染中焦散效果有多大的重要性.要记住,
不同方法所产生的是同一种效果,你没有必要同时使用二种方法来产生同一种效果或者做出重叠的焦散的效果.
通常在V-ray里,当你开启一种方法时,另一种会自动的关闭掉.后面会详细介绍.
折射焦散
我们先从折射焦散开始说起,因为它用的很多并且有很多方法来做出折射焦散.
在V-ray渲染中常问的一个问题是”为什么光线不能穿透具有折射性的物体?”("why isn’t the light going trough my refractive objects),
在并不高级的渲染器里,光线被默认是穿透透明物体的,事实上,这是一种不真实的焦散效果.而且许多人并没有意识到.而当他们开始使用V-ray时,
便会马上注意到在透明物体的背后会产生一团黑的阴暗(而不是一个光斑,即焦散效果).
(我猜测,这里说的是拿VR这个"高级的渲染器"与之前我们所用的渲染器相比,在同样的场景中,光线在"低级渲染器"里是默认直接穿过我的透明物体的,
即不是按照物理特性来进行折射的.而在"高级渲染器"里,如VR,光线并不能马上穿透物体,而是要加以设置,即添加焦散效果.以上是根据文章意思而进行的猜测,
因为我也没有用过所谓的"低级渲染器",而是直接从VR开始学,所以无从比较.这里向前辈们求证一下)
OK,我们继续~~~~~~~~~
打开场景文件 caustics_01.3dm.这里有一个地面,三个玻璃材质的物体,一个使用默认参数的点光源,渲染得到如下图
从上图很明显地可以看出没有表现出所期待的玻璃效果出来,有三种方法能让光线穿透物体,即产生焦散效果.
1,使用FOG参数
2,GI焦散
3,光子贴图焦散
现在来看第一种(很假的一种折射效果)
(仍用上边的第一个场景)到日前为止,我们并没有使用GI,我们先来看一下设置,
FOG雾色,在玻璃材质的折射层下,勾上”affect shadows”,它的作用是通过FOG设置来控制阴影的透明度,再次渲染可得到下图
在许多渲染器里就是这种透明阴影的效果,其实是一种假的焦散效果,看起来与真实生活中的完全不同.
这种假的焦散效果只有在使用”人造光”时才有用,如矩形光,点光源等,如果你只使用阳光或环境HDRI作为场景照明,那么”affect shadows”并不会起任何作用.
这时你需要开启GI焦散来让光线穿透玻璃,打开场景文件caustics_02.3dm,这个场景是基于GI照明的,渲染可得到下图
你可以看到,在圆管内部并不是黑的,所以证明光线穿透过了平板玻璃!试着打开或关闭‘affect shadows’选项,你可以看到,是不能启任何作用的.
你应该记住这个选项只对直接光有作用,即RHINO的灯光类型,天光,HDRI和具有存储光孖贴图选项的矩形灯光,并不算是的直接光.它们不产生直接光,
(但GI光却能计算直接光,当你设为初级引擎时.)
天光能穿透平板玻璃的原因是因为在GI卷展栏下默认开启了‘refract caustics’选项,关闭它再次渲染,得到下图.
内部成黑的了,因此在渲染室内场景,当你想让天光从玻璃窗进来时,这个选项非常重要!
顺便说一下,当使用点光源等直接光时,必须打开affect shadows选项以使能让光线穿透你的物体.(矩形光是个例外).
尽管它也产生直接光照,在V-ray里还是能参与到GI焦散的计算中.换句话说,你可以不必打开affect shadows选项也能让矩形光穿透玻璃物体,
为了证明这点,请打开场景文件caustics_03.3dm.渲染并得到下图
这个场景开启了GI,并只以矩形光照明(不是天光),产生了黑色阴影.这不是我们想要的.现在的问题是怎样让v-ray产生真实的GI焦散.
这里你需要一个真实的光源(来产生焦散).打开矩形光的属性可以看到,它完全是使用默认参数. ‘no decay’勾选上了,在现实中,
光传递的亮度是以距离平方的倒数来衰减的.取消‘no decay选项,那么离光源越远的物体照明就越暗.如果再渲染它,场景会变暗,
这时需要更高的亮度倍增值,60,再次渲染得到
可以看到,光线已经穿透了物体,但很模糊.到目前我们只是开了GI焦散,它的质量受GI的控制.GI的设置比较低,
下图是比较高的GI设置.打开场景文件caustics_04.3dm可以参照并比较.
OK,到此为止,GI焦散质量还是比较低的.这是因为想通过GI引擎来计算焦散不是一件容易的事.GI焦散主要用在避免天光照明时不产生黑暗区域.
如玻璃桌下边不出现黑色阴影,或在室内场景的玻璃后.
上边讲了前二种焦散效果的制作方法,但效果并不太理想.
接下来就是运用专门的焦散选项来制作更逼真的效果了.
第三种:光子贴图焦散效果制作.
如果你想得到较好的并且正确的焦散,可以使用光孖贴图来产生.打开场景文件caustics_05.3dm,场景中有些玻璃物体,还有一个点光源,渲染得到下图
为了产生真实的焦散,我们必须用到光子贴图(photon mapped)
在渲染面板下打开焦散功能,再次渲染,没有任何效果,同样地,我们需要一个距离的平方倒数的光线衰减,否则会不起作用.
打开点光源属性面板,更改直线linear衰减类型为inverse square,加大光源强度到15000,渲染可得到下图
效果如你所见,这是一个由光子贴图产生的焦散效果而不是由GI引擎产生的,它是一个独立的系统.
现在的效果并不太好,继续设置~~~~~~~~~~~
如想得到更好的焦散质量,就要先了解一下焦散选项里的一些设置作用.
Multiplier 倍增值
控制焦散的强度,它是一个全局控制参数,对场景中的所有产生焦散效果的光源都有效,
如果你希望不同的光源产生不同强度的焦散,请使用局部参数来设置.
注意:这个参数与局部参数的效果是叠加的.
Search dist 搜寻距离
当VR光线追踪撞击在物体表面的某些点的某一个光子的时候,会自动搜寻位于该点周围区域同一平面的
其他光子,实际上这个搜寻区域是一个中心位于初始光子的圆形区域,其半径就是由这个搜寻距离确定的.
Max photons 最大光子数
当VR追踪撞击在物体表面的某些点的某一个光子时,也会将周围区域的光子计算在内,然后根据这个区域内的光子
数量来均分照明.如果光子的实际数量超过了最大光子数的设置,VR也只会按照最大光子数来参与计算.
Max density 最大密度
这个参数允许你节省内存(储藏光子贴图时),无论何时在保存光子贴图时,它都会看看是否还有其他的光子在这个密度范围内
如果没有或者不变,则光子贴图不变,否则则会将其保存起来.这个参数会会使焦散效果更加平滑.
为了得到更锐利的效果,必须确定它周围没有太多的光子交织.最大光子数是个关键,将其设为10并渲染得到
效果并不太好,但已经可以看出有锐化效果了
另一个使得到高质量焦散的重要参数是光源的焦散细分值(caustics subdivs ).加大caustics subdivs 到2500或者更高
你会得到下图
从效果看,焦散有点虚,可能是最大光子数太低了,加大最大光子数到25并将焦散细分值加大到5000,渲染可得
这次看起来好多了! 场景文件: caustics_06.3dm
|