由VRay for SketchUp参数面板说开去-8-图像采样器

文/韩世麟

图像采样器

我建议所有坚持读到这里的同学,往回找到“七”这个章节,读一下第七节的第一段话,这个章节太长了,回想一下图像采样器和间接照明采样器的关系是很重要的。

图像采样器,不严格地说又叫抗锯齿采样器,它的作用,是根据模型信息和之前所采集的光照信息,绘制出纹理清晰,表面平滑,边缘平滑的图像,它的参数平衡着渲染的时间与质量,合理的参数可以帮助你在满意的出图质量下节省时间。仅仅调节它的参数,就可以让你得到一个20秒左右的测试渲染图,或是一个30分钟的正图。

关于图像采样器,推荐大家去VeryCD搜索如下关键词:speed vs quality,会搜索到关于图像采样器的教程,甚至有中文翻译版,非常透彻。这里我只从专业应用的角度,针对建筑系同学讲一点参数上的东西。

图像采样器由两部分组成:第一部分叫图像采样器,第二部分叫抗锯齿过滤器。

图像采样器决定了抗锯齿样本的采集方式,抗锯齿过滤器决定了处理这些样本的计算方式。

抗锯齿专题

为什么要抗锯齿?

当需要在数字媒介上表现自然界物体的时候,需要抗锯齿。换个形象点的说法,假设你要在一个网格上表现一条曲线,问题就会出现了,为了表现这条曲线,如果网格上的每个点要么被填满,表明曲线的存在,要么是空白,表示曲线没有通过这个格子,不允许有部分被填满的格子(因为每个格子已经是最小单位了),那显然这条线不是“曲”的,整条线会像贪吃蛇一样,是由一个个方块拼凑的。为了使计算机屏幕上所显示的曲线是平滑的,抗锯齿算法引入了灰色的格子,根据曲线在这个格子中存在的权重,决定这个格子是倾向黑还是倾向白。这样一来,从足够远的地方看,或格子足够小的话,我们就会在数字媒介上,看到平滑的曲线。Windows最经典的画图软件没有抗锯齿的功能,它所绘制的曲线边缘是锯齿状的,大家可以自己看一下。而photoshop在4.0版本以后引入了抗锯齿算法(请注意是4.0而不是CS4)。

在PS中,圆形的边缘是有灰阶的,在100%视图下,看起来是平滑的边缘。

甚至,抗锯齿不仅仅表现在边缘,还表现在表面,比如在现实世界中一盏灯在一个单色表面造成的退晕效果,绘画中一笔由浓到淡的笔触,都应当是连续的,而在数字媒介中表达的时候,则必须用特定的颜色值去赋予表面的每一个点,数值不可能是连续的,但是足够细致的颜色色阶细分数可以模拟连续的色彩,这就是为什么显示器设定有8位色(2的8次方,256色),16位色(65536色),24位色(达到人眼分辨极限),32位色。

在vray渲染中,根据之前所得到的光采样数据,在图像采样器中进行抗锯齿采样,并通过抗锯齿过滤器的算法表达出来,这就是图像采样器的工作流程了,抗锯齿采样越精细,边缘就越平滑,表面也越平整,颜色过渡也越自然,噪点和瑕疵就越少。当然时间也就越长了。

下面来看第一个图像采样器,固定比率:

固定比率只需要调整一个值,就是它的细分,默认细分为1,1的意思是说,vray在确定图面的每一个像素的颜色时,会参考1个样本。此时的出图质量会非常差,瑕疵,锯齿都会非常明显,曲线边缘的效果和windows画图一样,没有抗锯齿计算(因为没有更多参考数据),但是由于几乎没有进行采样计算,所以出图会非常非常的快,并且,此时场景的光感是与正图无异的,因此,在调整灯光的时候,它就是标准的测试参数了。如果调高参数的话,比如调为4,就意味着每绘制一个像素,要参考这个像素周围4的平方个样本,也就是16个样本,此时你会开始看到物体边缘的平滑效果,此时勾选下面的抗锯齿过滤器,调整不同的计算公式,将会看到不同的抗锯齿效果,想达到正图参数的话,一般要设置细分为16。此时每一个像素的颜色都会被256个样本共同决定,这就是固定比率的意思:“每一个像素的样本比率是固定的,每个点都一样的精度”。 用这个采样器出正图会非常非常慢,因为计算量过大了。

这个采样器一般就用来测试渲染,细分1即可。

到这里大家可能会想到,没必要每个点都采这么多样本啊,和光采样一样,更多的采样只集中在细节,对于平整的表面进行更少的采样,多好呢。

后面的两个图像采样器都有一定的自适应性,它们会根据像素的重要程度来安排不同的采样精度,达到高效的样本采集。

这是自适应DMC采样器:

