本篇收录了多位专家用户在制作专案以VRay算图时避免算出闪烁动画的实战技巧。算出不闪烁的动画并不是只有Irradiacne map的prepass+rendering那样单纯而已,因为造成闪烁的原因并不只有不足的GI所造成的光斑会让动画闪烁,阴影的采样以及模糊反射的材质采样不足,还有大量细节与不足的反锯齿也会影响。在新版的V-Ray出现“不闪烁动画”的单一勾选选项之前,我们都还是得乖乖的手动调整相关参数: )
以下是快速介绍通用法则,最佳解决方案的简介:
FLICKERING BLOTCHES闪烁的光斑
通常是不正确或不足采样的Irradiance map所造成的,有三种状况会造成闪烁的光斑。
1、状况一:场景中只有摄影机移动,这种状况最简单,用multiframe incremental calculation的方法最棒,不会产生任何的闪烁,而且计算相当迅速;
2、状况二:单一物件,或是只在很小的区域移动,其余的物件静止不动(例如一辆车在大楼前面移动。这种状况跟状况一很类似,方法是你先隐藏移动的物件(例如那辆车) 然后做跟状况一一样的步骤,然后取消隐藏移动物件,使用3、3、状况三,每个frame GI都不同,例如:天光移动,所以GI也改变了。这种方法需要长时间的计算,我们会用“animation>prepass” 一格一格地计算GI然后再用“animation>rendering”来进行每格的内差计算(“interpolation frames”) irradiance map会载入(比方说每三个frame)然后平均之,这样的方法算图慢且消耗记忆体,但是可以得到最佳的效果。
vray_flicker_free_09 FLICKERING NOISE闪烁的杂讯
以下原因会造成vray闪烁的杂讯:
1、区域阴影(Area shadows)
2、dome的直接光(事实上跟区域阴影一样)
3、材质的glossiness小于1
4、将primary bounces设定为Brute force
5、反锯齿不足
6、Camera subdivision当使用动态模糊或是景深
主要有两种方法能够修复闪烁的杂讯
1、将参数的subdivisions设高
2、采用好的反锯齿选项,这种方式比较好,但需要更长的时间计算,因为会计算影像的每个像素,而不是整片区域计算(容易产生杂讯)。通常我会用adaptative dmc,min 1 max 6,color threshold=0.005(普通品质)至0.002(高品质) ,反锯齿用VrayLanczosfilter可以减少其余的杂讯问题。
Ludvík Koutný:我用VRay算过许许多多非常复杂打灯的场景, 一点都不会闪烁,设定其实非常简单。一级GI采用brute force,二级采用light cache。请注意不要利用light cache计算glossy reflections,sudbdivs amount要设定为2000左右。
我做过在CG森林中穿梭的车子,动态摄影机追逐的动画。用以上方法套用效果很不错,我甚至刻意营造复杂的灯光场景,但是以BF+LC的搭配法就是不会闪烁,只要你记得关闭『Use LC for glossy reflections』的选项,然后要把subdivs设定的够高就可以。
vray_flicker_free_04
vray_flicker_free_05 通常我会采取以下设定
1、一切从预设值开始
2、primary GI设定为brute force,subdivs 20。secondary设定为light cache,subdivs则是跟算图输出解析度一样,例如1280for1280×720, 或1920for1920×1080。
3、Adaptive DMC Min 1, Max 4
4、材质glossiness介于0.8-1则将glossy sudbdivs设定为8,介于0.6-0.8 则将glossy sudbdivs设定为16,低于0.6则设定为24。低的glossiness 有时候我会设定为glossy sudbdivs=32如果还是会产生杂讯的话。
5、关闭subpixel mapping或clamp output选项
6、记得要将你的环境贴图设定成球体的VrayDome light,这盏灯通常具有20-24 light subdivs,场景中其他重要的灯具有6-20 subdivs,比较小的附属灯具有4-8subdivs。
vray_flicker_free_08Matthew Such:户外移动的物件我们不用GI算图,因为我们需要很快速算图。我们采用的是Ambient Light+VRay dirt 然后VRay domelight作为直接照明,加上HDR map。最终结果不比GI算图好,但是不会差太多。如果是室内的话具有移动物体,我们会用不同的render passes。
Nicky Loughry:我会以Brute Force作为primary而且不使用secondary bounce。用在户外有大量树木的动画,这种场景通常很容易产生闪烁。用BF算图时间会比较长,但值得,因为最终算图结果动画不会闪烁。
另外一种方式是用irradiance map multi-frame incremental加上light cache,适用于室内外。我还在试这个方法,目前来看我觉得还不错用,我现在的专案将IR设定的很低,light cache subdivs=400,sample size= 0.2结果令人惊讶地好,算图速度快。室内摄影机移动动画几乎没有或是有些微的闪烁,关于室外场景用的个方法我还没试过,但是我说出来说不定你也可以试试看。