推进着色树

着色器树既强大又非常灵活。正是这种灵活性可能导致它有时感到笨拙。根据用户的反馈,一项设计要求是允许将材质和纹理应用于场景中的任何级别,甚至在必要时也可以应用于整个场景,但俗话说,“强大的力量伴随着巨大的责任”。

由于这种灵活性,需要勤奋工作以使“着色器树”井井有条,随着项目复杂性的增加,所需的工作也随之增加。理解如何使用“着色器树”中的图层以及每个图层的作用是在使用“着色器树”所提供的功能方面的重要起点。基本内容在着色树着色树项目层图层效果。除了这些页面上介绍的基础知识外,重要的是添加一些其他信息,以涵盖Modo

团体和团体

着色器树中最重要的第一项是物料组项目。在里面Add Layer “着色器树”(Shader Tree)的功能,简称为“组”,但在这里我们将其称为“材质组”,以避免与实际组混淆。材料组具有多种目的,了解其很少的设置对于充分利用它们至关重要。

将材料组项目添加到树中时,它们只是空容器。这些容器可以容纳任何数量的层,包括其他组的集合。在这种情况下,它们严格来说是组织机构,为场景提供层次结构。例如,您可以将相似的材质与场景中的项目相关联,从而更容易导航复杂的树。这可以通过在树中选择几层并按Ctrl+G键盘快捷键,将未定义的“材料组”项下的相似材料分组在一起。

“材料组”项还提供了使用蒙版将材料应用于表面的主要方法。通过从“材料组”项目的命名项目和/或多边形标签中进行选择Properties面板中,可以将“材料组”中的任何内容(或层)限制为仅影响在场景中带有特定标签的几何图形表面。这是每次您使用M键盘命令。紧迫M打开Polygon Set Material对话框,允许您定义名称并按OK在“着色器树”中生成一个新的“材料组”项,并自动设置Tag TypeTag Name定义的特定名称的选项。这是一个非常简单的过程,但是材料组提供的功能的含义是巨大的。

遮罩表面

虽然“材料组”是在渲染时为几何图形分配表面的一种简便方法,但它对多边形标签的依赖限制了仅“材料组”所能实现的工作。并非所有的表面边界都是硬边多边形边界。Modo提供了几种遮罩纹理的方法,可以提供更精细的控制。遮罩功能与“着色器树”(Shader Tree)的分层功能相结合,可轻松轻松地生成非常复杂的表面。每当将alpha透明蒙版应用于纹理层时,就会显示下面的层。

组口罩

“组蒙版”是一个“图层效果”选项,它为Effects着色器树的列。它允许使用任何单个纹理项目遮盖整个“材料组”的内容,而不管其复杂性或层数如何。纹理可以是程序纹理,例如噪音程序图层,图像图甚至权重图使用顶点贴图纹理层。图像映射的使用提供了非常精细的像素级控制。您可以使用图像编辑器在外部创建这些图像,或者直接在Modo使用内置的绘画工具。渐变的使用也带来了许多有趣的可能性,其中材料组可以被大量的渐变输入参数(例如斜率或入射角)掩盖。

注意:  您可以直接在Advanced 3D视口中渲染复杂的材质设置,并实时进行更改。高级3D视口支持Group Masks允许您遮罩多个材料层。
高级3D视口支持组遮罩Blend ModeOpacity变化,在大多数情况下,高级3D视口中的材质表示与高级3D视口中的材质表示之间几乎没有差异Modo预览视口
有关更多信息,请参见3D(OpenGL)视口

图层蒙版

“图层蒙版”结果类似于“组蒙版”的蒙版功能,但其应用仅限于“着色器树”内的单个图层,从而提供更精细的控制。有两种方法可以应用图层蒙版:

选择Layer Mask效果并将图层直接放置在要遮罩的图层下方,或者

将图层拖放到目标图层上,自动将其定义为图层蒙版效果。

您可以修改纹理层的设置,使用来切换此类蒙版的可见性。 +图层名称前的图标。

阿尔法频道

Modo打开并尊重嵌入的Alpha通道或导入的图像地图图层上的图层透明度。他们的实际应用可能会引起混乱,因为有些艺术家在看不到图像图的透明区域中的表面时会感到惊讶。这是因为Modo将图像贴图的Alpha通道视为纹理层(显露任何下表面阴影),但它不能起到双重作用Transparency (要么Stencil/Dissolve)设置为默认值时的表面Diffuse Color影响。要获得这些效果,您还需要将图片作为Layer要么Group Mask,或另外将图像上的Alpha通道分配为Transparency要么Dissolve使用Alpha Only 图片属性中的选项。或者,您可以简单地使用RGBA图层效果以同时指定漫反射颜色和透明度(应用为Stencil)使用单个纹理层。

