龙空技术网

C4D 的 Octane 置换:模型和纹理注意事项「国外大神知识笔记2」

宝地绘画 3133

前言:

如今朋友们对“piz是什么格式”可能比较看重,看官们都想要学习一些“piz是什么格式”的相关知识。那么小编同时在网络上网罗了一些关于“piz是什么格式””的相关内容,希望各位老铁们能喜欢,兄弟们快快来了解一下吧!

C4D 中 Octane 中的位移

第 2 部分:模型和纹理注意事项

这是位移系列的第二部分。如果您还没有,最好至少浏览一下 Cinema 4D 的 Octane 置换简介

关于本指南

仅仅知道如何将纹理插入置换节点并翻转几个开关通常是不够的。很多关于什么使置换实际上看起来不错取决于模型本身,以及它是如何设置的。本指南将深入探讨模型和源纹理中影响置换的所有因素以及如何解决常见问题。

在流离失所看起来正确之前,需要解决四件事。

多边形密度 -位移的分辨率 - 它看起来有多清晰和平滑。

网格拓扑 -控制从网格的一个部分移动到另一部分的质量。

投影/UV 映射 -控制纹理的扭曲。

源图像的质量 -避免使用 JPEG!

它们中的每一个本身都是一个完整的艺术形式,因此我们将在此处非常努力地保持简短,并仅解释这三个概念中与置换特别相关的部分。

多边形密度

Octane 在特定表面积上可支配的几何形状的总量对置换效果的好坏影响最大。

Pexels 上Anthony拍摄的照片

想象一个平面的 2D 图像。如果分辨率太低,您就会开始丢失细节,最终甚至无法分辨出图像是什么。随着分辨率的提高,它看起来越来越好,直到达到眼睛无法区分改进的程度。但是如果你放大,突然它又看起来很糟糕,直到你将分辨率提高到足以让眼睛满意为止。所有这些额外的像素都是有代价的,通常是处理时间和文件大小,因此目标始终是平衡像素数量和最终格式的图像查看距离。

这在置换方面是相同的,只是我们处理的是多边形(和/或体素,如果您使用纹理置换)而不是像素。低密度网格不会很好地置换,您会看到伪影和锯齿线。最终,随着多边形密度的增加,它看起来会越来越好,直到添加更多不会对您的眼睛产生任何影响(尽管它会对您的 gpu 产生很大影响)。当您放大时,它可能再次看起来很糟糕,您必须再次提高分辨率,直到结果可以接受。

与 2D 图像类似,目标是尽可能少的多边形,而在场景中距离模型最近的距离处位移仍然看起来不错。

不同之处在于 2D 图像的计算成本相当低,如果你过度使用分辨率,它通常不会对性能产生太大影响。如果您在 3D 模型上过度使用分辨率(多数),您将陷入痛苦的世界

那么如何控制多边形密度呢?通常它是在 C4D 中让您的基础网格达到足够高的密度和/或使用 Subdivision Surface 对象在 CPU 上进一步细分它,或使用 Octane 提供的两种方法之一在 GPU 上进一步细分它的某种组合。

三角测量

Octane对任何馈入其中的网格进行三角测量。如果您在 C4D 中构建一个包含三角形、四边形和 n 边形组合的模型并启动实时查看器,Octane 将首先将所有这些转换为三角形,然后再执行其他任何操作。这就是为什么对于较低密度的网格,如果您的置换中有尖锐的几何形状,您可能会期望得到更平滑的挤压外观,则可能会出现切角或锯齿形几何形状。

这也解释了为什么当您创建具有一定数量四边形的模型时,Octane 会显示两倍于您认为的多边形。三角测量不一定是好或坏,你只是想知道这就是正在发生的事情。

基础网格密度

当您使用置换时,通常会有一个基础网格,该基础网格被馈送到某种程序细分系统中,以便获得足够多的多边形来正确置换。这是纹理和顶点位移非常不同的地方。

顶点置换需要非常高密度的几何体,并且很乐意尽可能多地使用多边形。大多数情况下,您必须进一步细分基础网格以获得足够平滑的结果,有时(例如极端特写镜头)由于缺乏内置平滑,这可能是不可能或不可行的。在这些情况下,请考虑纹理置换。

