位移偏移
这些值在与位移乘数参数相乘后被添加到传入的位移值中。这产生沿位移方向偏移位移一定量的效果。积极的价值观推动着这种流离失所,看起来好像它坐在一个基座上。负值会使位移回到表面。它不会扭转位移,更像是在表面创建一个孔,然后将位移应用到孔的底部。
您可能会发现粗糙或尖端位移的表面偶尔会出现问题,例如在铲斗边缘被切断或在光线跟踪阴影中产生间隙。某些节点(如Planet)具有位移公差参数,可以帮助改善这一点。更改此参数可以大大增加渲染时间,所以如果您有特定需求,只应更改它。默认值为1.如果遇到问题,请尝试将其提高到2.如果这样做能改善但不能完全解决问题,请尝试以小增量增加它。但是,你通常不希望超过4或5的值。
3、计算机图形学中的全局照明
全局照明是3D计算机图形中使用的一组算法的通用名称,旨在为3D场景添加更逼真的照明。这些算法不仅考虑直接来自光源的光(直接照明),而且还考虑后续情况,其中来自同一源的光线被场景中的其他表面反射,无论是反射还是不反射(间接照明)。http://en.wikipedia.org/wiki/Global_illumination
Terragen中的全局照明
GI花园760x240.jpg
(UlcoGlimmerveen的场景)
Terragen中的直接照明是直接来自太阳或其他特定光源的照明,而不是来自发光物体的照明。Terragen中的全局照明(GI)意味着来自其他地方的照明,包括间接照明以及明亮,非特定光源的发光物体所导致的照明。在Terragen场景中,GI的强度由一个EnviroLight节点控制。
在Terragen,GI是:
阴影不是黑色的原因。
从天空照明。
光线由其他物体反射而引起的照明。
由发光的发光物体发出的光引起的照明。熔岩,火,生物发光。
云层和大气中的“多次散射”。体积中的“多重散射”通常被认为是与全局照明不同的现象,但实际上,如果散射被渲染为体积上的照明效果,它可以被视为全局照明的一种形式。在Terragen中,大气中的多次散射(以及一些云层)使用全局照明缓存来近似。云和大气会以模拟多次散射的方式照亮自己。作为全球照明系统的一部分,GI的体积与表面的GI完全结合。从表面反弹或发射的光线会照亮云层和大气层,通过云层和大气层的光线散射将照亮表面。
在Terragen4中,新的云类型“CloudLayerV3”和“EasyCloud”使用独立的GI系统,其质量控制与全局照明缓存分开,但它们可视化地集成到GI系统的其他部分,与旧系统云类型“云层V2”。
4、使用GI进行渲染
无GI缓存文件的渲染
要使用Terragen中的GlobalIllumination渲染图像而不使用GI缓存文件,您需要以下内容:
EnviroLight在场景中启用,其模式设置为“全局照明”
在渲染GI设置中,“GI相对细节”设置为1或更高。
您可以通过禁用EnviroLight关闭全局照明,但Terragen可能仍然会浪费时间。要完全关闭GI,请编辑“渲染GI”设置并将“GI相对细节”设置为0.所有其他GI设置可以保持原样。
性能注意事项:除非确实需要,否则不要在场景中启用多个EnviroLight。如果您希望增强EnviroLight的效果,请在单个EnviroLight中增加“强度”设置。多Enviro灯可以提高GI质量,但它们不是最好的方式来做到这一点,他们不必要地增加渲染时间。您可以通过在“渲染GI设置”中增加“GI样本质量”来实现更高效的质量提升。这将提供更短的渲染时间比启用多个EnviroLights更高的质量。如果您想要这种效果,对于多个启用EnviroLight的唯一好用途是在全局照明模式下使用一个EnviroLight,而在AmbientOcclusion模式下使用另一个EnviroLight。当然,你可以在你的项目中安装尽可能多的EnviroLights。
通常,当您使用全局照明渲染图像时,Terragen会以两遍渲染图像。预渲染将为图像计算全局照明,并将其存储在称为GI缓存的空间数据结构中。当您在真正的渲染开始之前看到大量填充图像的小点时,您会看到预先生成GI缓存。一旦前传完成,最终传球的渲染开始。最终图像中的全局照明取决于预处理中生成的GI缓存。
5、使用GI缓存文件进行渲染
Terragen2.4(不在免费非商业版)中的一项新功能是能够读取和写入GI缓存文件。这些允许您将预传结果写入磁盘或文件网络,并在渲染图像时将其读回。使用GI缓存文件是一个两步过程。首先渲染计算图像(或图像序列)的全局照明的预先通道,并以GI缓存文件(或GI缓存文件序列)的形式将生成的GI缓存写入磁盘或网络。在创建这些GI缓存文件后,您可以在缓存文件中使用GI渲染最终图像,而不是在每次渲染图像时重新计算GI。
您不需要使用GI缓存文件来享受全局照明。但是,GI缓存有很多用途,例如:
消除动画中的GI闪烁。为此,请读取单个缓存文件或按顺序在缓存文件之间进行插值。
将单独渲染的图块中的GI匹配到要合并为更大图像,全景图,天空框或天空云的图块。这可以通过读取单个缓存文件或混合使用不同摄像头渲染的多个缓存文件来实现。
通过禁用所有指示灯并从GI缓存文件中读取GI来渲染GI通道(间接照明通行证)。
使用通过对场景进行不同照明或其他更改而生成的GI来渲染特效,例如,一些对象添加或删除。您可以使用生成所需GI的场景来写入GI缓存文件,然后使用该GI缓存文件渲染最终图像。
在Terragen2中,对GI预通道中的细节水平的更多控制要比GI相对细节设置(仅允许整个数值(Terragen3没有此限制))可能实现的更高。在写入GI缓存时,您可以选择不同的图像大小进行渲染,或选择不同的“细节”值。通常情况下,'细节'会影响渲染图像中的很多东西,但是如果单独渲染GI缓存,则可以为GI选择不同的细节。图像大小和(在Terragen2中)细节都对GI解决方案的细节具有相同的效果,与“GI相对细节”相同-它们都是线性倍数-但您可以更精确地更改图像大小或细节滑块比你可以用GI相对细节。(Terragen3使用一个名为'GI缓存细节'的设置,它不受详细设置的影响。)
为动画生成GI缓存文件序列
在渲染GI设置(这是默认设置)中选中“无GI缓存文件”进行测试渲染,设置照明效果。
切换到“渲染GI设置”中的“写入GI缓存文件”。指定GI缓存文件的位置和文件名。在文件名中包含一个帧格式化程序,如'%04d'(不包括引号)。该格式化程序将被帧编号替换,以便您可以渲染一系列缓存文件。将为您渲染的每个帧生成一个文件。
通过渲染一个序列来生成GI缓存文件,就像渲染一系列图像一样。勾选“写入GI缓存文件”时,最终图像不会被渲染或保存。你不必渲染每一帧。“缓存时间”缓存(缓存文件被多个帧分隔开)有助于最终图像在GI解决方案之间逐渐融合,而不是逐帧闪烁。您可以使用“渲染序列”按钮在计算机上渲染序列,也可以像渲染最终图像一样将其分发到渲染场中。为动画生成高速缓存可以分布在多台机器上,因为每个帧都会生成一个不同的GI高速缓存文件。
使用“时间稀疏”技术只需要使用帧步长大于1的序列生成较少的文件。例如,您可以选择通过将步骤设置为10,20,30等来渲染帧10.然而,如果你改变了这一步,特别重要的是要注意,以前渲染中存在的任何旧文件只有在被最新渲染覆盖时才会被删除。当你开始渲染一个新的序列时,它们不会被自动删除。在读取最终映像传递的缓存时,Terragen只会查看存在的任何文件,这些文件与您告诉它读取的文件序列相匹配。
呈现最终动画
切换到“渲染GI设置”中的“读取GI缓存文件”。指定您生成的其中一个GI缓存文件的文件名。序列中的任何文件都可以。
将混合模式设置为“插值(对于动画)”。在大多数情况下,这是动画的最佳模式。它设计用于处理时间稀疏缓存,并根据帧编号逐渐在各组文件之间进行混合。当每个帧都有一个缓存文件时,它也可以工作,但在这种情况下,它相当于“在范围内均等混合”模式,但由于插值算法的性质,它会混合少一个缓存文件。“渲染GI设置”部分更详细地解释了各种混合模式。
选择缓存文件的数量混合在一起,为每个帧生成GI解决方案。此数字越高,GI的质量越高,播放序列时的波动就越小。如果你在每一帧都有一个GI缓存文件,那么它更加重要,因为它会影响GI闪烁的减少程度。但是,更高的数字会增加最终图像的渲染时间。如果GI缓存文件非常大,特别是如果它们是以高GI样本质量设置生成的,那么对渲染时间的这种影响可能很大。
如果GI的波动太大,你有三种选择。A)您可以通过将一些GI文件移出文件夹来减缓波动,使缓存更加稀疏。但是,这会使用距离当前帧较远的文件,并且如果您的相机移动得太快,则可能会看到GI覆盖范围不足或质量下降的区域。B)增加“混合文件的数量”。通常这会减少波动或闪烁,但可能会影响渲染时间。如果相机正在快速移动,以便额外的文件不能覆盖正在渲染的区域3D空间,那么额外的文件甚至可能无法提供帮助。如果一切都失败了,您可能需要重新生成具有更高GI样本质量的GI缓存文件,但这也可能会增加最终图像的渲染时间。
如果有疑问,最好的出发点是生成GI高速缓存文件,其质量设置适用于您满意的静态图像,生成第10个GI高速缓存文件并将其设置为混合3,4或5个文件以用于最终序列。
6、呈现GI设置
预解算
GI缓存细节:GI缓存记录整个图像中许多点的光照。这些是你在前传中看到的点。每个点对应一个样本。每个样品存储来自多个方向的光。GI缓存细节会影响预传期间图像空间中样本的间距。然后,在最后一遍中,场景的任何部分的照明都是附近样本的加权平均值,或换句话说,是经过滤波的插值。细节越低,近似越粗糙。如果细节太低,这通常表现为地理标志模糊或缺乏清晰度。低GI缓存细节还可能导致场景的某些部分在预通过时完全漏掉,并且这可能导致这些区域中没有GI(黑色)。这更可能是植被或图像中小而稀疏的物体的问题。(即使在高GI缓存细节也会发生这种情况,但不太可能发生。)GI缓存细节影响内存中GI缓存的大小(如果保存到GI缓存文件,则缓存在磁盘上),并影响所用时间呈现前传。它也可以影响最终传递的渲染时间,但比“GI样本质量”要少得多。
GI样本质量:在GI缓存中的每个样本点处,许多射线在球体中向外投射以捕获该点处的照明。GI样本质量影响从每个样本点向外投射的射线数量。实际的光线数量远远大于设定值(通常至少为6x),但通常GI样品质量的设置会导致更多的光线。如果与GI的方向有很大的对比,则可能需要更高的样品质量以避免可能被描述为“斑点”或者有时完全缺失重要光源的情况。对于某些横向渲染,默认值2可能已足够,但对于高质量的最终渲染,您可能希望增加此设置,对于建议渲染,我们建议至少6个。GI样本质量还会影响每个样本存储的数据量。因此,GI缓存细节和GI样本质量都会影响内存中GI的大小以及渲染预传的时间。GI样本质量也会影响最终传递的渲染时间远远超过GI缓存细节,因为这主要影响预传时间。
GI模糊半径:每个GI采样点影响最终图像中的空间球形区域,并且多个样本球体重叠时,它们将被平均到一起。这些球体的半径取决于渲染器决定的各种事物,但您可以控制强制执行的最小半径,以确保足够的样本在图像的每个部分上重叠。GI模糊半径影响图像空间中的最小半径。虽然它在图像空间中,但它不是以像素为单位进行测量的。它与您在预制中看到的GI预备样品的间距有关,但不包括由“超级预抽样”制作的额外样品。默认值是8.较低的值可能会给人更多GI的细节印象,但会导致图像斑点增加和动画闪烁。增加的GI模糊半径可以导致更平滑的GI,但明显的细节可能会减少。我们认为8对于大多数渲染来说是一个很好的折衷方案。
在Terragen3&4中:由于半径相对于预备样本的间距,如果增加“GI缓存细节”,则图像空间中的模糊区域将会减少。它以这种方式工作,以便“GI缓存细节”改变整体细节而不影响插值的质量。
在Terragen2中:由于半径相对于预备样本的间距,如果增加“细节”(渲染设置)或“GI相对细节”,则图像空间中的模糊区域将会减少。它以这种方式工作,以便“细节”和“GI相对细节”在不影响插值质量的情况下改变整体细节。
超级采样预处理:超级采样预处理在预处理中采用更密集的样本,以便不会错过附近没有任何其他物体的小型或狭窄物体。如果您可以看到预计缺少物体并且附近没有其他物体(例如,前景中的草叶或狭窄的树干),则应该启用此功能。预测中遗漏的物体会导致阴影(GI很重要的区域)太暗。但是,超级样品预处理会降低每个样品的质量,这会降低GI的整体质量,因此默认关闭。
7、GI缓存文件
没有GI缓存文件:正常渲染图像。预备生成GI并且图像通过渲染最终图像。
写入GI缓存文件:仅渲染预备生成GI缓存,然后将GI缓存保存到文件。
读取GI缓存文件(S):只渲染最终的图像。GI是从先前生成的GI缓存文件或GI缓存文件中读取的。
混合模式:仅在选择“读取GI缓存文件”时适用。混合模式可以设置为以下选项之一。“一个文件(确切文件名)”读取单个缓存文件,但其他3种模式可以处理文件序列。如果基本文件名包含一个数字,并且同一文件夹中的其他文件具有相同的名称,而这些名称之间的差别仅在于此数字,则它们将被假定为同一序列的一部分,并且该数字将被解释为帧号。当前帧号和混合模式决定序列中的哪个文件将被读取。
一个文件(确切文件名):只读取一个缓存文件,文件名在“读取GI缓存文件”右侧。这可以是一个确切的文件名,或者如果文件名包含'%04d'(不带引号),那么该字符串将替换为表示当前帧的4位数帧号。通过用不同的数字替换'4'来支持不同数目的数字。如果文件未找到,则渲染器将报告错误;在此模式下不会检测到序列。
按顺序排列最近的文件:从基本文件名(在“读取GI缓存文件”右侧给出)开始,此模式查找属于与基本文件名相同序列的文件。渲染器将只读取一个缓存文件,选择帧号与当前帧号最接近的文件。您可以选择序列中的任何文件作为基本文件名。
在范围内相等混合:从基本文件名(在“读取GI缓存文件”右侧给出)开始,此模式查找属于与基本文件名相同序列的文件。渲染器将尝试读取与下面的“要混合的文件数”参数一样多的文件,并选择其帧编号与当前帧编号最接近的文件。如果GI解决方案在3D空间中重叠,则结果会一起平均,并且只要一个文件解决方案中存在空白(例如,在相机视图之外),其他文件就可以填充数据。您可以选择序列中的任何文件作为基本文件名。
插值(对于动画):除了根据当前帧编号对文件加权不同之外,这与“范围内的均匀混合”相似,以在动画期间生成稳定的混合。如果您的缓存在时间上“稀疏”,此模式将变得非常有用。'稀疏缓存'是GI缓存文件的序列,并非每个帧都有一个缓存文件。例如,您可能在帧10,20,30等上有GI缓存文件。如果这样做,并且将混合模式设置为“插值(对于动画)”,则会在动画过程中选择的不同GIGI缓存集之间进行平滑混合。缓存文件之间的帧越多,混合越渐趋于平缓。对使用的第一个和最后一个文件应用斜坡上/下加权,为不同组文件的结果之间提供线性插值,以便在集之间不发生任何变化。(在缓存文件覆盖率不足的情况下,3D空间中可能仍会出现弹出窗口。)“混合文件数”应设置为2或更多以允许混合工作。此模式也适用于每帧存在缓存文件的情况,但在这种情况下,由于插值算法的性质,它相当于“在范围内均衡混合”模式,不同之处在于它会混合一个缓存文件。
要混合的文件数:当混合模式为“等于混合范围内”或“插值(对于动画)”时,这是将被读取和混合在一起以渲染帧的GI缓存文件的最大数量。如果混合模式是“内插(对于动画)”,那么在一些帧上它将读取少一个文件。这是因为线性插值有时会导致范围内的第一个或最后一个文件的权重为零