这里就通过最小细分和最大细分来给采样器设定一个精度范围,噪波阈值控制噪点之间的色阶差,这个色阶差越小,颜色的过度就越平滑,关于噪波阈值我想用一个不太精确的图来说明:

噪波阈值限制了图面的每两个像素之间最大的色阶差,这个值越大,两个点之间的色差就越大,值越小,点与点之间颜色的过渡就越平滑。一般来说,正图的噪波阈值在0.01-0.005左右,但是这样的话会计算得很慢。

所以噪波阈值决定了图面的精致标准,即“我希望图面有多精细”(请注意这只是一个希望)

但是最大细分则决定了封顶的精度,即“我实际上最多能有多精细”。

那么在出图的时候,有两种情况:

噪波阈值设得很小(高质量参数)比如,0.001,但是最大细分只有4,那么即使是在最细节的部分,最多也就计算到4的精度就停止了,0.001形同虚设而已,这么少的样本根本达不到这么精细的目标。图面会比较粗糙,计算时间也会比较短。
最大细分很高了,比如16,但噪波阈值只有0.1,最后的结果估计和最大细分4差不了太多,因为两个相邻像素点的色差一达到0.1,用户就满意了,计算停止,更高的采样根本形同虚设。
总之就是这两个参数都控制计算的停止,要么达到噪波阈值,要么达到最大细分。所以给出一套合理的经验值就比较重要了。事实上默认参数最小细分1,最大细分16,噪波阈值0.01,已经是正图参数了,如果你想设定的更高,请使用最大细分24,噪波阈值0.005。

另外说到它的自适应性,在vray中,在计算一个像素时先判断其重要性,距离镜头越远的像素,和越暗地方的像素,重要性越低,在计算时就会越趋于采用最小细分,离镜头越近,越明亮的地方的像素,就越接近最大细分,通常来讲使用这种自适应的计算方式,与固定比率相比,达到同样的效果,时间能节省一半或更多(因场景而异)。

这个自适应DMC采样器非常适合场景材质光影复杂,模糊效果多的场景(因为在vray中所有的模糊效果都是由DMC引擎产生的,所以它在处理模糊数据时非常高效)。

下面来看第三个图像采样器:自适应细分

这个采样器的思路不同于之前的两个,它是唯一一个允许不足采样的图像采样器,这种采样方式在处理细节少,表面平整的场景时有极大的效率优势,它的绘图方式是,通过对图面的自适应性采样,在模型的边界,缝隙,转角,贴图处使用过采样(over sampling),在平整光滑的表面,使用不足采样(under sampling)。可以看到它的参数由比率控制,比率不同于细分,它是一个以4为底的指数,最小比率-1的意思就是,在平面处,使用4的-1次方的采样精度,等于1/4,也就是4个像素共用一个样本,在细节处使用最大比率2,也就是4的2次方,每个像素16个样本。它的特点是在不足采样的地方,必须使用插补计算的方法编造出连续的色彩数据,优点是平面颜色过渡会非常完美,但是同时就有可能失去细节,比如我渲染一张网格,如果最大和最小比率全部都是-1的话,结果就像下面这样,可以看到较远的地方的直线全部变成虚线的感觉了,这是因为采样时并没有采到那个位置,那个位置本来有线的,但是在绘制的时候根据周围的面,就编造了那个地方是面。

这时候把最大比率调回2,就可以得到很不错的结果:

通常来讲,这个采样器使用默认值:最小比率-1,最大比率2,就可以认为是正图参数了,更进一步的话,可以采用0,3的组合。

这个采样器倾向于把表面“抹平”,它适于有大量平整表面的模型,贴图也不要很多,否则就没有效率了。它是渲染体块分析图的利器,速度快,表面会非常平滑,颜色过渡也会很完美。

最后说一下抗锯齿过滤器,一般出正图时都会使用Catmull Rom,在大多数情况下,它会获得最清晰锐利的边缘,但是当场景中有明亮的自发光材质,毛发,或密集网格时,很容易造成这些细节的边缘过于夸张而走样。

Area算法大小可以在1.5-0.5之间调整,数值越大越平滑,越小越锐利。

以下三个的说明从网络摘抄:

Box(方形)类型的过滤是在过滤区域内使用均等的权重把采样叠加在一起,在这些过滤方法中,Box是最快的,它的数值最好设置为1.0。

Triangle(三角)类型的过滤使用了线性的曲线来影响像素,这样在采样区的边沿很少会发生过滤现象。Triangle过滤的数值最好设置为2.0。

Lanczos类型的过滤使用了窄钟状曲线,这种曲线可以在采样区域的边沿产生负值,它的数值最好设置为4.0。

总之,正图时别忘了开这个抗锯齿。测试时开不开对速度影响不大。