纹理置换最好使用中高密度基础网格。请记住,它会以您设置的分辨率进一步细分体素网格中的基础网格,因此即使您只有一个多边形,您仍然会看到一些东西。这看起来不太好,并且会导致各种错误和伪影(最常见的是“剪裁”或“丢失多边形”问题)。

基础网格也可能过于密集(主要在细分之前的基础网格的小斜面和其他非常紧凑的区域周围看到),这会导致不同的奇怪错误和伪影。

你怎么知道什么太密集或不够密集?迭代、实践、体验。这在很大程度上取决于地图本身,模型有多大,离它有多远。

细分网格

Octane 和 Cinema 4D 都有细分对象的程序方法。细分只是意味着获取每个多边形并将其分成偶数部分。

关于这一点的重要部分是它都是程序性的,因此如果您决定需要更接近或远离对象,您可以更改密度。您还可以在需要之前关闭细分,从而在您移动物体或调整场景的其他部分时使场景更易于管理。

细分以级别来衡量。每个级别将每个多边形除以其具有的边数(三角形变成 3 个四边形,一个四边形变成四个四边形,一个七边形的 n 边形变成七个四边形,等等)。在细分步骤之后,Octane 然后对四边形进行三角剖分,从而有效地将多边形数量加倍。

如果您有一个四边形并将其细分一次(第 1 级),您最终会得到四个四边形。如果你去到第 2 级,它会从第 1 级获取 4 个四边形并将它们中的每一个分成四个,所以你最终得到 16 个。第 3 级将这 16 个多边形分成 4 个,得到 128 个,然后是 512、2048.. . 等等等等。当您进入更高级别时,您可以看到这如何快速叠加,特别是如果您从已经密集的基础网格开始。

在宿主应用程序中细分 (C4D)

Cinema 4D可以通过细分曲面 (SDS) 对象执行此操作。SDS 可以升到 6 级,如果您的基础网格开始时有相当数量的多边形,这很容易停止或使 C4D 崩溃,所以要非常小心地升级

在这个级别上进行细分有几个优点 - C4D 允许 SDS 加权,这使得更容易控制形状的轮廓,而无需在模型中添加更多切割。您还可以在没有渲染的情况下查看最终形状的外观,因为 SDS 对象的效果显示在编辑器视图中。最后,C4D 提供了比其他方法更多的细分方案,它们可能会也可能不会派上用场。

注意:C4D SDS 具有编辑器细分和渲染细分 - Octane 使用编辑器细分,因此您可以忽略渲染细分。

在发动机中细分(辛烷值)

Octane还可以在渲染时在Octane Object 标签的Subdivision Group选项卡中进行细分。“在渲染时”意味着它不会出现在编辑器视口中或影响 C4D 的性能。相反,一旦您点击渲染按钮或启动 Live Viewer,它就会进行细分。根据我们正在讨论的多边形数量,这可能意味着它在开始渲染场景之前要等待很长时间。

与 C4D 的权重 SDS 工具类似,Octane 有一个细分锐度字段,通过锐化角来改变细分的影响。它不能像 C4D 那样为您提供对锐化的控制,因为您无法指定单个边缘进行锐化,但如果您不介意所有角落都被锐化相同的数量,那么它在紧要关头是很好的。

辛烷值细分考虑了 C4D 细分。如果您将 1x1 分段平面放置在 C4D 细分曲面对象中并将其设置为级别 2,则会创建 16 个多边形。如果您在其上放置一个 Octane 对象标签并将标签的细分级别设置为 1,它将采用 16 个多边形并将它们全部分成 4 个,从而为您提供 128 个四边形。Octane 对所有几何体进行三角剖分,因此它进一步将每个四边形分成两个三角形,在 GPU 上总共有256个多边形(C4D 仍然只能看到它使用 SDS 创建的 16 个)。因此,在 C4D SDS 中已经存在的对象上添加 Octane 对象标签时要小心。

细分材料

Octane 的置换节点还可以让您控制细分。它是如何工作的取决于您使用的是纹理还是顶点置换,这是两者之间最大的区别之一。

