1、【龙渲教程】正确的 VRay 动画渲染流程关于使用 VRay 来进行动画渲染的方法讨论在各大论坛中都多次被反复提及,但仍有很多误区,我不打算一一列举,在这里我直接简洁明了地列出正确的渲染流水线:第一大类:仅仅是摄像机运动的静态场景动画的渲染type one:IRmap+BruteForce(QMC)的组合:第一步(单帧调试阶段):调试好 DMC sampler 核心管理器的参数在单帧下已获得良好的质量。第二步(动画前数据计算阶段,俗称跑光):1.保持次级引擎 BruteForce(QMC)开启,勾选全局设置的 Dont Render Image 以跳过不必要的渲染计算过程。2.根据摄像机运动情
2、况预估隔帧数量,使用 MultiFrame increamental 模式,计算完全部动画的IRmap。3.打开 IRmapViewer 观察计算完成的 IRmap 采样点分布情况,将采样点不足的部分,缺失采样点的部分,通过手动补光方式叠加并补全,得到最终准备动画渲染的 IRmap 文件(这一环节非常重要)。第三步(渲染动画阶段):1.IRmap 模式改为 from file 并读入之前准备好的最终 IRmap 文件。2.将次级引擎关闭,即设置为 none(因为所有计算结果已经存入在了 IRmap 的每个采样点中)。3.将 IRmap 设置中的 interplation sample 设置为
3、10-15 (最终渲染时插值采样不能过大,否则将导致闪烁)。4.渲染!type two:IRmap+LightCache第一步(单帧调试阶段):调试好 DMC sampler 核心管理器的参数在单帧下已获得良好的质量。第二步(动画前数据计算阶段,俗称跑光):1.保持次级引擎 LightCache 开启,勾选全局设置的 Dont Render Image 以跳过不必要的渲染计算过程。2.设置 LightCache 模式为 SingleFrame 方式,并在选项中去除勾选“Store direct light“这个选项(这点非常重要,去除这个选项将极大地避免 Lightcache 产生的 GI 闪
4、烁)。3.根据摄像机运动情况预估隔帧数量,使用 MultiFrame increamental 模式,计算完全部动画的IRmap。4.打开 IRmapViewer 观察计算完成的 IRmap 采样点分布情况,将采样点不足的部分,缺失采样点的部分,通过手动补光方式叠加并补全,得到最终准备动画渲染的 IRmap 文件(这一环节非常重要)。第三步(渲染动画阶段):1.IRmap 模式改为 from file 并读入之前准备好的最终 IRmap 文件。2.这里分两种情况,如果场景中有大量模糊反折射需要利用 lightcache 来优化计算时间,可以保持次级引擎中 LightCache 仍旧开启,并且仍
5、然为 singleframe 模式,如果不需要这样计算模糊反折射,将次级引擎关闭设置为 none。3.将 IRmap 设置中的 interplation sample 设置为 10-15(最终渲染时插值采样不能过大,否则将导致闪烁)。4.渲染!第二大类:摄像机运动,物体和光源都在变化和运动type one:IRmap+BruteForce(QMC)第一步(单帧调试阶段):调试好 DMC sampler 核心管理器的参数在单帧下已获得良好的质量第二步(动画前数据计算阶段,俗称跑光):1.保持次级引擎 BruteForce 开启, 勾选全局设置的 Dont Render Image 以跳过不必要的
6、渲染计算过程。2.设置 IRmap 模式为 Animation-prepass 方式(它将生成一个 IRmap 序列而不是单个 IRmap 以对应整个动画)3.计算全部的 IRmap 序列。第三步(渲染动画阶段):1.IRmap 模式改为 Animation-render 方式,并读入之前计算好的最终 IRmap 序列。2.将次级引擎关闭,即设置为 none(因为所有计算结果已经存入在了 IRmap 的每个采样点中)。3.将 IRmap 设置中的 interplation sample 设置为 10-15(最终渲染时插值采样不能过大,否则将导致闪烁),并且将 Interpolation fra
7、mes 设置为 1(节省渲染时间)。4.渲染!type two:IRmap+LightCache第一步(单帧调试阶段):调试好 DMC sampler 核心管理器的参数在单帧下已获得良好的质量。第二步(动画前数据计算阶段,俗称跑光):1.保持次级引擎 LightCache 开启,勾选全局设置的 Dont Render Image 以跳过不必要的渲染计算过程。2.设置 LightCache 模式为 SingleFrame 方式,并在选项中去除勾选“Store direct light“这个选项(这点非常重要,去除这个选项将极大地避免 Lightcache 产生的 GI 闪烁)。3.设置 IRma
8、p 模式为 Animation-prepass 方式(它将生成一个 IRmap 序列而不是单个 IRmap 以对应整个动画)。4.计算全部的 IRmap 序列第三步(渲染动画阶段)1.IRmap 模式改为 Animation-render 方式,并读入之前计算好的最终 IRmap 序列。2.这里分两种情况,如果场景中有大量模糊反折射需要利用 lightcache 来优化计算时间,可以保持次级引擎中 LightCache 仍旧开启,并且仍然为 singleframe 模式,如果不需要这样计算模糊反折射,将次级引擎关闭设置为 none。3.将 IRmap 设置中的 interplation sam
9、ple 设置为 10-15(最终渲染时插值采样不能过大,否则将导致闪烁),并且将 Interpolation frames 设置为 1(节省渲染时间)。4.渲染!另外,关于渲染中经常出现一些物体有奇怪白色亮点的问题,我在这里单独说明一下,这是由于模糊反射和深度反射产生的问题,原则上是物理正常的,不是 bug,也很难免,这里提供两个方法:第一,将出现白点的材质,改为 VrayMaterial,并在选项中将“treat glossy rays as GI“设置为“Always“,并且确保关闭 GI 设置中的产生反射焦散的选项,即 Reflection caustics 保持关闭;第二,将高亮物体(
10、比如在反射中出现的很亮的物体、光源等)的反射深度降低,或者用OverrideMaterial 将其反射通道给一个纯 diffuse 的材质。最后提及几点很多朋友关注的问题:1.VRay 渲染片树时到底该不该使用 opacity 通道,答案是尽量不要用 opacity 通道,因为 VRay 的IRmap 计算过程不能很好的支持这一通道,将导致渲染速度非常的慢。正确的做法是把原本贴在 opacity通道上的 mask 黑白图贴在 VRay 材质的 refraction 通道里,并反转 invert,然后将折射率 IOR 值设置为1,然后勾选“affect alpha“选项。2.最安全的渲染动画的方
11、法是什么,毫无疑问,QMC+QMC,新版本就是全部 BruteForce,这种组合的情况下因为不存在插值计算 GI,所以 GI 导致的闪烁将完全避免,但你仍需解决分布式光线数量过少所带来的噪点问题,就是说,你需要极大的代价来解决这一点。3.我永远不赞成将运动的对象和静态场景放在一起渲染,无论从影视制作的角度上来讲还是从渲染成本上来讲都不可取,有很多方法可以将两者分离再合成,这样是效率最高的。也能将问题最简化,更便于日后修改。4.关于手动补 IRmap 采样点的方法接前面提到的,当你用 Multiframe 跑完光以后,远处物体的 IRmap 采样点细节是肯定不够的,但你如果靠增加 max min rate 参数来试图解决这个问题,那么你就大错特错了,其实非常简单,用一个 low级别的预设,在透视图下拉近你要增加细节的物体,然后 single frame 方式跑一次,存成文件,然后用IRmapViewer 将两个文件合并就行了,用这种方法将所有细节不够的地方补齐,又快又效率,而且有针对性,绝不要想当然地用高参数跑光就能解决问题。