凭借如何Modo处理图像贴图的Alpha透明度,这使得可以对任意数量的透明图像进行分层并将结果组合到单个复杂的曲面中。即使在使用透明图像层进行绘画时,也可以通过将多个具有Alpha通道的图像地图层进行堆叠来实现类似Photoshop的多层图像。您可以在“着色器树”中选择图层,以指定在绘画时哪个图像会接收笔触,而其他图层则不受影响。

物品面具

在材料组项目的Properties面板中,除了其他设置外,您还可以指定项目蒙版。项目蒙版在将图像或阴影限制到单个“网格项目”层而不使用一堆不同的多边形标签的情况下非常有用。通过在实例中指定实例化项目的名称,就可以将不同的阴影或图像映射应用于实例。 Item材料组项目的属性。实例通常具有继承的父项名称,后跟括号中的数字。简单的项目选择将显示哪个实例是蒙版的目标。项蒙版还允许将阴影应用于单独的项,否则将覆盖场景中其他相同名称(标记)的表面。

分层表面

您不仅可以在单一材料中对图像和纹理进行分层,还可以对不同的标签进行分层以获得有趣的结果。多边形只能具有单个零件或材料标签,但是它们可以同时具有两个标签以及属于无限数量的选择集。标记的多边形的分组不必相同,甚至不必相似。因此,可以创建一个选择集,该选择集跨越两个单独的材质表面上的多边形,将其定义为蒙版,并应用跨越两个表面的图像。对两个常规曲面使用直线材质标签,然后使用自定义UV将较小的区域分配给选择集。应用标签等也非常有用。

清理着色树

有时,您可能会发现“着色器树”(Shader Tree)充满了需要删除的不必要图层,但是选择要删除的图层可能很困难。这些额外的层可能是实验或过度复制材料预设的结果。

Purge Unused Materials该命令将删除所有不影响最终渲染图像的着色器树材质和/或纹理层,包括那些引用未分配的多边形标签的层。当多边形被删除或分配新标签时,可能会发生这种情况,因为多边形只能容纳单个材料或零件标签。将项目图层从另一个场景移到场景中也可能导致添加额外的图层。

要激活清除,请从菜单栏中选择命令。 Texture > Purge Unused Materials

目标控制

着色器树的一个经常令人困惑的方面是其基础着色器项,默认情况下,它位于每个着色器树的顶部。基本明暗器控制渲染图像的可见性,明暗度和其他许多方面。在某种程度上,它就像是大门口的士兵,控制着哪些信息通过大门到达渲染器,以及传递了多少信息进行评估。由于着色器树的全局性质,“基础着色器”位于顶部且未遮罩,因此这意味着在其下方添加的任何着色器项目的设置都将被“基础着色器”设置覆盖,除非较低级别的着色器被适当地遮罩并置于较高的位置在着色器树中。

根据其位置评估的“着色器树”图层和“组材质”蒙版的处理可能会造成混乱,尤其是在复杂场景中。有时,您只是在寻找一种简单的方法来使单个对象对照相机不可见。为此,引入了项目着色器。它们在任何方面都与常规着色器项目相同,不同之处在于它们是唯一不在“着色器树”中表示的“着色器树”层。这些是直接在Item List。当他们的任何一个Control如果启用了这些选项,则这些设置在评估时将始终覆盖与“着色器树”对应的设置。

要分配项目着色器,请在Item List,右键点击目标网格物体图层,然后选择Create Item Shader菜单中的选项。选中“项目着色器”后,您可以在Properties面板。以特定控件为目标,例如Visibility,禁用所有Control除了的选项Control Visibility ,然后禁用单Visible to Camera选项。这使目标项目对摄像机不可见,但仍会投射阴影并在反射中显示。Item Shaders简化了过去难以应用的许多方面。

一些附加说明

容易忘记,纹理项目(例如图像贴图和程序)也可以添加到灯光和环境中。通过调整他们的Projection类型和Effect设置,可以实现各种有趣的效果。纹理图层可用于遮盖任何其他类型的图层,包括“表面生成器”和“毛发”。不能用作“表面生成器”或“毛发”的蒙版的唯一层是“遮挡”层。这是因为需要发射光线才能进行计算,并且仅在渲染时发生,这在评估过程中为时已晚,无法产生预期的结果。在这些情况下,将遮挡层烘焙为图像贴图纹理,然后重新应用图像贴图代替遮挡。