纹理置换需要一定程度的细节来细分网格。正如您在上面看到的,这不会在 Live Viewer 的 Wire 模式下显示为实际细分的多边形。相反,它在体素网格中进行幕后细分计算,您可以在渲染中看到结果,而不是它是如何到达那里的。

一般来说,这个值应该匹配输入源的分辨率,所以如果你有一个 8K x 8K 的图像用作置换贴图,你应该将置换分辨率设置为 8192 x 8192。

您可以选择更高或更低(在 256 和 8192 之间),有时对低分辨率纹理进行上采样或对更高分辨率纹理进行下采样可以产生更好或更快的结果,具体取决于基础网格。

网格仍然需要相对密集,因为这种形式的位移在使用较低密度的网格时很容易出现视觉错误,尤其是对于具有尖角的高对比度贴图。如果您有柔和的斑点置换并从远处观看,则可以使用低密度网格,但如果您想要很多细节,除了更精细的体素网格之外,您还需要大量真实的多边形。

在基础网格的密度、C4D 中完成的细分量、Octane 对象标记中进一步完成的细分量以及纹理的体素网格进一步完成的细分量之间有一个微妙的平衡行为位移节点。通过将所有这些设置得太高,很容易过火并导致应用程序崩溃,所以从低点开始,然后慢慢增加,直到找到可接受的结果。

一个很好的起点是设置细节的置换级别和你的纹理大小一样,设置过滤器,然后选择一个地方做几何细分(c4d或标签),从0级开始,然后看级别1、调整过滤器,进入2级,调整过滤器等。

一些贴图实际上确实受益于将置换分辨率设置为高于图像分辨率。如果您的 1k 或 2k 纹理出现错误,并且已经尝试调整过滤器并使网格更加密集,您可能需要尝试提高它以查看它是否有帮助。

顶点置换为您提供了在置换节点本身中设置细分的选项。这会覆盖Octane 对象标签的细分级别,因此您不能将两者结合起来。它仍然尊重 C4D 细分曲面对象,因此在将此材质应用到已经在 SDS 对象中的新网格时要小心。

位移标签中的细分是一种开或关的情况。它不允许像对象标签那样控制锐化和细分方法。然而,因为它在材质中,所以它非常适合在对象或项目之间进行移植,而无需采取额外的步骤来设置 Octane 对象标签。

找到一个好的密度比纹理置换更容易,但你仍然应该从低处开始,然后慢慢增加,直到找到可接受的结果。

拓扑

模型的拓扑是指多边形在网格中的分布方式,以及多边形是三角形、四边形还是 n 边形。

通常使用 SDS 建模,但尤其是位移,尤其是 x 100顶点位移,目标是在较小多边形和较大多边形之间的网格中获得最平滑的过渡。这将确保从网格的一个部分到另一个部分的密度差异不会太严重,并导致模型的奇怪斑块具有非常像素化的形状。

由于它使用体素网格处理细分的方式,纹理置换在缓解这种情况方面做得很好,但它有自己的拓扑不均匀的问题,并且它仍然表现得更好(更少的伪影和更少的撕裂),分布更均匀,更高密度的网格。

Catmull-Clark 细分方法非常适合分布细分的多边形以尝试平滑过渡,但它只能做到这一点。

此图使用顶点置换很好地显示了该问题。在这里,我们有一个不均匀划分的平面。每个角落都有一个小多边形,边缘有四个细长的多边形,中间有一个巨大的多边形。当它被细分时,算法会尽最大努力使分布均匀,但你可以看到角落中的位移挤压比直接靠近它们的挤压质量要好得多。离角越远,网格的密度越低,位移看起来越差。你必须相当大地提高密度才能使这些中心挤压看起来不错。

只需在网格中进行一些切割,它有助于更好地分布多边形,并且看起来更加一致,如上图中的第二组面板所示。

当然,理想的方法是平均划分原始网格,如果您在工作中只使用平面和立方体等规则几何体,这非常棒,但是一旦模型变得更加复杂,您就必须更多地考虑多边形分布获得最佳效果,而不会因细分而疯狂并给您的 GPU 造成过度痛苦。

投影和 UV

顶点和纹理置换都是通过材质控制的,因此它们都受到与任何其他通道相同的映射问题的影响。

