置换着色器的 Turtle 属性

若要在“属性编辑器”(Attribute Editor)中查看以下属性,请选择一个对象并在其置换着色器节点中展开 Turtle 部分。

方法(Method)

可以通过两种不同的方法在 Turtle 中执行置换映射;“渲染时间微三角形”(Rendertime Micro Triangles)“细分前”(Pre-Tessellation)。这两种方法如下所述。在置换着色器中的 Turtle 卷展栏下,您可以找到要使用的方法及其对应的设置。这两种方法均使用以下两个属性:

置换比例(Displacement Scale)

控制置换贴图的高度。值越大,产生的置换越多。对于动画,此属性可设置关键帧。

平滑基础网格(Smooth Base Mesh)

向点的置换值添加平滑值,以提高基础网格的平滑度,从而确保最终渲染中没有可见的基础三角形边界。“平滑基础网格”(Smooth Base Mesh)适用于单个多边形。如果需要“全局”平滑外观,请将对象渲染为细分曲面。

渲染时间微三角形

此方法将在渲染时置换几何体,并且仅当光线遇到某个对象时才根据需要创建微三角形。因此,它非常节约内存。它还使用细节级别 (LOD) 方法根据与摄影机的距离缩放细分量。这是默认的置换映射方法。

每边最大三角形数(Max Triangles Per Edge)

控制基础三角形将被分割的最大微三角形数。如果“每边最大三角形数”(Max Triangles Per Edge)设置为 10,则基础三角形将被分割为 10*10 = 100 个微三角形。

启用 LOD (Enable LOD)

在置换对象上启用细节级别。LOD 算法会将微三角形的大小调整为小于像素的大小。如果对象距离较远,则生成较少的微三角形。

LOD 质量(LOD Quality)

强制 LOD 细分更硬(如果大于 1)或更稀疏(如果小于 1)的边。根据 LOD 计算得出的建议细分将乘以此值。这样可以根据需要修剪 LOD 特征。

最大光线偏移(Max Ray Offset)

如果此方法与最终聚集和/或遮挡结合使用,则必须调整此参数以避免自阴影瑕疵。如果要兼用正负置换,最好将此值设置为置换比例值的一半。如果整个置换贴图为正,则将光线偏移保留为零。

细分前

此方法先将对象细分为若干微三角形,然后再开始渲染(与 Maya 和 mental ray 处理置换的方法类似)。由于所有三角形均保留在内存中,因此高度细化的对象可能会占用大量内存。但是,可以自适应地完成细化,确保生成尽可能少的三角形。

最大细分(Max Subdivision)

设置从基础三角形创建微三角形时要使用的初始细分级别。基础三角形在每个级别上将分割为四个新三角形,因此对于每个基础三角形,您将获得最大细分微三角形数次幂 4。

边长(Edge length)

此参数可用于在达到特定边长时停止细分。边长为以世界空间为单位 (cm) 的距离。如果某个三角形的边短于该距离,则不会对该三角形进行更多细分。

边高度(Edge Height)

此参数可用于减少生成的微三角形数。如果相邻微三角形的置换类似,则可将其合并在一起,形成一个更大的三角形。边高度设置三角形要进行合并可能存在的最大置换差值。

平滑法线(Smooth Normals)

启用“平滑法线”(Smooth Normals)可对置换三角形的法线进行插值。不平滑法线可能会使置换效果更加明显。

置换边界

置换边界可以由 Turtle 自动计算,也可以由您手动进行设置。默认设置是自动计算边界。但是,有时计算无法找到正确的边界,这会导致出现置换瑕疵。通过手动设置边界,可以避免此问题。分析着色网络以查找其边界也有可能非常耗时,尤其是对于程序纹理更是如此。因此,通过使用手动边界,还可以在预处理阶段节省大量时间。如果使用手动边界,请确保将其设置得尽可能紧密,这有助于提高性能

下边界(Lower Bound)

控制着色器应返回的最小置换值。请注意,如果置换为负,则此设置必须是负值。如果着色器返回的值低于此设置,则会将其钳制为该值。

上边界(Upper Bound)

控制着色器应返回的最大置换值。如果着色器返回的值高于此设置,则会将其钳制为该值。

提示: 如果使用文件纹理作为置换贴图,请使用 Mipmap 过滤选项以提高性能。