Maya 与 Stingray 之间着色器图表的互操作性

父材质和子材质

创建着色网络时,可以将图表另存为预设,并在下次创建新的 Stingray PBS 节点时重用它。这可以使您避免重复创建相同的着色器图表,否则会增加材质和云的管理难度并可能会降低游戏的性能。

包含预设着色器图表的材质称为父材质。

您可以基于父材质创建子材质。子材质从父材质继承着色器图表,因此也继承了其材质属性。

将 StingrayPBS 从 Maya 导出到 Stingray 并重用现有父材质

当您将材质从 Maya 导出到 Stingray 时,如果 StingrayPBS 节点指向现有 Stingray 资源(即 Stingray 项目文件夹中的 .material),则 Stingray 将不会创建新的父材质。

要指向此 Stingray 资源,请在 Maya 中设置 StingrayPBS“属性编辑器”(Attribute Editor)中的“父材质”(Parent Material)字段。

只有先执行以下操作,才能编辑此字段:

  1. “预设材质”(Preset Material)下拉列表中选择“自定义”(Custom)预设,或在 StingrayPBS 的“属性编辑器”(Attribute Editor)中单击“使唯一”(Make Unique)(将创建自定义预设)。
  2. 单击“打开 ShaderFX”(Open ShaderFX)并选择“标准基础”(Standard Base)节点。

这样可以防止您意外更改“父材质”(Parent Material)路径。

如果此字段为空,则着色器图表将被视为父材质。将该着色器导出到 Stingray 后,将创建新的父材质。

另一方面,如果提供路径和资源名称,例如:/content/materials/my_stingray_material;则在导出后,着色器图表将指向位于 /content/materials/my_stingray_material 的父图表。将其导入 Stingray 时,Stingray 将不会重新创建父图表。但是,您必须确保 Maya ShaderFX 编辑器中的图表与 Stingray 游戏引擎中的父图表相同;即,路径中设置的图表。

如果在此字段中输入路径或名称,但 Stingray 项目文件夹中不存在父材质,则将基于您构建的图表创建新的父材质。

从 Stingray Maya 导入材质并将其用作预设

您还可以在 Stingray 中创建父图表,然后将其导入 ShaderFX 编辑器。要执行此操作,请选择“文件 > 导入图表”(File > Import Graph),然后从文件类型下拉列表中选择 .material

要将此图表作为预设保存在 Maya 中,请选择“文件 > 导出图表”(File > Export Graph),然后在 renderData\shaders(使其可用于当前项目)或 \Documents\maya\ShaderFX\Scenes\StingrayPBS(使其全局可用)中将其保存为 .sfx。现在它可作为 StingrayPBS“属性编辑器”(Attribute Editor)“预设材质”(Preset Material)下拉菜单下的预设。