你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:在 3ds Max 中设置基于物理的渲染材料
概述
在本教程中,你将学习如何:
- 将具有高级照明的材料分配给场景中的对象。
- 处理对象和材料的实例化。
- 将场景导出为 FBX 格式并选择重要选项。
注意
本教程中所述的过程适用于 3ds Max 2019 和 3ds Max 2020。 3ds Max 2021 导出凹凸贴图的方式发生了变化,这意味着如果使用该版本,转换服务将找不到法线贴图。
在 3ds Max 中创建基于物理的渲染 (PBR) 材料是一项简单的任务。 它在许多方面与 Maya 等其他内容创建应用中的 PBR 设置类似。 本教程介绍如何为 Azure 远程渲染项目实现基本 PBR 着色器设置和 FBX 导出。
本教程中的示例场景包含许多多边形 box 对象。 并为它们分配了不同的材料,如木材、金属、喷漆金属、塑料和橡胶。 广泛地说,每种材料包含以下所有或大多数纹理:
- 反照率,它是材料的颜色贴图,也称为“漫反射”和“基础颜色” 。
- 金属度,用于确定材料是否为金属以及哪些部分是金属。
- 粗糙度,用于确定表面的粗糙度或平滑度。 它还会影响表面上的反射和高光的清晰度或模糊度。
- 法线,无需添加更多多边形即可向表面添加细节。 细节的例子包括金属表面上的点蚀或凹痕或木材中的颗粒。
- 环境光遮蔽,用于向模型添加软底纹和接触阴影。 它是一个灰度图,指示模型的哪些区域接收完整照明(白色)或完整阴影(黑色)。
准备场景
在 3ds Max 中,设置 PBR 材料的过程如下所示。
首先,我们将创建许多 box 对象,每个对象表示不同类型的材料。
提示
值得注意的是,在开始为远程渲染创建资产之前,它使用“米”作为度量单位。
因此,最好将场景的系统单位设置为“米”。 在导出场景时,最好在 FBX 导出设置中将“单位”设置为米。
以下屏幕截图显示了在 3ds Max 中将系统单位设置为“米”的步骤。
在主菜单上,转到“自定义”>“单元设置”>“系统单元设置” 。 在“系统单元标度”中,选择“米”:
现在,我们可以开始创建模型。 在示例场景中,我们将创建多个 Box 对象,每个对象表示不同类型的材料。 例如金属、橡胶、塑料。
提示
在创建资产时,最好按自己的方式适当地对其命名。 这样在场景包含大量对象的情况下,就更易于查找。
重命名对象,如以下屏幕截图所示:
分配材料
现在,场景中包含一些对象(在本例中是一些立方体),接下来可开始 PBR 设置:
在主工具栏中,选择“材料编辑器”图标,如以下屏幕截图所示。 还可选择键盘上的 M 以打开编辑器。 “材料编辑器”有两种模式,可以在“模式”列表中进行选择:“密实材料编辑器”模式和“板岩材料编辑器”模式 。 由于此场景相对简单,我们将使用密实模式。
在材料编辑器中,你会看到许多球体。 这些球体就是我们的材料。 我们会将其中一项材料分配给场景中的每个对象(每个 box)。 若要分配材料,请先在主视区中选择一个对象。 然后选择“材料编辑器”窗口中的第一个球体。 将其分配给某个对象后,所选材料将突出显示,如下图所示。
选择“将材料分配给所选对象”,如下所示。 现在,该材料将分配给所选对象。
在“材料编辑器”中,可以根据需要从多种材料类型中进行选择。 通常情况下,材料类型默认设置为“标准”。 此材料是基本材料,不适用于 PBR 设置。 因此,我们需要将材料类型更改为 PBR 材料。 物理材料是 Azure 远程渲染项目的首选 3ds Max 材料。
在“材料编辑器”中,选择“标准”选项卡。在“材料/贴图浏览器”中,选择“物理材料” 。 此操作将所分配的标准材料转换为 PBR 物理材料。
在“材料编辑器”中,现在可以看到物理材料的属性,如以下屏幕截图所示。 现在可以开始为资产分配纹理。
如你所见,有很多贴图和纹理可以添加到材料中。 对于本教程,我们仅在材料中使用五个纹理槽。
提示
最好正确命名材料,如前面的屏幕截图中所示。
生成纹理的方式可能因偏好设置或使用情况而异。 例如,你可能想要使用可应用于任何资产的平铺纹理。 或者,你可能需要项目或资产的特定部分具有自己的自定义纹理集。 你可能想要使用可以联机的通用平铺纹理。 还可在 Photoshop、Quixel Suite 和 Substance Suite 等应用中自行创建它们。
在开始分配纹理之前,需要考虑资产的纹理坐标 (UVW)。 在将纹理应用到模型上时,最佳做法是确保模型已进行解包。 (如果没有正确进行 UV 解包,纹理将不会正确显示。)这对我们的目标非常重要,因为我们打算在模型上使用环境光遮蔽 (AO) 贴图。 与 Maya 中的 Stingray 着色器不同,3ds Max 中的物理材料没有专用的 AO 纹理槽。 因此,我们会将 AO 贴图应用到另一个槽。 让它能够与其他纹理(例如平铺纹理)分开使用,我们将为它分配一个它自己的 UVW 贴图通道。
首先,将“解包 UVW 修饰符”分配给模型,如以下屏幕截图所示。
在选定的对象属性编辑器中,选择“修饰符”列表。 在显示的下拉列表中,向下滚动并选择“解包 UVW”。 此操作会将解包 UVW 修饰符应用到资产。
将贴图通道设置为 1。 通常是在贴图通道 1 中执行主要的解包操作。 在本例中,对象已在无重叠纹理坐标 (UV) 的情况下进行解包。
接下来是创建第二个 UV 贴图通道。
关闭 UV 编辑器(如果它已打开)。 在“编辑 UV”菜单的“通道”区域中,将通道编号更改为“2” 。 贴图通道 2 是 AO 贴图的预期通道。
在“通道更改警告”对话框中,可以将通道 1 中的现有 UV“移动”到新的通道 2,或者“放弃”将自动创建新的 UV 解包的现有 UV 。 仅当计划为 AO 贴图创建与“贴图通道 1”中的 UV 不同的新 UV 解包时,才选择“放弃”。 (例如,如果要在通道 1 中使用平铺纹理。)在本教程中,我们会将 UV 从通道 1 移动到通道 2,因为我们无需编辑新的 UV 通道。
注意
即使你已将 UV 解包从贴图通道 1 复制(移动)到贴图通道 2,你也可以在新的通道 UV 中进行任何必要的编辑,而不会影响原始贴图通道。
创建新的贴图通道之后,我们可回到材料编辑器中的物理材料,并开始向其添加纹理。 首先,添加 AO 贴图,因为还有另一个步骤可以使其正常工作。 将 AO 贴图插入材料后,我们需要将其配置为使用贴图通道 2。
如前文所述,3ds Max 物理材料中没有专门用于 AO 贴图的槽。 因此,我们改为将 AO 贴图应用到“漫反射粗糙度”槽。
在物理材料的“通用贴图”列表中,选择“漫反射粗糙度”旁边的“无贴图”槽并加载 AO 贴图 。
在 AO 纹理属性中,贴图通道默认设置为 1。 将此值更改为 2。 此操作完成添加 AO 贴图所需的步骤。
重要
此步骤非常重要,当通道 2 中的 UV 与通道 1 中的 UV 不同时尤其如此,因为如果选择错误的通道,AO 将无法正确映射。
现在,我们将法线贴图分配给 PBR 材料。 此操作与 Maya 中的过程有些不同。 法线贴图不会直接应用于凹凸贴图槽。 (3ds Max 物理材料中没有法线贴图槽。)相反,将法线贴图添加到法线贴图修饰符中,法线贴图修饰符本身插入法线槽中。
在物理材料属性(位于材料编辑器中)的“特殊贴图”部分,选择“凹凸贴图”旁边的“无贴图”槽 。
在“材料/贴图浏览器”中,找到并选择“法线凹凸” 。 此操作向材料添加“法线凹凸”修饰符。
在“法线凹凸”修饰符中,选择“法线”旁边的“无贴图” 。 找到并加载法线贴图。
请确保将该方法设置为“切线”。 (应默认为此设置。)如有必要,请切换“翻转绿色(Y)”。
正确分配法线贴图后,我们可以分配剩余纹理以完成物理材料设置。 过程很简单。 没有要考虑的特殊设置。 以下屏幕截图显示了分配给材料的一整套纹理:
创建并设置 PBR 之后,接下来应考虑如何在场景中实例化对象。 将场景中的类似对象(如螺母、螺栓、螺钉和垫圈)进行实例化。 任何相同的对象都可以显著节省文件容量。 主对象的实例可以具有自己的缩放、旋转和转换,以便可以在场景中按需放置。 在 3ds Max 中,实例化的过程十分简单。
在主视区中,选择要导出的一个或多个对象。
按住 Shift 键并使用转换(移动)工具向上拖动资产。
在“克隆选项”对话框中,将“对象”设置为“实例”,然后选择“确定” :
此操作会创建对象的一个实例,它可以独立于父对象以及该父对象的其他实例进行旋转或缩放。
重要
在子对象模式下对实例所做的任何更改都会传输到对象的所有实例。 因此,如果要处理实例化对象的组件(如顶点和多边形面),请确保需要所做的任何更改都能影响所有实例。 请记住,任何实例对象都可随时成为唯一的对象。
提示
在场景中实例化时,最好在执行操作的过程中创建实例。 如果在操作完之后将副本替换为实例对象,会很麻烦。
在转到导出过程之前需要注意的最后一点是,你希望如何打包你的场景/资产来进行共享。 理想情况下,如果将资产传递给客户端或团队成员,你将希望他们能够尽可能顺利打开并查看资产。 因此,请务必使资产纹理路径相对于场景文件。 如果资产的纹理路径指向本地驱动器或绝对路径/位置,则在其他计算机上打开时,它们将不会加载到场景中,即使 .max 文件与纹理位于同一文件夹中也是如此。 使纹理路径相对于 3ds Max 即可解决此问题,该操作非常简单。
在主工具栏中,转到“文件”>“参考”>“资产跟踪切换” 。
在资产跟踪窗口中,你将看到已应用于“贴图/着色器”列中列出的 PBR 材料的所有或大部分纹理。
在“完整路径”列中,你将在相应纹理旁边看到纹理位置的文件路径(最有可能是它们在本地计算机上的位置路径)。
最后,你将看到一个名为“状态”的列。 此列指示是否已找到给定纹理以及是否已将其应用于场景。 它用以下术语之一来标记纹理:“正常”、“已找到”或“文件丢失” 。 前两个词表示已找到并已加载文件。 最后一个词表示跟踪器未能找到文件。
你可能会发现,首次打开“资产跟踪”窗口时,并非所有纹理都列在该窗口中。 不过无需担心。 因为运行一两次路径查找过程通常即可找到所有场景纹理。 路径查找过程如下所示:
在“资产跟踪器”窗口中,按住 Shift 并选择“贴图/着色器”列表中的第一个纹理,按住 Shift 不松并选择列表中的最后一个纹理 。 此操作将选中列表中的所有纹理。 选定纹理以蓝色突出显示。 (请参阅前面的屏幕截图。)
右键单击此选区,然后选择“设置路径”。
在“指定资产路径”框中,选择纹理的本地路径并将其替换为
.\
。 选择“确定”。“资产跟踪”窗口将更新,如以下屏幕截图所示。 此更新可能需要一些时间,具体取决于场景中的纹理数量以及场景大小。
请注意,“完整路径”列现在是空白的。 这意味着场景不再在特定(绝对)位置查找相关纹理。 只要 .max 文件或相关的 FBX 文件与纹理位于同一文件夹中,就会始终找到它们。
注意
可能需要多次重复此过程来查找和解析所有纹理和路径。 不过无需担心。 只需重复此过程,直到对所有相关的资产进行了考虑。 在某些情况下,将找不到某些文件。 在这种情况下,只需选择列表中的所有资产,然后选择“删除缺失的路径”即可。 (请参见上图。)
FBX 导出
现在我们已经使纹理路径相关,可以继续执行 FBX 导出操作。 同样,此过程也很简单,可通过多种方式完成。
提示
除非要导出整个场景,否则最好选择仅导出所需的资产。 在资源密集型场景中,导出可能需要很长时间。
如果使用了 Turbosmooth 或 Open SubDiv 等修饰符,最好在导出之前进行折叠,因为它们会导致导出过程出现问题。 在对场景进行折叠之前,请务必保存场景。
在场景中,选择要导出的资产。 在主工具栏上,转到“文件”>“导出”>“导出所选” 。
在“选择要导出的文件”对话框中,键入或选择输出文件名。 在“另存为类型”列表中,选择“Autodesk (*.fbx)” 。 此操作将打开“FBX 导出”窗口。
重要
如果在场景中创建了实例,请务必在 FBX 导出设置中选择“保留实例”。
请记住,有几种方法可以导出该文件。 如果打算在文件夹/目录中共享 FBX 及其纹理文件,则以下屏幕截图中显示的设置应可以正常工作。
如果不希望与 FBX 一起共享大型纹理文件夹/目录,可选择在 FBX 中嵌入纹理。 如果嵌入纹理,则整个资产(包括纹理)将添加到单个 FBX。 这样做会将导出内容合并为一个资产,但最终 FBX 文件要大得多。
重要
如果生成的 FBX 文件大于 2.4 GB,则 FBX 导出设置中指定的最低版本应为 2016 或更高版本。 (请参阅前面的屏幕截图。)较新版本具有 64 位支持,因此支持更大的文件。
如果要导出包含纹理的场景,请在 *FBX 导出窗口中,选择“嵌入媒体”。
选择其余设置,然后选择“确定”:
使用物理材料导出到 FBX 时,在 FBX 导出窗口中选择“确定”后,可能会看到以下警告:
此警告通知你导出的材料可能与其他软件包不兼容。 因为物理材料与 Azure 远程渲染兼容,所以不必担心此警告。
选择“确定”完成该过程,然后关闭窗口即可。
结束语
一般而言,此类型的材料看起来更真实,因为它基于现实世界的光线物理原理。 它创造了一种额外的沉浸式效果,使场景反映出现实世界的特征。
后续步骤
你现在已知道如何为场景中的对象设置具有高级照明的材料。 你也知道了如何将对象导出为 Azure 远程渲染支持的 FBX 格式。 下一步是转换 FBX 文件,并在 Azure 远程渲染中将其可视化。