就像快速复习一样,每个纹理都需要以某种方式投影到几何体上,以便像 Octane 这样的渲染引擎知道如何渲染它。有基本的投影,如盒子、圆柱和平面,对于形状像这些东西的几何图形来说,它们既快速又容易。当应用于曲面、快速转弯和其他复杂形状时,它们会分崩离析。

UV 映射(网格 UV)仍然是精确控制纹理映射到更复杂表面的最佳方式。在此过程中,您“展开”几何图形并将所有多边形平放在正方形区域上。然后,您将这些展平的多边形覆盖在纹理之上,它会创建一个地图,告诉引擎纹理的哪些像素在哪些多边形上。

这听起来很容易,但这是一个非常复杂的过程,几乎永远不会完美。幸运的是,每天都有新的工具和算法在改进,以使这个过程更加自动化。不过,您仍然必须决定纹理将如何落在模型上,而这本身就是一个完整的艺术形式,我们没有时间在这里介绍。

这里的要点是,您的模型应该正确地进行 UV 映射,以便从置换中获得最佳结果(假设您的模型比一堆立方体或圆柱体更复杂)。

纹理投影

在上图中,您可以看到左侧形状上的网格 UV 投影给出了您期望的结果。符号遵循形状,没有平铺问题,失真保持在最低限度。请注意,此模型已正确映射到 UV。

接下来的三个使用不考虑 UV 的内置投影类型。

第二个图像是使用Box (或立方体)投影设置的。这是最常见的非 UV 投影,您可以将其视为六个投影仪,以 90 度角相互投影纹理。这对于四四方方的物体效果很好,实际上对于这种形状的顶部来说相当不错,但它在底部有一个更尖锐的弯曲处分崩离析,并且瓷砖变得扭曲并且形状被切断。

右侧是平面投影——这只是模型一侧的二维投影。如果你有像电视屏幕或桌面这样的平面,它会非常好用,但正如你在这里看到的,一旦形状开始在 3D 中弯曲,纹理就会拉伸和压缩,变得松散。

这里的最后一个是三平面投影。这种类型的投影非常通用,当与顶点置换结合使用时,您可以用它做一些有趣的事情(它不适用于纹理置换)。Triplanar 允许您为模型的每一侧选择不同的纹理,并且有一些控件可以在纹理绕过角落时混合纹理。在这个例子中,它做得还不错,但也有一些问题。因为有两种不同类型的弯曲,所以很难将角度设置为恰好适合发生混合的位置,因此最终会在曲线附近的纹理中出现奇怪的光点。此外,该对象对反照率和置换使用相同的纹理。您可以看到纹理“脱离”挤压,因为投影没有对齐。

对于某些模型,Triplanar 非常适合使用单个纹理,并且非常适合当您想要根据角度将多个纹理应用于模型的不同部分时,但它不能替代更复杂模型上的 uv 映射。

紫外线的重要性

如前所述,您确实希望您的形状正确地映射到 UV 以使置换发挥最佳效果。上图显示了两种情况,其中网格和材质完全相同,但 UV 不同。

左边的例子正是你想要的。

3 个独立的重叠UV 岛使得纹理无法正确平铺 - 像这样的简单形状应该有一个连续的 UV 岛,这样纹理就可以像插图右侧那样很好地流过它。

每个岛都被扭曲成一个正方形 - 在这个模型中,如果它要被分成多个岛(它不应该),每个岛都需要保持它所映射到的几何体的矩形纵横比。如果岛屿的纵横比错误,纹理会在 X 或 Y 上扭曲,变得非常宽或非常高。

这些岛屿的大小也相对于彼此不正确 - 这意味着纹理在一个岛屿上看起来比其他岛屿大得多或小得多。UV 岛与纹理相比有多大也会产生很大的差异 - 岛越小,应用于该区域的分辨率就越低。这是在设置模型并决定是否要分割被置换的区域以使其拥有自己的 UV 集时要考虑的事情之一。

右侧的示例是执行此操作的正确方法 - 有一个没有重叠的连续岛,这意味着纹理平铺在整个表面上。显然这不适用于每个模型,更复杂的模型需要更复杂的 UV 布局。多边形都具有正确的纵横比和彼此的相对大小,因此所有符号看起来都具有相同的大小。

