如何更快地渲染?深入了解3D渲染性能的指南!(5)
上文《如何更快地渲染?深入了解3D渲染性能的指南!(4)》我们介绍了从场景内部灯光、用料、反射、材质等方面的优化,提升场景渲染的速度。本文Renderbus云渲染农场将继续从渲染设置、全局照明、渲染区域等方面介绍如何提升渲染速度。
![](http://n4.ikafan.com/assetsj/blank.gif)
渲染设置
调整渲染设置是加快渲染速度的最有效方法之一。
但是,与往常一样,我们不仅要降低质量,还希望尽可能地接近所需的质量,但仍然希望提高渲染性能。
以下是一些可以改善渲染性能的最重要因素:
自适应采样器
对于大多数现代渲染引擎而言,最重要的一件事情就是将它们设置为使用自适应采样器。
关键是:现代渲染引擎极其复杂,并具有确定自身的方法,确定高质量渲染所需的样本数量。
您首先要看的设置是自适应采样器的采样限制。每个引擎在此部分的名称略有不同,但是在Redshift中是这样的:
![](http://n4.ikafan.com/assetsj/blank.gif)
和Vray:
![](http://n4.ikafan.com/assetsj/blank.gif)
跨不同渲染引擎的所有这些自适应采样器都具有以下共同点:
最小样本
最大样本数
(噪声/错误)阈值
它的工作原理很简单:“采样器”会通过每个像素拍摄最少数量的样本,以便对像素具有的颜色进行平均观察。
然后,将其与旁边的像素进行比较,并检查差异(例如,照明)是否太大/太吵。如果差异/噪声/误差大于阈值,则它将通过场景拍摄更多样本,直到其下降到误差阈值以下(为方便起见而简化)。
就那么简单。
因此,即使将“最大采样数”设置为10000,采样器也只会使用其需要降至误差阈值以下的数量。
因此,从技术上讲,您需要在此处进行预览渲染的所有更改就是将阈值增加到0.1,然后将最终渲染增加到0.01。
与往常一样,您将必须进行一些测试,以找到最理想的位置以及您愿意忍受的噪声量。
自适应采样器的功能可确保它仅使用清除图像所需的采样数量。这意味着在光线充足的区域,它仅使用少量样本,例如,在光线较暗的区域,它可以使用更多的样本来消除噪声。
确保使用自适应采样器的功能永远不会使用超出绝对需要数量的样本。
极限射线反弹(跟踪深度)和截止阈值
在“材质”部分,我们已经了解了如何在反射和折射中限制描迹深度,但是在大多数渲染引擎中,您可以全局设置此深度。
这是Redshift的样子:
![](http://n4.ikafan.com/assetsj/blank.gif)
这背后的想法很简单:我们希望阻止特定的光线反射太多次。通常,我们可以为反射,折射和透明度设置反弹限制。
设置的值越低,允许的反弹越少,场景渲染的速度就越快。这是加快渲染速度的主要因素之一。
但是,当然,如果将此值设置得太低,则会看到一些黑洞或东西从反射,折射和透明区域消失。
对您的每个场景进行一些试验以找到最佳位置。
在上面的图像中,在最大走线深度以下,我们看到了截止阈值,这也可以加快渲染速度。
基本上,这是告诉渲染器仅考虑会在全局场景级别上使像素外观变化超过定义阈值的光线。
设置得越高,将越早忽略或取消光线,从而加快渲染速度。
当然,这里也适用:如果将这些值设置得太高,您将开始在着色器和照明中看到黑色像素或粗糙边缘,因此也可以在此处找到最佳位置。
钳制您的最大射线强度
使用此功能不仅可以加快渲染速度,而且通常还可以消除整个场景中的随机高光像素。
在Redshift(C4D)中:
![](http://n4.ikafan.com/assetsj/blank.gif)
在Vray(C4D)中:
![](http://n4.ikafan.com/assetsj/blank.gif)
默认情况下,大多数渲染引擎将允许射线和样本比监视器通常显示的亮度高很多。毕竟,通常光源通常是非常明亮的,这是有道理的。
但是,在大多数情况下,您不会看到强度为2或10的反射光之间没有区别。这两种反射光看起来都是100%白色(或100%亮度)。
当然,如果您产生的反射或折射会吸收90%的入射光,您会看到不同。
但是,在大多数情况下,将射线强度限制为接近1会提高渲染性能,清理随机的明亮像素,而不会太大地改变场景的外观。
去尝试一下,找到你的最佳选择。
视场
任意输出变量,Multi-Pass图像,Render Pass或它们带有的其他名称是与Beauty Render一起创建的图像,通常用于合成和其他后期制作方式。
我很长一段时间都不知道这一点,但是,是的,AOV减慢了实际的渲染阶段。
我的印象是,在渲染过程结束时,AOV仅需要很短的时间存储在我的美容通行证旁边。但是,它们会减慢整个渲染速度。
当然,只有几个渲染通道不会引起注意,但是有10个或更多的拼图遮罩、深度遮罩、对象缓冲区?在许多渲染引擎中,可以将添加到最终渲染中的每个AOV的渲染时间显着增加。
确保确保仅呈现您绝对需要的AOV。
![](http://n4.ikafan.com/assetsj/blank.gif)
全局照明设置
有很多技巧可以使您的GI更快地呈现且无闪烁,但这是完全分开的文章的内容。
让我们看一下几乎所有渲染引擎中可以使用的一些东西,如果正确使用它们很可能会显着影响渲染性能:
首先,仅当要渲染动画并且看到帧之间有很多闪烁时才使用蛮力/QMC GI。暴力破解GI是使用GI的最慢方法。
没错,它几乎每次都像吊饰一样工作,但是渲染需要大量时间。
许多不太复杂或细节很小的场景都可以通过“光缓存”或“光子贴图”来解决,这通常渲染起来要快得多。
特别是如果您仅渲染静止图像,其中一些微小的帧差异不重要,则在第二个甚至第一个GI Bounce上使用光缓存可以节省生命。
通常,您可以并且应该限制您的GI反弹。将您的GI反弹设置为1、2、3或更高,进行几次测试渲染,看看差异是否确实明显或需要。跳动越小,渲染速度就越快。
某些场景甚至可能根本没有地理标志。我对于每个新场景都只打开GI,这是我的习惯,但是很多时候您不需要它。
以室外场景为例。带有天空纹理和日光的圆顶灯的渲染速度可能比试图通过天空GI反弹来遮挡阴影的速度要快得多,并且在大多数情况下看起来非常相似。
![](http://n4.ikafan.com/assetsj/blank.gif)
如果使用光缓存可以很好地渲染整个场景,但是角色的头发只是弄乱了一切,并在整个帧中引发了闪烁,只需渲染两次即可。
将角色阴影设置为使用光缓存来渲染背景场景,并仅将角色设置为使用蛮力GI渲染另一遍。
我们都知道如何在后期进行合并。不要试图一遍又一遍地做所有事情。
更简单:某些渲染引擎可让您通常通过渲染标签/合成标签设置每个对象的GI方法。
通常,您显然可以使用较低的GI质量设置(例如较低的GI样本)更快地渲染,并且将其与comp中的降噪结合使用是一个强大的工具。但是在“后期降噪”部分中有更多介绍。
渲染可见性并包含/排除场景和对象关系
默认情况下,光线只会在整个场景中反弹,而不管它们经过多远,或者该光线对于图像的整体外观是否重要。
某些光线,物体,材料或灯光可能只是在吞噬您的表演而没有做很多其他事情。
某些对象可能很重要,要用相机看清,但是您无法真正在所有这些模糊的反射中看到它们,因此只需关闭该对象对反射射线的可见性即可。就那么简单。
在几乎任何渲染引擎中,您都可以为各种射线类型(例如反射,折射,ao,阴影,gi)打开和关闭对象的可见性。
![](http://n4.ikafan.com/assetsj/blank.gif)
某个对象是否将大量计算密集的阴影投射到场景的地板上,但是由于阴影是如此透明,因此无法真正看到它?只是告诉该对象不要投射任何阴影!
单独控制每个对象或组的可见性的能力是3D世界中最强大的功能之一,它对于加快渲染速度也非常有用。
这对于“包含/排除”功能同样有效:您是否有阳光透过略有光泽的窗户照进来,从而使室内产生的散射光永远呈现?
只需将玻璃窗遮挡在阳光下即可,这样,阳光就可以穿过窗户而不会被散射!
此类场景的渲染速度可能会提高10倍,这是因为您没有通过窗户玻璃散射这些阳光(创建了大量新的光线)。
这可以很好地工作:使用渲染区域和渲染层
尤其是当您的截止日期很紧且客户或老板要求进行某些最终更改而需要花费很长时间才能完全重新渲染时,您可以仅渲染补丁,某些对象,或者仅渲染图像或序列的一部分。
当然,打补丁是种不得已的做法,因为它确实会使您的项目变得不必要地复杂。
举个例子:您的60秒动画已经过最终渲染,因为客户已经批准了该动画的预览版,但是众所周知,他们总是回来并且想要最后一次更改。
因此,客户希望该拍摄背景中的其中一栋房子看起来与众不同。为了加快速度,您现在可以使用“渲染蒙版”,因为它们在某些渲染引擎中被调用。
这样做是仅渲染您选择的对象,然后跳过场景中的其余像素,并用alpha填充它们。这样,您可以重新渲染房屋,并将其分层放置在comp中已经存在的最终渲染之上。
这是此GUI在V-Ray(C4D)中的外观:
![](http://n4.ikafan.com/assetsj/blank.gif)
其他一些渲染引擎可以通过使用遮罩来实现此目的,遮罩通常位于您要隐藏或显示的对象组(例如Redshift)上的“合成”或“渲染标签”中。
因此,考虑到我们在后台的房子占据了整个帧的约1/4,这意味着我们可以比重新渲染整个框架更快地重新渲染客户端请求的更改。
如果您有静态相机,则甚至可以使用“渲染区域”,在某些引擎中也称为“边框渲染”,它仅指定应该渲染的帧的矩形区域。
当然,如果您提前进行一些计划(尤其是因为您可以很快地了解到客户和老板想要更改的内容),则可以使用渲染层设置镜头,并将重要元素分离到不同的渲染层中,以便轻松调整它们在comp中,或在需要时分别重新渲染它们。
例如:将每个角色分离到其自己的渲染层,渲染层上的前景以及渲染层上的背景。这样,您可以更好地控制合成过程中的镜头,并且可以根据需要重新渲染最终图像的较小部分。
尤其是在相机不移动的情况下,如果所有移动都是角色,则几乎不需要为每一帧渲染背景或前景。渲染背景和前景的一帧,然后仅使用完整图像序列中的阴影捕捉器渲染那些角色渲染层。
![](http://n4.ikafan.com/assetsj/blank.gif)
使用渲染层还可以解决一些烦人的问题,这些问题会在使用后期mblur(运动模糊),后期DOF(景深)或雾化深度遮罩时不断出现,尤其是当您不能使用深层EXR遮罩时。
提前考虑使项目的后期和压力较大的部分更容易进行更改可以节省生命。但是,您必须在这里找到一个不错的地方,因为设置项目使它们以后更容易更改,当然,这也需要时间。
未完待续...
敬请期待下文《如何更快地渲染?深入了解3D渲染性能的指南!(6)》
本文《如何更快地渲染?深入了解3D渲染性能的指南!(5)》内容由Renderbus云渲染农场整理发布,如需转载,请注明出处及链接:https://www.renderbus.com/share/how-to-render-faster-5/
相关阅读推荐: