作为设计师,每个人都希望自己的作品能更快的渲染出来。差不多完成了一个项目,缺少的最后一步就是最后的渲染。如果渲染速度足够快,你可以在项目移交日期内轻松完成工作并移交给客户。但是渲染是一个复杂的过程,会出现渲染缓慢、渲染卡顿等诸多问题。比如截止日期前24小时,你有一个1000帧的项目。不管怎么看,每一帧都要5分钟,你根本没办法及时看完。
渲染缓慢的原因很简单:3D场景很复杂,没有一个场景的外观和工作方式与另一个场景完全相同,并且返回到当前项目使其渲染更快,这可能太耗时,无法使您按时完成截止日期。
这个时候,如何提高渲染就成了首先要考虑的问题。看了这篇文章,有很多方法和技巧会让你渲染的更快。
提高渲染速度的方法能让你在没有大量场景变化的情况下更快渲染的东西:有时候你不能对场景做任何改变,但是你还是想尽可能加快最终渲染的速度。您可以执行以下操作:
购买更快/更多的电脑,更好/更多的硬件。使用云渲染服务-阴影云渲染来检查软件更新(有时会进行功能改进和错误修复,以使您的渲染速度更快)。对于您的项目类型,不同的渲染引擎可能会快得多。利用Rendermanager强大的功能及其可能的优化(比如一次渲染多个任务)来降低后期/合成阶段的渲染噪音。最好使用Renderpasses来更快地渲染需要改变场景的东西:如果有一个共识可以适用于所有场景优化,那就是:只使用你绝对需要的尽可能多的场景组件和元素。更多的东西可能视觉上差别不大,但可能会耗费你大量的渲染时间。
多边形,光线,样本,灯光,细分…使用你可以选择的绝对最小值来实现你的外观。
无论如何,这是本节的概述:减少网格,细分曲面,生成器,克隆,实例,NURB的多边形数量,使用更少的单个灯光并放置它们,以便它们可以用更少的灯光反射更容易地照亮场景,或者使用均匀的灯光覆盖更大的区域,如天空或HDRI,方法是限制反射/折射中的跟踪深度,并优化那些使灯光计数爆炸的材质类型在不降低质量的情况下简化材质优化的渲染设置:限制光反弹,设置截止阈值,利用自适应采样,钳制光强度,减少AOV,使用更快的GI设置,通过渲染区域/遮罩和渲染层仅渲染一部分帧。 当然,这个概述只是暗示了什么是可能的,您可能需要一些更深入的信息来完全理解如何实现上述内容。如果是这种情况,请继续阅读或者跳到你最感兴趣的部分。
在上面的列表中,我只列出了适用于大多数用户的最重要的部分。但是,整篇文章中有一些隐藏的宝石,可能正是你所需要的。
哪些渲染引擎可以优化?优化场景和渲染设置的准则可以应用于所有渲染引擎,因为它们都基于非常相似的功能。
GPU渲染引擎(如Redshift、Octane、Cycles)或CPU渲染引擎(如V-Ray、Arnold或Corona)都从你的3d场景中获取信息。众所周知,大多数渲染引擎可以插入许多不同的3D软件,无论是4D影院,3ds Max,Blender还是其他任何软件。
这让我们很容易理解,所有这些应用之间,以及它们的工作方式之间,一定有一个共同点,这种相似性也让我们可以综合应用渲染优化。
如何更快渲染的概述:我将本文分为两个主要部分:
你会发现内部渲染因子与要更快优化/渲染的场景密切相关,你需要改变场景元素和渲染设置。
另一方面,优化外部渲染因子需要很少或根本不需要更改场景。这些都是外部因素,比如整体硬件性能,或者渲染管理器接收场景的方式。
你可以优化其中任何一个并获得一些不错的加速,或者你可以解决内部和外部因素,看到你的渲染时间进一步减少!
如何更快地渲染3354方法论有两种方法可以解决这个问题:你可以盲目地尝试下面的一些项目并希望它有所帮助,或者你可以分析你的场景和环境,然后应用正确的修复。
后一种选择所需的步骤很简单:
找出你的场景渲染如此缓慢的原因并修复它渲染慢与什么有关:
你的场景大概已经优化的很好了,你的硬件是最好的3354,但是你的一个百万棵树的森林的25K全景渲染还是要5分钟?
这使我们回到加速场景的两个步骤,我们将其更改为:
找到需要最少时间和金钱解决的最大瓶颈并修复它不要在不考虑视口或渲染性能的情况下构建场景,只在单击最终渲染按钮时优化它
越快的演示速度可以用来遍历更多的时间,而你可以提高你的工作场景的质量,减少花费的时间,最终使你成为一个更有竞争力的3D艺术家,从长远来看,他可以要求更高的利率或更多的工资。
渲染引擎的工作原理从本节开始。我们将从高级渲染引擎的工作原理和增加渲染时间的因素开始,以便我们可以更好地确定我们必须改变什么才能使我们的场景渲染更快:
为了简单起见,让我这么说吧——一般来说,在任何给定的场景中,我们只有3种类型的对象:
发光的物体,如灯或太阳不同程度反射和折射光线的物体。相机是我们的视点。事实上,我们真实的物理世界也是类似构造的,我们的眼睛有时就是相机。渲染引擎“渲染”或计算3D场景的外观,这与我们真实的物理世界非常相似。
来自光源(如太阳)的光会从一个或多个表面反射,直到到达我们的眼睛。产生的光让我们以不同的方式看物体。在物理世界里做的事情,在渲染的时候一定是你的电脑精心“计算”出来的。
以表面反射的光为例。计算机必须计算以下一些内容:
有多少光被物体反射,有多少光被吸收,有多少光向不同方向散射或进入表面,有多少光被反射或折射?这只是简单场景中的单个灯光。想象一下,必须为场景的每个表面计算许多许多光线。
好在PC的CPU(处理器)和GPU都很擅长这种计算。——比我们强多了。特别是GPU(显卡或显卡)就是为这类图形和“光线追踪”定制的。
虽然我们可以对渲染引擎的工作原理有更深入的了解,但上面的描述应该足以分析和优化我们的场景,以实现更快的渲染:
由于渲染引擎所做的大部分工作是在场景中发射一束光线,然后从对象上反弹,我们已经可以推断出以下内容:
这个射线少,我们需要渲染一个无噪声的图像,更快的渲染过程会完成“无噪音”:这是一个新名词,我们来快速看一下:
你可能以前见过它。低质量渲染的图像不平滑或不清晰。它们充满了噪音或粒子,因此很难区分细节。
这就是噪音的来源,也是我们消除噪音的方法:
任何图像(无论是否渲染)都由像素组成。渲染引擎对每个像素进行采样。
渲染引擎,为了简单起见,我们把它放在场景的摄像头里,通过每个像素发出一条光线,然后知道那个特定像素后面是什么。这也叫“抽样”。
通过像素发光,打到木头上,有木头的地方。通过像素发光并发现金属,在图像的该区域中存在金属。很简单。
然而,这是重要的部分:像素不是一维的,而是二维的。基本上,每个像素是一个二维正方形。一堆方块堆在一起就是一个图像。
那么为什么这很重要呢?由于光线或样本的原因,我们通过像素拍摄来查看以下3d场景中的内容是一维的。为了得到像素整个正方形区域之后的平均值,我们要通过这个像素和每个像素发射多条光线(取多个样本)。
以这个例子为例:
如果我们只通过X射出一条射线,击中橙色三角形,渲染引擎认为整个像素都被橙色三角形填充/覆盖了,但实际上只覆盖了像素的右下部分。
通过多次点亮/采样这个像素,我们会知道这个像素的90%实际上是白色/灰色而不是橙色(有些也是绿色)。因此,通过收集多个样本,我们可以扣除这个像素的平均颜色。
如果我们每个像素只使用一个或几个样本,我们不知道整个像素后面到底是什么,就在获取样本的一维点后面。
结果:我们的错误阈值很高,我们得到了一个嘈杂的图像。
的更多样本,我们通过我们的每一个像素的拍摄降低无错误,或噪声阈值和更低的颗粒感我们得到的图像将成为。
记住,所有的渲染引擎都有自己优化某些东西的方法,也有一些伪造或优化某些过程的方法,但通用功能完全可以应用于任何渲染引擎。
您从场景中获取的样本越多,结果就越平滑。
我们也可以这样说:如果你的场景中没有发生太多事情,你将能够获得比你的场景充满复杂物体、复杂材质或复杂光照时更少的样本。
如何更快的渲染内部因素:用足够的理论优化你的场景,让我们渲染的更快。我们现在将研究的一些优化方法的很大一部分将涉及降低场景的复杂性,因此我们可以减少样本的数量,同时仍然获得无噪声的结果图像。
还记得减少渲染时间的两个步骤吗?第一步找出实际导致速度下降的原因。
先找到瓶颈。3354不相容原理。找出速度慢的原因,最简单的方法就是利用排除原理。
例如,如果我们的场景中有一百个对象,其中一个导致渲染速度变慢,找到这个对象的最快方法是通过排除原理。
通过排除事物,你可以将它们排除在等式之外。排除场景对象?还是渲染慢?你的场景本身可能是好的。减少渲染设置?还是渲染慢?您的渲染设置可能是好的。换了CPU还是GPU?还是渲染慢?CPU或者GPU大概和你渲染速度的下降没有关系。
记住,减少可能变慢的因素找到源头,然后我们才能修复。
在本文中,我将介绍一些通常会降低渲染速度的典型区域。你也许可以用这些方法来解决这个问题。
但它们并不总是管用,所以要努力学习自己分析和解剖场景的技巧,这样你就再也不需要外界的帮助了。
首先找到瓶颈3354检查你的样品。几乎每一个现代渲染引擎都可以可视化为每个像素收集的样本数量。这是它在红移中的样子:
暗像素表示少量样本,亮像素表示大量样本。能够渲染您的图像并一眼看到哪些区域需要最多的样本可以告诉您很多关于您的场景和从哪里开始优化。
示例可视化将告诉您渲染设置是否配置不正确,或者是否有一些场景对象、材质或照明需要太多的示例才能清除。
首先找到瓶颈3354检查你的视窗。很多时候,你只需要在“线条模式”下检查你的视口,这样所有的多边形轮廓都可以显示在视口中。
以下面的场景为例。一目了然,哪些对象有许多多边形,应该有一些减少的潜力:
视口截图设置为(隐藏)线条视图。
首先找到瓶颈——,检查你的场景和物体信息。每个3D应用程序都可以显示整个场景或所选对象的多边形数。这是它在4D电影院的样子:
还记得之前的不相容原理吗?首先检查整个场景的多边形数。如果它看起来很高,请选择一半的对象并再次检查。减少对象选择的数量,直到找到多边形数不合理地高的对象并优化它们。
如果你有一个结构良好的场景,其中有几个主要的对象组,你也可以遍历这些对象组,并沿着层次向下工作,这样可能会更快。
减少多边形数量渲染性能的一个重要因素是场景中的多边形数量。根据经验,你可以说对于大多数场景,多边形越少,渲染速度越快。
以下是大多数情况下这些大量多边形的来源列表:
具有许多多边形的原始网格。例如,导入的CAD数据或雕刻细分网格的修改器可以使每个细分中的多边形数量增加四倍(例如,4D影院中的HyperNURB,Blender中的细分曲面等)。).通过组合/挤压曲线克隆人类生成的任何一种Nurb对象都有太多的细分参数化对象微位移,这是必不可少的,但我们确实希望尽可能地优化它们。这个过程很简单:减少多边形的数量,直到您开始看到渲染中的视觉差异。
我来解释一下:你需要一个每边有100个细分的参数立方体吗?当每边只有一个多边形时,看起来有什么不同吗?不要!
让我们快速看一下:
原本多边形过多的网格很快就会成为渲染缓慢的原因。原始网格的问题在于它们难以优化。
除了添加一些减少多边形的修改器外,这通常会严重破坏UV布局和网格的多边形流。除了手动减少多边形和重新拓扑之外,您真的无能为力。当然,如果你有这些原始网格的源文件就更好了!
您的客户是否向您发送了STEP或其他CAD数据,您必须将这些数据转换为多边形才能在3D场景中使用?很容易指定应该从中生成多少个多边形。试试看。
你的场景里有没有一个用ZBrush雕刻的人物,有几百万个多边形?也许你可以得到源文件并使用细分修改器,而不是直接在网格中烘焙疯狂的分辨率。这样就可以根据角色的屏幕大小来调整细分级别。
基线是这样的:只使用网格屏幕尺寸所需的多边形或细节。
如果你的角色在背景中,你应该可以得到比特写镜头更少的多边形。
请记住,我不是说你应该使用低聚和改变场景的外观。你应该有实现场景外观所需的最少多边形数量。
您还可以通过以下方式进一步减少多边形的数量:
删除/禁用相机看不到的任何内容。
渲染一架飞机在天上飞?我打赌大部分内部物体连摄像头都看不到。禁用这些座椅、车轮和其他内部结构网格。渲染森林?删除相机后面所有的树和草。我不需要那些。
渲染客厅?我打赌你在反射中看到的任何东西都可以减少很多。你真的分不清花瓶里映出的植物是有一百万个多边形还是只有一千个多边形。
细分,修改器,生成器,克隆,实例修改器,生成器和克隆它们使场景构建更容易,而不会破坏性地烘焙你正在使用的网格。它们越容易使用,就越有可能无法发挥其最大潜力。
以细分曲面为例。他们细分整个网格,使每一层的多边形数量翻两番。此外,通常可以选择单独设置视口细分曲面和渲染细分曲面。
这似乎是显而易见的,但它是危险的,您可能不会注意到视口显示和实际渲染之间的多边形差异。由于细分设置为0,您的视口可能一帆风顺,但它们可能设置为比渲染时高得多的级别。你需要检查这个!
生成器(例如Extrude ))根据一些特定参数生成基础网格的新多边形。同样,您通常可以分别设置渲染设置和视口设置,因此请确保这些拉伸子步骤尽可能少。
克隆器是渲染慢的罪魁祸首。虽然设置起来很简单,但要确保生成的实例是真实的内存实例,有时称为渲染实例(或3dsmax中的Multiscatter)。这允许渲染器在其引用的内存中仅拥有这些克隆对象中的一个,从而允许克隆的内存消耗是非渲染实例所需的一小部分。
从一棵树上克隆数百万片叶子?您的克隆只需要一片叶子所需的内存(或多或少),从而使大量克隆成为可能。即使在克隆体或数组对象之外只使用实例,也一定要将其设置为渲染实例,以节省内存。
NURB/曲线组合类似于挤出。任何类型的扫描,放样或车床NURB生成器都将采用样条/曲线或其中的许多,并从它们创建NURB对象,然后在渲染期间将它们非破坏性地转换为多边形。
因为曲线可以有很多顶点来平滑它们,所以请确保优化您的结果,扫描,放样或车削只使用最少数量的子步骤来实现您想要的外观。
有时候可以在生成器本身设置子步,有时候要减少曲线上的细分来优化生成的对象。
参数每个3D软件都带有一些参数化的默认对象,这意味着它们可以在一定程度上进行更改,而无需破坏性地将其转换为基本网格。这些默认对象通常包括平面/曲面、立方体、球体、圆锥体、圆柱体、管道等。通常可以设置半径、高度、边数等参数。
因为这些是默认对象,所以它们带有预定义的参数,这些参数可能不足以优化您的场景或您的一般工作方式。检查您的默认对象,并在不太改变场景外观的情况下尽可能减少多边形。
事实上,大多数3D应用程序都允许您保存参数对象的默认设置,因此,如果您发现每次创建参数对象时都进行相同的调整,您可能希望从头开始设置默认参数,从长远来看,这可以节省一些时间。
微位移微多边形位移是另一种在渲染时会创建许多新多边形的东西,这在视口中通常是看不到的。
再次,确保你真的需要它们,或者你是否可以使用法线贴图或凹凸贴图来伪造它们,特别是当它们在背景中或只能在反射中看到的时候。如果你真的需要它们,请检查细分数可以下降到什么程度,直到位移的网格变得过于粗糙。
结论:为什么多边形越少渲染速度越快?事情是这样的:如果你在明亮的阳光下使用默认的灰色材质渲染角色转盘,如果你的角色有10k或10mio的多边形,你可能看不出任何区别。多边形本身不会增加渲染引擎清除图像所需的样本数量。
然而,多边形确实会降低光线跟踪器和光线树构建的整体性能(这是实际渲染开始之前的准备过程-请参见渲染管理器一节)。
因此,虽然您不会看到样本数量的差异,但在多边形较少的场景中计算这些样本会更快。
灯光每个灯光发射器,无论是具有发光材质的对象还是实际的灯光对象,都会向场景添加更多光线,在渲染过程中必须跟踪这些光线。尤其是在使用全局照明时,你可能会在大多数场景中使用它,每个灯都会产生在场景周围反弹几次的光线——而这些光线中的每一个都必须由你的GPU或CPU来计算。
在某些情况下,添加一盏灯可以加快渲染速度:如果使用GI,并且图像中有许多黑暗区域不容易到达直射光,则添加另一盏灯(非常暗)来照亮这些区域将有助于快速清除那些嘈杂的像素。
添加灯光直接照亮你的主题,使你的渲染速度极快。光线只会变得非常慢,如果它们必须反射几次才能到达你的主体,或者如果它们本身具有更复杂的性质。
例如,区域光的计算量很大,因为光线跟踪器必须对大量的光进行采样,以覆盖区域光的整个区域,同时确保生成的阴影是柔和的。面光源相对于点光源是一个主减速——,尤其是大面积光源。
在可能的情况下,尽量使用入口灯,尤其是在照亮由窗户照亮的室内场景时。入口光比区域光效率高,渲染速度更快。
尽可能使用聚光灯和非光线追踪,阴影贴图和柔和阴影。这些可以用来更快地计算软阴影,并可以在不改变场景外观的情况下大大加快渲染时间。
在室外照明中使用HDRI或天空物体来渲染场景,阳光通常非常快,因为你可以从一个完整(或半个)的穹顶获得均匀的照明,这意味着你的光线不必反弹多次来照亮一切。
如果您的3D软件和渲染引擎可以限制光线反射和光线范围,请这样做。让场景中的主体受到非常远的光线或者被其他光线遮挡/难以到达的光线的影响是没有意义的。
必须经过多次反射才能到达场景主体的光线发出的光,或者已经衰减到几乎看不见的光线,都会在渲染中引入很多噪点。有时,您只能使用渲染或项目标签来限制灯光应该照亮的对象,以清除噪波。消除任何不必要的。
材质具有许多会降低渲染速度的材质特性。毕竟,材质构成了场景的整个表面区域。
您的照明可以通过三种基本方式与场景的材质进行交互。光可以是:
反射(如铬)折射(如玻璃)部分吸收、散射和反射(如皮肤)还记得我们说过的让场景中的光线数和光线反弹数尽可能低以加快渲染速度吗?材质是使得必须计算的射线数量呈指数级增长的主要因素。任何增加场景中光线数量或需要清除大量样本的材质属性都会降低渲染速度。
让我们来看看一些主要来源:
光泽和折射反射来自铬球的光(硬反射)是在3D中可以做的最简单的事情。
这是一个具有硬反射的并排铬球,从图像中移除噪声所需的样本分布(白色=更多样本,深色=更少样本):
拿这个镀铬的球,让反射变得柔和(有光泽),你会创造出很多需要计算的新光线。根据反射的柔和度,入射光现在均匀地散射到各个方向。
渲染引擎必须计算的样本和光线越多,完成渲染所需的时间就越长。
这同样适用于光泽折射。光泽和光泽折射的结合会进一步增加渲染时间。
现在,我不是说,不要使用光泽折射或反射3354它们是大多数材料的组成部分,但当你使用它们时,请确保尽可能优化它们。
以下是优化折射和反射的方法:
限制他们的光反弹(跟踪深度)和优化使用截止阈值。当你的反射或折射有光泽(模糊)时,你无法真正分辨出反射或折射中的细节,我们可以利用这一点。
因为材质中的反射/折射场景非常模糊,我们将无法判断反射/折射场景是否100%准确——这意味着我们可以在没有人注意到的情况下降低反射/折射场景的复杂度。
通过限制跟踪深度,我们告诉特定的光泽材质只反射或折射其他对象,而不是这些对象自己的反射或折射(达到一定数量的深度/反弹)。
这意味着我们可以节省大量的光线,因为我们人为地限制了跟踪深度。我们可以在大多数渲染引擎的材质设置中直接做到这一点,或者有时你需要将渲染标签应用到一些对象上才能使用。
这是它在红移渲染引擎中的样子:
我们在上图中看到的另一个优化是“截止阈值”3354。基本上,它的功能是告诉渲染器只考虑那些会改变超过定义阈值的像素外观的光线。
它应该只将计算资源用于实际上会在渲染中产生显着差异的东西。
问题是,默认情况下,这些阈值非常低,根本不会影响你的渲染时间。你必须提高门槛才能充分利用它。找点乐子,看看有什么不同。使用这些来加速光泽反射和折射。
当然,你也可以在硬反射或折射上使用它们,但是因为在硬反射中一切都非常清楚,你可能会注意到哪里截止发生得更快。
材质凹凸/法线贴图/置换贴图还记得光泽反射是如何增加材质产生的光量和移除噪波所需的采样数的吗?在这方面,使用凹凸贴图、法线贴图或置换贴图是非常相似的。因为这些贴图试图伪造网格细节,所以入射光也会被它们散射。
细节越精细,产生的光就越多。即使你的网格只有几个多边形,也就是一个立方体,如果你在上面有一个复杂的凹凸贴图,到处都是散射光,你的渲染速度也会大大变慢。
纹理/位图如果不使用一些优秀的位图/纹理,几乎没有可以创建的3D场景。他们给你的网格添加细节,在大多数情况下,建模工作太多了。确保你的纹理分辨率不会过高。在整个场景中有一堆8k的纹理,即使2k或1k的纹理足够了(给定对象的屏幕大小),也会增加渲染引擎处理你的场景的难度。
设置渲染调整渲染设置是加速渲染的最有效方法之一。但是,一如既往,我们并不只是想降低质量。我们希望尽可能接近我们需要的质量,但我们仍然希望提高渲染性能。
以下是一些最重要的因素,需要考虑以提高渲染性能:
自适应采样器对于大多数现代渲染引擎来说,最重要的一点就是设置它们使用自适应采样器。
问题是:现代的渲染引擎非常复杂,他们有自己的方法。高质量渲染需要多少个样本?
您应该检查的第一个设置是自适应采样器的采样限制。每个引擎对此部分的名称略有不同,但在红移中看起来是这样的:
和Vray:
所有这些跨不同渲染引擎的自适应采样器都有一个共同点:
最小样本最大样本(噪声/误差)阈值它的工作很简单:采样器通过每个像素进行最小数量的采样,以获得像素颜色的良好平均外观。
然后将其与旁边的像素进行比较,检查差异(如灯光)是否太大/噪音太大。如果差异/噪声/误差高于阈值,它将在场景中进行更多的采样,直到它低于误差阈值(为了方便而简化)。因此,即使将最大样本数设置为10000,采样器也只会使用低于误差阈值的所需数量。
因此,从技术上讲,您必须将预览渲染的阈值更改为类似0.1的值,并将最终渲染的阈值增加到类似0.01的值。像往常一样,你必须做一些测试,找到你愿意忍受的最佳点和噪音量。
自适应采样器的功能确保它仅使用清理图像所需的样本大小。这意味着它只在光线好的区域使用少量样本,例如,在光线差的区域,它可以使用更多的样本来去除噪声。确保使用自适应采样器的功能,不要使用超过绝对需要的样本。
限制光线反弹(跟踪深度)和截止阈值在“材质”部分。我们已经了解了如何在反射和折射中限制跟踪深度,但在大多数渲染引擎中,您可以全局设置它。
这是它在红移中的样子:
这背后的想法很简单:我们想防止某些光线反弹太多次。我们通常可以为反射、折射和透明度设置反弹限制。这些设置越低,允许的反弹越少,场景渲染越快。这是加速渲染的主要因素之一。
但是,当然,如果你设置得太低,你会看到一些黑洞或东西从反射,折射和透明区域消失。在每个场景上做一些实验,找到最佳位置。在上图中,在最大跟踪深度以下,我们看到了截止阈值,这也可以加快渲染速度。
基本上,它告诉渲染器只考虑那些在全局场景级别将像素外观改变超过定义阈值的光线。设置越高,光线越早被忽略或取消,从而加快渲染速度。
当然,这里同样适用:如果你将这些设置得太高,你将开始在着色器和照明中看到黑色像素或粗糙的边缘,所以也请在这里找到你的最佳位置。
使用此功能限制最大光强度不仅可以加快渲染速度,而且通常可以消除场景中随机的高光像素。
在红移(C4D):
在弗雷(C4D):
默认情况下,大多数渲染引擎允许灯光和样本比显示器通常显示的要亮得多。这很有道理,真的。毕竟光源一般都很亮。
但在大多数情况下,你不会看到强度为2或10的反射光的区别。两者都显示为100%白色(或100%亮度)。当然,如果你产生的反射或折射会吸收90%的入射光,你就会发现区别。
但是,在大多数情况下,将光照强度限制在接近1的值会提高渲染性能并清理随机亮像素,同时不会对场景的外观产生太大影响。试试吧,找到你的最佳选择。
AOV任意输出变量,多通道图像,渲染通道或它们携带的其他名称是与美颜渲染器一起创建的图像,通常用于进一步的合成和其他后期制作方法。
这个我也是很久才知道的,但是,是的,AOV 减慢了实际的渲染阶段。在渲染过程的最后,AOV只需要在我的美颜通道旁边存储一小段时间,但是,不,他们会拖慢整个渲染速度。
当然不会很明显只有几个渲染通道,却有10个甚至更多的拼图蒙版,深度蒙版,对象缓冲?在许多渲染引擎中,添加到最终渲染中的每个AOV都会显著增加渲染时间。确保只渲染你绝对需要的AOV。
有许多全局照明设置的技巧可以让你的GI渲染快速且无闪烁。让我们来看看你可以在几乎所有的渲染引擎中使用的一些东西。如果使用得当,这些东西很可能会显著影响渲染性能:
首先,蛮力/QMC GI只在渲染动画,看到帧间大量闪烁的时候使用。强制GI是使用GI最慢的方式。但是渲染起来要花很多时间。
许多类型的场景不是太复杂或有微小的细节,所以你可以使用光学缓冲区或光子贴图,这通常会渲染得更快。特别是如果你只渲染静态图像,一些细微的帧差异并不重要,那么在第二次甚至第一次GI反弹时使用光缓存可以挽救生命。
一般来说,当然,你可以也应该限制你的胃肠反弹。将GI bounce设置为1,2,3或更高,做几次测试渲染,看看差异是否真的很明显或需要。反弹越低,渲染速度越快。
有些场景甚至可能根本没有GI。我知道,我的习惯是每一个新场景都开GI,但是很多时候你并不需要。以室外场景为例。具有天空纹理和阳光的顶灯可能比试图通过天空GI反射——对阴影进行着色要快得多,并且在大多数情况下看起来非常相似。
如果你的整个场景都可以使用光线缓存渲染,但是你的角色的头发只会弄乱一切,造成整个帧的闪烁,只需渲染两次即可。使用设置为使用灯光缓存的角色阴影渲染背景场景,仅使用使用强GI的角色设置渲染另一个通道。
我们都知道如何在我们的帖子中结合这一点。不要试图一遍或一层做完所有的事情。更简单:一些渲染引擎允许你为每个对象设置GI方法,通常是通过渲染标签/合成标签。
一般来说,您显然可以使用较低的GI质量设置(例如,较低的GI样本)来加快渲染速度,在comp中将它与去噪结合使用是一个强大的工具。但更多的是“后降噪”部分。
渲染场景和对象关系的可见性和包含/排除默认情况下,光线只会在整个场景中反弹,而不管它们传播多远,也不管特定光线对图像的整体外观是否重要。一些光、物体、材料或灯光可能只是消耗你的表现,而没有做很多其他的事情。
有些物体可能很重要,需要通过相机查看,但在所有这些模糊的反射中,你无法真正看到它们,所以只需关闭该物体的反射光可见性。就这么简单。
在几乎任何渲染引擎中,您都可以打开和关闭各种灯光类型(如反射、折射、AO、阴影、GI等)的对象的可见性。).
一个物体在场景的地板上投射了一个计算密集型的阴影,但是因为阴影是如此透明,所以它实际上看不见吗?只是告诉物体不要投任何阴影!单独控制每个对象或组的可见性是3D世界中最强大的功能之一,它也有助于加速渲染。
同样适用于包含/排除功能:是否有太阳光透过微微发亮的窗户照射进来,使房间内产生的散射光总是出现?只要把玻璃窗挡在阳光之外,太阳光就会穿过窗户而不被散射!
这种场景的渲染速度可能会快10倍,因为你没有通过窗户玻璃散射那些太阳光线(产生大量新的光线)。
使用渲染区域和渲染层特别是当你在一个紧张的截止日期,需要很长时间才能完全重新渲染由于一些客户或老板要求的最终更改,你只能渲染补丁,一些对象,或只有部分图像或序列。当然,修东西是最后一招,因为它真的会让你的项目变得不必要的复杂。
这是一个例子:你的60秒动画因为客户认可了它的预览版而最终被渲染,但是我们都知道,他们总是会回来,想要做最后的修改。
因此,客户希望这张照片背景中的一栋房子看起来与众不同。为了加快速度,你现在可以使用“渲染遮罩”,因为它们在一些渲染引擎中被调用。这是通过仅渲染您选择的对象,跳过场景中的其余像素并用alpha填充它们来实现的。这样你就可以重新渲染房子,然后放在现有的最终渲染上。
这是这个GUI在V-Ray (C4D)中的样子:
其他一些渲染引擎可以通过使用遮罩来实现这一点,通常在复合或渲染标签中找到,这些标签放置在您想要隐藏或显示的对象组上(例如红移)。因此,考虑到我们在背景中的房子占用了大约1/4的帧,这意味着我们可以比重新渲染整个帧更快地重新渲染客户请求的更改。如果您有一个静态相机,您甚至可以使用渲染区域,在某些引擎中也称为边界渲染,它只指定应该渲染的帧的矩形区域。
当然,如果你提前做了一些计划,特别是因为你很快知道客户和老板喜欢改变什么,你可以用渲染层设置你的镜头,并将不同渲染层上的重要元素分开,这样你就可以很容易地在comp中调整它们,或者根据需要单独重新渲染。
比如:把你的每一个角色分离到自己的渲染层,把前景放在渲染层,背景放在渲染层。这样,您可以更好地控制构图中的镜头,并且可以在需要时重新渲染最终图像的一小部分。
尤其是在相机不动的镜头里。
,如果所有移动的都是角色,则几乎不需要为每一帧渲染背景或前景。渲染背景和前景的单帧,然后在完整的图像序列中使用阴影捕捉器渲染这些角色渲染层。使用渲染层还可以解决一些在使用后期模糊(运动模糊)、后期 DOF(景深)或雾的深度遮罩时不断出现的烦人问题——尤其是当您不能使用深 EXR 遮罩时.
提前考虑使项目后期和压力部分的更改更容易,这可以挽救生命。但是您必须在这里找到一个很好的最佳位置,因为设置项目以便以后更容易更改,当然也需要时间。
外部因素:优化场景之外的一切
优化内部设置和 3D 场景的复杂性只是等式的一部分。有时你的场景已经被优化到了最大程度,或者你根本无法对场景进行任何更改,因为你只是负责渲染,或者不能再冒险对场景进行深入更改而没有被批准。
您可以做很多事情来加快渲染速度,这些都是在 3D 场景之外控制的,但有时以下选项确实需要在您的场景中进行一些小准备,然后才能充分发挥其潜力:
渲染通道和合成
让我们从渲染通道开始。我们都在一定程度上使用过它们,我们在本文的 AOV 部分很快介绍了它们,因为它们有时确实会消耗一些性能。但通常情况下,使用渲染通道可以节省更多时间(如果使用得当)。
Renderpasses 不仅用于输出一些额外的图像信息,例如深度或对象或拼图遮罩。如果使用得当,它们可以组合在 comp 中以构建您的美图通行证。
渲染引擎的 Beauty Pass 是默认输出的标准最终 RGBA 图像,是内部由几个渲染通道组成的图像,例如漫反射通道、GI 通道、光通道、阴影通道、AO 通道、反射、折射……
这些单独的通行证可以相互叠加或相乘,以重新制作最终的美容通行证。
你可能已经猜到了:将它与一些拼图或加密遮罩结合起来,能够选择你的单个对象,你就有了一个非常强大的工具来改变你的场景,而无需重新渲染另一个帧用于该镜头的 3D 软件。
后期去噪
即使在 3D 渲染引擎中,也有一些方法可以使用降噪器。有些内置了 Altus De-noise 或 OptiX De-noising 技术等插件,但我不建议将它们用于生产或最终渲染。相反,在您最喜欢的合成应用程序中使用您的渲染通道和降噪插件。
大多数时候,你的很多传球都很好,它们几乎没有噪音。例如,您的 Diffuse pass 通常非常干净。GI或Shadow pass虽然往往很嘈杂。因此,我们所要做的就是在后期使用去噪插件(例如AE 中的Neat Video De-noiser)对这两个通道进行去噪。
如果您没有时间设置渲染通道或希望减少现有渲染上的噪点,通常也可以对美化通道应用去噪。
它可以很好地工作,但经常会弄乱一些具有精细纹理的区域,因为降噪器在不查看其他通道的情况下并不真正知道什么是噪点以及什么是纹理细节。后期去噪通常可以让您获得更快的 3D 渲染,因为您可以将噪声阈值设置得更高。
知道什么时候在 3D 中做某事,什么时候在后期做某事是我们都必须学习的一项技能——去噪是一项在后期效果很好的事情。
充分利用后期/合成
很多时候你可以在合成中做一些需要很长时间才能在你的 3D 场景中设置的事情,知道什么时候这是更有效的方式是一个优秀 3D 艺术家的标志。尤其是当您在完成最终渲染帧后进行更改时,添加补丁或进行一些遮罩工作以修复较小的问题可以为您节省大量时间,否则这些时间将用于重新渲染整个镜头。
一些示例:如果您看到小的渲染故障,例如在帧上进行 z 深度冲突的对象、地板上的焦散故障,甚至只是颜色错误的对象,大多数情况下您只需屏蔽和修补这些没有人注意到。
当然,没有错误的干净渲染是可取的,但是我们都可以忽略在最终渲染已经完成后我们会注意到的小事。了解在合成渲染序列时可以做什么会让您安心,即使是在高调的工作中也是如此。
在例如 After Effects 中学习一些遮罩、转描、跟踪以修复轻微的渲染问题。
当然,您可以在 comp 中做更多的事情,而不仅仅是修复在渲染阶段搞砸的东西。使用适当的渲染层、对象遮罩、深度遮罩,甚至法线贴图遮罩和 UV 遮罩,您可以在后期做很多事情,从而节省通常花在渲染上的时间。
利用 3D 场景中的 3D 相机导出来设置静态背景或前景图层,从而节省渲染背景和前景完全没有变化的镜头的时间。在合成中使用运动模糊插件、景深插件和其他插件可以更好地控制您的镜头外观,即使在您完成渲染之后 – 并且不会将这些效果永久烘焙到您的渲染图像中。
渲染产品可视化转盘动画?有几十种产品,每一种都有不同的标签?只需渲染一次产品并换出 comp 中的标签。
使用渲染管理器
对于任何认真的 3D 艺术家或创意机构来说,使用渲染管理器都是合乎逻辑的步骤,因为它带来了很多好处。一些好处包括更好地控制您正在渲染的作业,而不必只是 3D 渲染作业。
大多数现代渲染管理器,例如Thinkbox Deadline(最多可免费用于 2 个节点,因此请试驾),支持运行各种作业,从 3D 渲染到视频渲染、粒子缓存、文件转换、图像处理到批量处理。
Rendermanager 将减少您通常花在设置和检查渲染上的时间,并且通过渲染自动化,您甚至可以设置渲染管道的整个链。
使用 Rendermanager,您可以自动化整个过程。只需创建一个在 3D 场景完成渲染时自动启动的合成作业。创建一个编辑作业,一旦这些合成作业完成,它将重新渲染您的预览。
但是,Rendermanagers 还可以用于另一件事:提高渲染性能。
你看,渲染引擎的工作原理都非常相似。点击渲染按钮后,渲染过程通常包括 3 个阶段:
准备要渲染的场景,以便渲染引擎可以充分利用它渲染场景(以桶或渐进模式)将完成的渲染和 AOV 保存到存储
通常,第二阶段,即实际的渲染阶段,占用的时间最多。当您进行最终渲染并且试图获得需要大量样本的无噪声图像时尤其如此。实际渲染阶段的伟大之处在于它非常容易并行化,这意味着渲染引擎充分利用了您的所有资源、CPU 内核或 GPU 内核来运行此阶段。
在第一阶段,虽然,在准备阶段,无法充分利用你的硬件,因为它是非常依赖于你的CPU的单核性能,最在这个阶段的计算只能在运行单核(或极少数核心)。这意味着您的 PC 的其余性能只是坐着等待,直到该阶段完成,它可以提升并充分利用其资源的潜力。
这是在 V-Ray CPU 渲染器上渲染中等复杂 3D 场景时 CPU 利用率的屏幕截图:
如您所见,CPU 利用率不高。很多时候,它在大约 10% 的利用率下闲置。这是场景准备发生的地方。它主要包括构建光线追踪层次结构和准备纹理。当利用率跃升至 100% 并保持一段时间时,这就是实际渲染阶段的开始,您通常可以通过渐进式存储桶或渐进式渲染看到这一阶段。
在最好的情况下,您的 PC 资源在渲染过程中将始终被 100% 使用,但由于这不是渲染引擎的工作方式,我们可以使用渲染管理器来改进它。现在,请注意,此准备时间是您渲染的每帧固定的时间量 – 如果您的整体渲染时间更长,它不会变长。因此,如果您渲染需要数小时才能渲染的帧,那么一分钟的准备时间并不多。
但是,如果您的帧只需要几分钟就可以完成渲染,那么一分钟的准备时间就会浪费大量资源。最坏的情况是您拥有一台配备大量 GPU 的强大 PC。假设您有一个带有 8 个 GPU 的渲染节点。所有 8 个 GPU 都将闲置在那里,等待准备工作完成。
如果您有 8 台 PC,每台 PC 配备 1 个 GPU,则准备时间将被 8 分,从而浪费更少的资源——因为准备工作可以在 8 台 PC 上同时进行。
同时是这里的关键词,因为我们可以使用 Rendermanager在一台 PC上同时渲染多个作业,为我们正在运行的每个渲染作业分配资源。
因此,如果我们有一台带有 8 个 GPU 的 PC,我们可以使用渲染管理器一次运行 8 个作业,这些作业中的每一个都渲染我们的图像序列的一帧,并且这些作业中的每一个都被分配了一个 GPU,因此他们不干涉。这是渲染管理器的标准做法,易于设置。
当然,在单台 PC 上同时运行多个渲染作业需要大量资源,但借助强大的 CPU 和大量 RAM,您可能会节省大量时间。当然,这个 8-GPU 示例非常极端,但即使使用普通的 1CPU、1GPU 机器,您也可以使用第二个同步渲染作业来填充 CPU 或 GPU 相当空闲的区域。
使用不同的渲染引擎
现在,使用不同的渲染引擎肯定不是您可以轻松完成的事情,如果您习惯于工作流程或绑定到公司管道中的特定工具,这将不起作用。但是,如果您确实掌握了使用哪些工具的权力,并且渴望了解另一个渲染引擎是否对未来的工作有意义,那么请做一些实验。
您可能已经从事 CPU 渲染等工作多年,现在可能是时候跳上现代 GPU 渲染引擎,如Redshift或Octane。总会有比其他工具更适合您的项目类型和工作方法的工具,因此请继续测试市场上出现的新工具。
检查软件更新
您的版本中可能始终存在已在更新中修复的错误,或者可能存在可提高渲染性能的功能更新,因此请检查您使用的软件和工具是否有任何此类更新。如果您在工具中遇到一些奇怪的行为,请始终向开发人员报告,以便修复。大多数软件包都有论坛,您可以在其中轻松提交错误报告。
升级您的 PC,购买更多更好的硬件
您可以跳过 3D 项目场景的任何类型的优化,如果您只是获得更好的硬件,仍然可以看到明显更快的渲染速度。对于某些人来说,这可能不是一个可行的选择,但对于那些有钱花钱的人来说,这是值得考虑的。这一切都与投资回报有关。如果它现在花费更多钱,但您可以用一半的时间完成所有未来的渲染,那么更好的硬件很快就会收回成本。
如何通过硬件升级提高 PC 的性能:
决定要提高性能的工作负载(例如在 Redshift 中渲染或在 V-Ray 中渲染)找出对工作负载性能至关重要的硬件组件(用于 GPU 渲染的 GPU、用于 CPU 渲染的 CPU、RAM)检查当前硬件的性能指标(通过CPU 的Cinebench或VRAY-Bench或GPU 的Octanebench和Redshift Bench等基准测试)确定预算并找到适合您预算的潜在较新硬件组件的基准分数(由于大多数分数是线性的,因此您将已经知道较新部件与当前 PC 的性能相比要快多少)
对于 GPU 渲染引擎,添加更多 GPU 通常几乎线性地扩展性能。不过,您必须确保拥有支持多 GPU 设置的平台、主板、CPU 和芯片组。对于 CPU 渲染,内核越多,时钟越高,通常越好。
每个组件的性能越高,您通常为增加性能支付的额外费用就越高。有时获得多个低层组件(例如 GPU)而不是一个高端组件是有意义的。
超频您当前拥有的硬件
它是一个可行的选择,可以暂时从硬件中获得更高的性能。
超频的缺点如下:
它会增加不稳定性,如果出现问题或更糟,则可能会丢失渲染过程与性能提升相比,您产生了不成比例的热量与性能提升相比,您消耗的功率不成比例您的组件承受更大的压力,有可能损坏超频组件(CPU、GPU、主板、RAM)或整个 PC
在这些免责声明之后,对于那些知道自己在做什么的人来说,超频仍然是一个选择。但是,调整 OC 设置可能需要很多时间,因此请务必在遇到最终渲染的时间限制之前进行试验。CPU 和 GPU 超频都是可能的。
在我看来,在大多数情况下,超频是不值得的,GPU 和 CPU 已经做得很好,它们的自动加速功能保持在更安全的范围内。
使用渲云渲染
渲染可以交给云渲染,不用本地渲染,本地渲染占用电脑,而且对于电脑配置,显卡,内存都要求较高。云渲染可以解放本地电脑,且把渲染速度交给到自己手上,根据项目的时间进度,选择不同的渲染模式,做到既能不耽误项目进展,提高效率,还可以不用考虑更换新的电脑设备。
渲云打破用户衔接上“云”的壁垒,以强大公有云实力技术打造聚合创新生态产业链,面向建筑设计、VR/AR、影视动漫、工业设计等多领域三维内容制作者提供更智能地极速云端渲染服务,实现用户与“云”的完美衔接。
自公司成立以来,渲云作为Paas+SaaS服务平台、Unity官方唯一合法授权的云渲染服务平台,帮助用户快速完成三维内容、动画及效果图的渲染计算,并为超过400000家客户提供灵活、高效、海量节点无限拓展的渲染服务。
想要质量,也想要速度,提交到云渲染进行渲染呀,根据自身需求选择合适的的云端服务器的配置和数量,联机渲染,批量渲染,速度更快,价格实惠,最大限度的提升渲染速度。
本文章有点长,但是耐心阅读,有很多的知识的,有需求的话来了解一下渲云吧。
3d如何渲染效果图
055-79000从第20节开始。下面我们一起来讨论一下材质和灯光表现。如何通过渲染器实现?
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
举个栗子,吃住行玩。首先,指定“扫描线渲染器”。可以使用通用渲染器的设置,不需要指定或切换。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
通过“公共”界面下的测试渲染,我们不难发现核心算法是“光线追踪”。
然后点击渲染设置面板上的“渲染元素”,为下一步操作做准备。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
刚才,当我们进入渲染设置的“渲染元素”面板时,我们可以很容易地看到“渲染元素”。渲染元素通常指向3dmax渲染场景中的各种材质。
扩展热文3354渲染大师|做一个3dmax渲染大师?学好频道渲染,就是效果图的高手。
然后点击这个按钮得到“渲染元素”弹出窗口,我们看到各种材质的列表。
“:”的前面是这个“渲染元素”的用法,“:”的后面是具体的素材类型(或“品种”或“风格”)。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
后面还有两个板块,光线跟踪器,高级光照,前面是渲染元素,都属于scanline renderer预留给设计师展示3dmax渲染图的方案。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
在使用扫描线渲染器时,“高级光照”可以配合光线追迹和光能传递两个技能使用,很好的处理了ls甚至早期3D渲染软件在表达光照方面的一些不足。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
如上图所示,当选择高级照明时,你也可以在它的子层级下的下拉列表中找到灯光跟踪器。顾名思义,它的作用是整体设置3dmax渲染的光线追迹。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
说到这里,我想即使是实习生也能理解“扫描线渲染器”的概念。
但是,你还是要学会搭配灯光和材质才舒服。毕竟光线和材质的表现才是渲染器真正发挥作用的地方。
如果你不使用VRAY、CORONA等渲染插件,也不安装任何插件辅助,那么你适合使用3DMAX自带的材质和编辑器。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
例如,通过点击材料编辑器界面上的“类型”按钮,我们可以切换到另一种材料。我们还看到在“材质”列表下,还有一个“标准”选项,是3dmax本身就有的材质!
3dmax软件自带的材质,本来是配合扫描线渲染器使用的,相当方便!
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
另外,你可以在3DMAX中设计不同的灯光,即使你没有安装灯光插件,也可以使用3DMAX自带的灯光。
在3dmax渲染图的渲染中,如“光度”和“标准灯(模拟灯)”可以和扫描线渲染器一起使用。
绘图员设计好材质参数和场景灯光后,还需要在渲染设置中设置渲染参数。一旦设置了材质、光照和渲染参数,渲染图的渲染就可以准备好了。
3dmax渲染教程|狂模渲染大师如何用自带的渲染器渲染效果图?
效果大师通常认为最终影响表现材质和灯光效果的因素是模型材质的细分、灯光角度和细分、渲染参数的优化程度等。按体重级别排列。