UV 贴图的功能远不止于此,而且它会很快变得复杂,但很高兴知道它对置换的影响有多大,而且绝对值得进一步了解。

源质量

所以你已经重新拓扑你的模型,UV映射它,优化你的多边形密度,并且由于某种原因,你的位移看起来仍然很脆。最后要考虑的是源图像的质量。

根据图像的内容、几何体和 UV,以及您使用的是纹理还是顶点置换,每个置换贴图的行为都会有所不同。在某些情况下,您绝对可以摆脱无用的低质量源图像,但在其他情况下,它会破坏您的渲染。

图像质量可以分解为分辨率位深度压缩。某些文件格式将支持其中每个的某些参数。色彩空间也是这里的一个因素 - 不是质量,而是源图像如何影响最终输出。

你以为我们以前变得书呆子?拿着我们的啤酒。

文件格式

通常,用于置换贴图的最佳文件格式(如果您自己生成或有选择的话)是32位模式下的EXR和 PIZ 压缩

PSD、TIF 和其他高位深度、无损格式也可以使用,但不如 EXR 高效。PSD 使用非常轻量级的压缩,导致文件非常大,而 TIF 使用 ZIP 或 LZW 压缩,它们都比 EXR 和 PIZ 更占用处理器资源并且大得多。

如果可以选择,请避免像瘟疫一样使用 JPG。你很快就会明白为什么。有一些方法可以尝试减轻它对位移的影响,它们有时会起作用,但如果你能获得质量更好的源图像,那么一定要这样做。

请注意,在 Octane 中并非支持 PSD 的所有功能(矢量图层在这方面非常臭名昭著。)任何使用此类内容的 PSD 都会破坏位移,因此如果您在 Photoshop 中从头开始构建地图并想要使用 PSD作为您的最终地图,请始终保存扁平副本。或者,您也可以将文件导出为 EXR 或 TIF,但请记住取消选中 save with layers

解析度

源文件分辨率是指图像中的像素数。它是在两个维度上测量的——高度和宽度。Octane 最多可以接受 8k (8192x8192) 纹理来进行纹理置换,而更高的顶点置换可以接受。通常不需要超过 8k,而且它消耗了更多的资源,而质量通常很少(如果有的话)。

所有现代文件格式都至少支持 8k,所以这不是问题。

这是与纹理置换节点中的分辨率不同的分辨率(不适用于顶点置换)。我们在这里讨论的分辨率是 2D 源图像的实际像素尺寸,而不是使用纹理置换中的分辨率下拉菜单生成的体素网格大小。

有一些技巧可以平滑低分辨率图像,这些技巧可能会或可能不会根据特定情况起作用。您可以尝试上采样,这基本上是在场景中添加更多多边形或用凹凸/法线或繁忙的反照率通道覆盖它。对于纹理置换,您可以尝试使用过滤器,但如果您离模型太近,通常唯一要做的就是获取或创建更高分辨率的纹理。

如果您可以使用较低分辨率的图像(例如 512 像素的小重复图案),那么一定要这样做 - 这将有助于预渲染时间。同样,这将取决于您与模型的距离、需要多少细节以及图像本身的性质。

如果您在应该清晰平滑的区域看到锯齿状和/或模糊边缘,则可能是分辨率问题。

位深

这是指为每个像素存储的颜色数据量。每个像素的位数越多,从一种灰度到另一种灰度的过渡越平滑,曲线和对角线也就越平滑。这适用于沿 x 和 y 的两条曲线,通常更重要的是您的位移沿位移轴的“步数”。

8 位图像每个像素可以存储 256 级灰度。这听起来可能很多,但与 2d 分辨率一样,你越靠近(或者你推动位移高度越多),你看到的越多这个分崩离析。如果您正在使用没有很多灰色阴影的高对比度形状,则可以使用 8 位。当有平缓的曲线时,它就成了一个更大的问题。

16 位PNG 或 EXR 文件通常是一个很好的折衷方案——它们有65,536 级灰度,并且在很多情况下看起来足够平滑。16 位 PNG 置换贴图还具有比 EXR 贴图更容易在野外找到的优势。

