很多建模新手甚至熟手在拿到渲染结果时,经常会有这种疑问:为什么我两个渲染任务,同样的场景,渲染时长会相差这么大?甚至开始各种怀疑,是不是机器坏了。
(资料图片仅供参考)
但从科学的角度说,两个同样场景的人物,渲染所需时间不同,是再正常不过的了,除非两个渲染任务或者文件是直接复制过来完全一样。
影响渲染时长的因素有很多,排除机器配置要素,在同样的场景,同样的机器配置条件下,导致渲染时长差距的原因可能有以下方面。
场景复杂度:尽管是通常的场景,但由于镜头位置不一样,会导致视角不一样。在不同的视角,即使同一场景,所见到的物体对象、光照、阴影、纹理效果等都会有所差异。因此同一场景的两个任务,并不意味着场景复杂度会一样。
更复杂的场景,通常意味着需要更长的渲染时间。因为更多的对象、纹理或者效果等需要实现。尤其如果场景中有大量的细节、高复杂度的几何形状和复杂的光照时,渲染任务所需的时间将会极大被很长。
材质和纹理:材质、纹理的复杂性和数量也会影响渲染时间。渲染过程中,机器和软件需要计算每个物体的光照和反射状况,并将纹理贴到物体表面。若使用的材质和纹理数量很大,或者复杂度很高,那么渲染时间将会增加。另外,有些材质因为外观效果不一样,即使和渲染同样体积或量的其他材质相比,所需的时间也会更长。
光照设置:光照是渲染中非常重要的一部分。更复杂、更逼真、更大量的光照设置,往往需要更长的渲染时间。例如,使用全局光照和阴影、GI、环境光遮蔽等技术来模拟现实世界中的光照效果,需要的计算量会更大,渲染时间自然也就会增加。
镜头设置:镜头的位置,会影响渲染视角,视角不同会导致效果图的大小分辨率、细节效果等不同。渲染一个更大图像或者更精细的分辨率,所需的时间自然更长。
此外,更高的抗锯齿、景深、运动模糊等效果也会导致渲染时间增加。更何况,渲染输出文件质量、噪点等众多参数的差异,也会影响渲染出结果的实践。
总的来说,决定不同渲染任务渲染时长差异的从来不是场景是否相同,而是这众多因素、参数等综合导致的所需渲染的总计算量,或者简单的说:算力需求的大小。即,场景越复杂、对象越多、光影越多变、纹理越复杂、材质越逼真、细节还原度越高……
需处理渲染的量越大,所选时间越久。
场景只是模型等众多要素的容器,其本身和渲染时间的长短并没有必然关联。同一场景的两个乃至多任务,渲染时间可能不同;不同场景的多个任务,所需渲染时间也可能会碰巧相同。以场景是否相同,来判断渲染时长,并不具备科学性。
因此,需要综合考虑以上因素来确定为什么同样场景的两个渲染任务,使用同样的机器配置,相同的渲染引擎,渲染时长差距很大。在实践中,通过逐一排查这些因素,可以找到影响渲染任务时长差异的主要原因,并采取相应的措施进行优化。