你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:在 Maya 中设置基于物理的渲染材料

概述

本教程介绍以下操作:

  • 将具有高级照明的材料分配给场景中的对象。
  • 处理对象和材料的实例化。
  • 将场景导出为 FBX 格式并选择重要选项。

在 Maya 中创建基于物理的渲染 (PBR) 材料是一项相对简单的任务。 该任务在许多方面类似于 3DS Max 等其他内容创建应用中的 PBR 设置。 本教程介绍如何为 Azure 远程渲染项目实现基本 PBR 着色器设置和 FBX 导出。

本教程中的示例场景包含许多多边形 box 对象。 并为它们分配了不同的材料,如木材、金属、喷漆金属、塑料和橡胶。 广泛地说,每种材料包含以下所有或大多数纹理:

  • 反照率,是材料的颜色映射,也称为“漫射”或“基础颜色” 。
  • 金属度,用于确定材料是否为金属以及哪些部分是金属。
  • 粗糙度,用于确定表面的粗糙度或平滑度,这会影响表面上的反射和高光的清晰度或模糊度。
  • 法线,无需添加更多多边形即可向表面添加细节。 细节的例子包括金属表面上的点蚀或凹痕或木材中的颗粒。
  • 环境光遮蔽,用于向模型添加软底纹和接触阴影。 它是一个灰度图,指示模型的哪些区域接收完整照明(白色)或完整阴影(黑色)。

先决条件

  • Autodesk Maya 2017 或更高版本

设置场景中的材料

下面介绍如何在 Maya 中设置 PBR 材料。

正如你将在示例场景中看到的那样,我们已经创建了多个 box 对象。 每个对象代表不同类型的材料。 如图中所示,每个对象有自己的合适的名称。

Azure 远程渲染使用仪表进行测量,向上的方向为 Y 轴。 开始创建资产之前,建议将 Maya 中的场景单位设置为米。 对于导出,请在 FBX 导出设置中将单位设置为米。

提示

基于相关部位或材料类型为模型资产指定合适的名称。 在导航具有大量对象的场景时,使用有意义的名称可使导航变得更容易。

对象名

创建或获取一些纹理后,还可以创建唯一纹理。 可以使用纹理应用(如 Quixel Suite、PhotoShop 或 Substance Suite),也可以从其他来源获取通用的平铺纹理。

将纹理应用于模型的方法如下:

  1. 在场景视区中,选择模型或几何体并右键单击它。 在出现的菜单中,选择“分配新材料”。
  2. 在“分配新材料”对话框中,转到“Maya”>“Stingray PBS” 。 此操作会将一种 PBR 材料分配给模型。

在 Maya 2020 中,有许多不同的 PBR 着色器可用。 它们包括 Maya 标准曲面、Arnold 标准曲面和 Stingray PBR 。 Maya 标准曲面着色器还无法通过 FBX 2020 插件进行导出。 可使用 FBX 文件对 Arnold 标准曲面着色器进行导出。 在大多数其他方面,该着色器与 Maya 标准曲面着色器相同。 它类似于 3D Studio Max 中的“物理材质”。

Stingray PBR 着色器与许多其他应用程序兼容,且最符合 Azure 远程渲染的要求。 Maya 2017 及以后的版本均支持该着色器。 在视区中对此类材料进行可视化时,其过程与稍后在 Azure 远程渲染中进行可视化时类似。

Stingray 材料

已将材料分配给资产并进行了适当命名,现在可以分配各种纹理。 以下各图像显示了将每种纹理类型用于 PBR 材料的效果。 Stingray PBR 材料允许选择可激活的属性。 在插入纹理映射之前,需要激活相关属性。

材料设置

对材料进行适当命名,此过程应将材料的用途或类型纳入考虑。 在唯一部位上使用的材料可能会根据该部位进行命名。 在较大区域上使用的材料可以根据其属性或类型进行命名。

如图中所示分配纹理。

纹理设置

创建并设置 PBR 材质后,请考虑在场景中将对象进行实例化。 将场景中的类似对象(如螺母、螺栓、螺钉和垫圈)进行实例化可显著节省文件容量。 主对象的实例可以具有自己的缩放、旋转和转换,以便可以在场景中按需放置。

在 Maya 中,实例化的过程十分简单。

  1. 在“编辑”菜单上,转到“特殊复制”以打开选项 。

  2. 在“特殊复制选项”对话框中,为“几何类型”选择“实例”选项 。

  3. 选择“特殊复制”。

    屏幕截图显示了“Maya”窗口,其中“特殊复制选项”对话框已打开,并且已选择“特殊复制”。

此操作会创建对象的实例。 可以独立于其父级及父级的其他实例对其进行移动、旋转或缩放。

在组件模式下对实例所做的任何更改都会传输到对象的所有实例。 例如,你可能使用实例对象的组件,如顶点和多边形面。 请确保自己确实需要自己所做的会影响所有实例的更改。

在示例场景中,每个单独的 box 对象都已实例化。 将场景导出为 FBX 格式时,此操作将具有相关性。

场景概述

提示

在执行操作的过程中在场景中创建实例。 如果在操作完之后将副本替换为实例对象,会非常麻烦。

FBX 导出过程

接下来开始对场景或场景资产进行 FBX 导出。 导出资产时,明智的做法是只选择场景中要导出的对象或资产。 例如,场景中可能有 100 个对象。 如果只想使用其中的 30 个,则没有必要导出整个场景。

选择方法如下:

  1. 转到“文件”>“导出选择”,打开“导出选择”对话框 。

  2. 在“文件类型”框中,选择“FBX 导出”以显示 FBX 导出设置 。 图中以红色突出显示了 FBX 导出的主要设置。

    FBX 导出

基于你的要求,(例如)你可能需要将资产发送到客户端。 你可能不希望将大量纹理文件与资产一起发送。 你可以选择将纹理嵌入导出的 FBX 文件中。 此操作意味着只需要打包一个文件,但 FBX 资产的大小会显著增加。 可以通过选择如图所示的“嵌入媒体”选项来实现嵌入纹理的操作。

提示

在此示例中,文件命名的方式反映了这种情况。 这种命名样式是跟踪资产的好方法。

设置好导出配置后,选择右下角的“导出选择”。

嵌入媒体

结束语

一般而言,此类型的材料看起来更真实,因为它基于现实世界的光线物理原理。 它创造了一种额外的沉浸式效果,使场景反映出现实世界的特征。

后续步骤

你现在已知道如何为场景中的对象设置具有高级照明的材料。 你也知道了如何将对象导出为 Azure 远程渲染支持的 FBX 格式。 下一步是转换 FBX 文件,并在 Azure 远程渲染中将其可视化。