32 位EXR/TIF/PSD 文件质量最好,如果其他一切设置正确,将始终生成最平滑、最清晰的置换贴图。

如果没有非常具体的工具,就无法对位深度进行上采样,这些工具可能会或可能不会给您想要的结果。如果您采用 8 位 JPEG 并将其保存为 32 位 EXR,您将遇到与 JPEG 相同的问题。因此,也不建议在 Illustrator 等不支持 32 位的应用程序中构建置换贴图。

通过在保存图像时使用抖动可以在 8 位图像中稍微减轻阶跃,但这会产生不平坦的表面,并且不适合特写工作或希望表面光滑时。纹理置换过滤器不会影响这一点,并且控制顶点置换中的细分可以取得不同程度的成功,但如果您遇到此类问题,则无法替代更高位深度的图像。

如果您在高度上看到阶梯状(而不是边缘的锯齿状),则可能是深度问题。

压缩

有两种类型的压缩 - 有损和无损。

保存文件时,有损压缩实际上会从图像中删除数据。它可以创建将出现在您的位移中的伪影,并且您无法轻松修复它。更糟糕的是,重新保存的图像越多,伪影就越严重。充其量只是在表面上增加了瑕疵,最坏的情况是它会产生棱角并产生奇怪的尖峰和其他不希望的结果。JPEG 压缩非常明显,尤其是压缩的越多。EXR 中的 DWAA/DWAB 压缩不那么明显,但仍不理想。

说真的,对于置换贴图,请远离 JPEG。

顾名思义,无损压缩不会丢失数据,但是主机应用程序需要在预渲染过程中花费一些周期来解压缩它,然后才能使用它。PNG 使用的压缩算法对处理器来说非常困难,可以增加预渲染阶段的时间,但它也可以保持文件大小极小,这使得将图像更快地移动到 VRAM 中 - 有时这更好,有时则不然。TIF 是一种较旧的格式,仅使用 ZIP 或 LZW 压缩算法,这两种算法的效率都非常低。EXR中的PIZ压缩是目前最受欢迎的图形算法 - 它具有最佳的压缩速度比。喜欢 EXR 的看似无穷无尽的理由之一。

如果您正在使用置换贴图并且您的表面突然出现了奇怪的凹坑和凹凸,而这些地方应该是光滑的,或者尖锐的细节现在变得松脆,这可能是压缩问题。

色彩空间

置换需要非颜色数据(或线性颜色空间)输入。输入的任何纹理或其他节点都需要转换为线性才能正确置换。

在撰写本文时,Image Texture 节点的默认色彩空间设置为Linear sRGB + legacy gamma ,legacy gamma 为2.2 。这是为了正确处理比线性图像更常见的 sRGB 图像。

纹理置换会自动处理转换,因此您无需更改 ImageTexture 节点中的设置。不过,使用线性纹理通常仍会获得比 sRGB 更好的结果,尤其是在考虑几何精度的情况下。

顶点位移需要正确设置 ImageTexture 节点。对于具有 sRGB 颜色配置文件(PNG、JPG,有时为 EXR/TIF/PSD)的图像,默认设置是正确的。对于具有线性颜色配置文件的图像,由于颜色空间解释,直线看起来会弯曲。解决此问题的最简单方法是从下拉列表中选择非彩色数据。那将只使用线性值,不会有任何失真。

如果您放入一张带有看起来像高尔夫球草皮的置换贴图的图像,而您却得到了胶滴草皮,则可能是色彩空间问题。

烘焙纹理

对于纹理置换,您需要将图像纹理运行到置换节点的输入中。烘焙纹理节点可让您将任何类型的程序纹理“烘焙”成平面图像,然后用作置换纹理。烘焙纹理为您提供了很多选择。

分辨率是不言自明的。从 4096 开始,然后看看是否需要移动到 8192。如果您可以使用 2048 或更低,那也很好,但这可能意味着一个小的重复瓷砖,没有太多复杂的细节。

类型应设置为HDR 线性空间

如您所见,位移是一回事。希望您现在有足够的知识来获得更好的结果并解决您的项目问题。如果没有,请查看本系列中的下一个指南,该指南将详细介绍故障排除位移。

标签: #piz是什么格式