大家好,我是逆水。今天我们来学习一下灯光缓存的其他参数。
这里边默认比例是屏幕,他还有一个世界,
如果你选择世界,那上面采样大小的0.02意思就变了,
他会根据你当前场景设定的单位,
比如我们看下,我用的是毫米,
系统单位设定是毫米,显示单位也是毫米,根据你设定的单位,那么你设定的这个值就会变成0.02mm。
那么这是一个什么样的概念呢?也就是一个块结构,大小是0.02,我们可以看下这个书的大小是多大呢?
我们可以看到一本书的宽度是327mm,也就是30厘米左右,那么0.02mm的块结构,你可以想象它有多小。
所以你改变这个比例的时候,一定要注意这个值有可能变的非常非常的小,因为他跟屏幕的意义就不一样了。
那么这两者到底使用哪一个呢?其实很简单,比如我们窗户外面有辆车,在外面当前这个摄像机里看起来就好像跟这个书一般大,如果外面单位比例使用屏幕的话,那么他并不在乎这个车的实际大小,而是关注他在当前这个视图里他的显示是多大,所以虽然这个车可能有半个房子那么大,但是他也会当书那么大来处理。
所以他上面的采样块有多少个呢?比如这个书上面有二十个采样块,那么外边一个很大的车,那么他的采样块也是二十个。一样进行处理的。
而如果你选择世界的话,他就会根据物体实际大小,并不在乎远近。比如使用比例的话,这个书是二十个采样块,那这个远处的汽车就可能有两千甚至两万个采样块。因为他会考虑他实际的大小。这就是这两个单位的特点。
那我们看一下使用屏幕这种方式有什么缺点。使用屏幕这种方式,比较适合做效果图。
而我们要做一个动画,我们走向窗外,逐渐走向汽车。我们要做这样一个动画的话如果选择屏幕就会出现这样一个问题,因为之前这个车是比较小的。当我们推进离车比较近的时候,车在当前摄像机视图里所占的比例越来越大。所以开始这个车有二十个采样块,当我们的摄像机逐渐推进的时候,占的比例越来越大的时候,他的采样块会越来越多,采样点越来越多,这样的话就会导致闪烁出现。所以渲染完的话这个车可能一闪一闪的。因为他在不断的增加光子。
如果我们使用世界比例单位的话,就不会出现这样的问题。因为无论离这个摄像机近还是远,都是按照他的实际比例进行采样的。进行采样块大小这样一个布局。所以这是两者的不同。
如果说的简单点就是,动画你要用世界,效果图要用屏幕。但是一定要记住,如果你改成世界的话,这个值可能会非常小,使你的渲染时间大大增加。
那以我们这个场景而言,单位改成世界的话,这个采样大小估计要改成5或者6。
我们再看一下这边其他几个参数。存储直接光,他的意思是存储直接照明信息。不是说直接光照效果,这是两个概念。
这是灯光缓存为了减轻首次引擎压力的选项。默认是打开的,为什么要打开呢?因为一般灯光缓存是用在二次引擎上。
首次引擎使用发光图,二次引擎选择灯光缓存,
然后我们来看一下原理图,
比如我们打开发光图反向图解,
比如说有一条光线照射到屋顶,他发现屋顶有一条光线他会运算这个点的间接照明和直接照明。也就是发光图进行运算的,因为他是一级反弹。所以他不但要计算这个点的间接照明,还要计算这个点的直接照明。
我们这种组合开始渲染的时候,灯光缓存会把块结构建立起来,也就是说这个地方间接照明有多亮,发光图不用运算了。
因为灯光缓存已经把他算完了。那么直接照明很显然还是得使用发光图来进行运算。
如果在灯光缓存里边我们打开存储直接光,那么他建立块结构的时候就会把这个点的直接照明信息也记录下来,这样的话发光图在运算这个点的时候,直接照明信息和间接照明信息灯光缓存都给算好了。发光图都不用自己再算了。这样就减轻了发光图的压力。
但是很明显这样存储的直接光是不如发光图自己运算的好。但是差异并不是太大。
如果我们只使用灯光缓存,
进行运算的话,我们可以看一下效果。存储直接光那么把这个打开就是纯粹的计算每个块的直接照明和间接照明。注意不是光照效果。所以你所看到的高光,这种过度的变化,都是没有的,他只记载照明效果。也就是说他有多亮就受到多少照明。
我们渲染一下,
很显然,这种效果不是我们想要的效果。那如果把存储直接光关掉,
渲染一下,
我们跟之前的图对比一下,
那大家看一下存储直接光产生的效果完全是不一样的。你打开存储直接光,那么他的目的绝不是为了最终渲染,因为他只会计算直接照明和间接照明的效果,不会整体的灯光表现效果。所以产生的是这样一个效果。
那么也就是说打开存储直接光纯粹就是为了他当二次引擎的时候用的。也就是为首次引擎提供信息。
如果你想使用灯光缓存把这个图最终渲染出来,那么你当然要把他关掉。不存储直接光,而让他运算光照效果。这就是这个选项的意义。
默认打开,就是我们通常会把灯光缓存作为二次引擎。
我们再看其他的参数。比如使用摄像机路径,我们仍然略过去,我们后面再来讲解。
下面的显示计算相位,我们看到灯光缓存的计算相位不是一块一块扫的,他真正的体现了逼近式算法的特点。点显示计算相位,渲染一下,
相信大家已经看到这个过程了,也就是渲染显示计算的这个过程,你要不打开他则没有这个过程。
但是这个过程中间被我终止了,大家可以看到这个块结构是很整齐的这样分布的。
我们回头看一下发光图,大家还记得发光图吧,我们如果点显示采样,有一个随机采样,
如果不点随机采样,他是一种标准的阵列,这个我们曾经说过。如果点随机采样呢?就是这种采样没有这么死板,比较自由一点,产生的渲染图也会更加真实。
而我们看一下灯光缓存里面有一个自适应跟踪,
也就是运算反弹的时候是否使用自适应跟踪。
使用自适应跟踪也就是指这个块的排列,不是那样的死板。那么现在我们打开自适应跟踪再进行渲染,
没有像刚才那样的阵列排列,这个原因就是我们打开了自适应跟踪。
所以打开自适应跟踪可以让你的块结构分布的更加合理一点,渲的图更加自然一点。这就是自适应跟踪的一个特点,他的优势。
同时你把它打开的时候可以选择是否仅使用方向,
点一下仅使用方向,他将只考虑从摄像机这个角度进行判断的自适应。否则的话是根据整个场景的结构进行判断的。这个选项只有你打开自适应跟踪的时候才能使用,差距并不是太大。
主要这两个选项只是为了让图更柔和一些。这就是为什么这两个选项在反弹旁边。
那么今天,关于灯光缓存的这一部分参数我们先介绍到这里,如果你觉得文章对你有帮助,希望将网站分享给你的朋友。感谢大家支持!
请先
!