八,专题:渲小图,出大图

渲小图出大图是在制作建筑表现图时非常常用手法,因为建筑表现图通常需要较大的分辨率,但是其实对于材质以及光影并不需要达到逼真的级别,对很多建筑人来说,图大而清晰就行了。

而且在建筑出图的时候,往往要渲染4000甚至6000分辨率的图,这样的一张图,在前期进行光采样时,一定会花费非常非常多的时间(对于笔记本电脑来说可能是好几个小时),内存也不一定够用。

渲小图出大图的思路就是,把光采样和图像采样的过程分离,用一张小图采集的光数据,提供给大图进行图像采样。

操作步骤如下,首先打开全局开关:

勾选不渲染最终图像,这样一来,点击渲染之后,只会计算光照数据而不会进行图像抗锯齿采样。

然后在输出面板中选择光采样的图幅大小,原则是边长大约在正图的三分之一到四分之一左右,长宽比与正图一致。比如我要出4000X3000的正图,那么光采样图幅就大约1600X1200,1200X900也可以。

然后设置间接照明引擎,必须是发光贴图+灯光缓冲的组合,发光贴图设置正图参数:最小比率-3,最大比率0,半球细分50,插补样本35(室内的话请相应提高)。

灯光缓冲细分800-1000,有需要的话请把取样大小改为0.01。

点击渲染,vray会开始计算光样本。当计算完毕后,打开发光贴图卷展栏,拖动右边的滑条往下看:

点击保存,选择一个英文路径,并起一个英文文件名,这时会有一个后缀为vrmap的文件被保存,这个文件就是发光贴图数据。我一般会存在D盘根目录下,并且以数字或拼音命名。

同样的进入灯光缓冲卷展栏,向下拖动,点击保存

也存在英文路径下,起一个英文名,这时会生成一个后缀为vrlmap的文件,这个文件就是灯光缓冲的数据。

光数据采集完并保存好了,我们就可以出正图了。

首先,取消不渲染最终图像的勾选。

在输出中设置正图的长宽:

设置图像采样器为正图参数:

或者:

然后我们要使vray不再重新计算该分辨率下的光照(4000X3000),而是直接调用1600X1200的光照文件。

打开发光贴图卷展栏,往下拖动

数据模式由“单帧”(Single Frame)改成“从文件”(From File),点击浏览(Browse),选择刚才保存的发光贴图数据(*.vrmap)

同样打开灯光缓冲卷展栏,往下拖动

数据模式同样由“单帧”(Single Frame)改成“从文件”(From File),点击浏览(Browse),选择刚才保存的灯光缓冲数据(*.vrlmap)。

至此,设置完毕,点击渲染会看到vray直接跳过光采样过程开始出正图。使用本方法,光影会在细腻程度上有一些损失,但是图面的清晰程度非常高,非常节省渲染时间。

  • 请注意,为了保证我能看到所有留言的提示,留言将通过审核后才会显示,请不必重复留言。
韩世麟

韩世麟

站长,天津大学研究生,天津人
存为书签: 本文的固定链接.

26 条评论

  1. 之前我渲染小图时都是用低参数,出大图时用高参数,低参数有影响嘛?

  2. 为什么我按照小图出大图的步骤渲出来的大图最后会变成五颜六色的- -阴影全变成亮绿了……

  3. 学长,我用su2015按照你的步骤,渲小图,出大图时,发光贴图和灯光缓存的文件都英文保存好了,然后到那个载入的时候,没法载入啊?为啥?从文件我也选了,后面那个文件的没法选中。

  4. 老师 灯光缓存哪里选择from file 后面browse是灰色的 不能选择

  5. 学长好!为什么2.0的自适应DMC里没有了noise thresh,多了color thresh,难道这两个是一样的?

  6. 我发现在看学长的vfs公开课之前应该先把这几篇干货看完,这样才能事半功倍。

  7. 学长我用文章里的方法渲小图出大图 为什么还是非常慢 是不是电脑的问题

  8. 还有渲不完的图有没有办法保存渲染进度 下次开机继续渲 因为晚上要熄灯

  9. 韩老师问一下 渲染完光子图 再改材质原来的光子文件还能用吗?看到很多教程都是粗调材质-试灯光-渲光子-再细调材质。这样做的基础是材质不能变更太大吗?还是材质对光子根本就没有影像?

  10. 谢谢韩老师,多问一句,vray for su 和vray for 3dsmax 效率和质量会差多少啊?如果同样的设置参数,效果和时间是一样的吗?好像3dsmax vray都出3.x了 su的还在2.x 。有必要把su的模型导到3dsmax提高效率或者质量吗?

  11. 谢谢拉,老韩貌似你好闲啊…基本都秒回呀 哈哈~~~

发表评论