本主题介绍如何使用 Max Creation Graph 创建自定义长方体创建工具。然后,可以修改工具以将对象置于主栅格。之后,您可以使用图形来创建指定给类别的复合节点。通过打包工具创建一个可以分配给其他 3ds Max 用户的文件,即大功告成。
还可在此主题中发现许多用于处理 Max Creation Graph 的有用提示,例如如何最好地使用文件夹以及如何卸载 MCG 工具。
示例:Max Creation Graph 快速入门:
- 打开图形编辑器:在菜单栏上,单击“脚本”菜单将其打开,然后选择“打开 Max Creation Graph”。(如果使用增强型菜单,则位于“脚本”菜单中)。
最后将以生成图形所定义几何体的节点开始构建图形。
- 在编辑器窗口左侧的“可用节点/操作符”列表中滚动到“输出”类别,将其展开,然后将某个“Output: geometry”节点拖动到右侧附近的图形窗口中。
此节点将生成图形剩余部分的结果。图形通常从左至右流动。
接下来,将在图形中添加第一个节点。
- 展开“可用节点/操作符”列表中的“参数”类别,将“Parameter: Single”节点拖动到左侧附近的图形窗口中。双击文字字段(当前显示为“名称”),编辑文本以读取 BoxSize,然后按 Enter键。
参数将显示在图形输出的界面中(在这种情况下,带有标签 BoxSize),使图形用户能够在界面中输入值。“Parameter: Single”节点可供用户指定单精度浮点数,也就是小数。作为图形的设计人员,您也可以将用户输入限制为特定范围的值,并指定默认值。
可以保留默认值 0.0,但使用能生成可见对象的起始大小将更有意义。
- 在“默认值”字段中,输入 4.0。将默认的“最小”和“最大”值保留为 0.0 到 100.0。
现在,已经有了分别表示输入和输出的图形的开始和结束点。仍未完成的操作是添加处理节点,并将节点连接在一起以形成图形。
- 展开“几何体 - trimesh”类别,将 CreateBox 节点拖动到视图中。将其放置在两个现有节点之间。
CreateBox 节点将三个浮点值作为输入,输出基于长方体的 TriMesh(基于三角形的网格)的对象。因此,针对三个维度的长方体,它在其左侧有三个米色的输入连接器,在右侧有一个青色的输出连接器。请注意,“Parameter: Single”节点的输出连接器的颜色与 CreateBox 输入连接器的相匹配,表明这些连接器使用相同的数据类型。CreateBox 的输出连接器和“Output: Geometry”节点的输入连接器也是如此。
- 在“参数: 单精度”节点的输出连接器“值(单精度)”和 CreateBox 节点的“宽度(单精度)”输入连接器之间拖动。拖动的方向无关紧要。
结果就是从第一个节点到第二个节点的连线。连线与其关联的连接器使用相同的颜色,连线上的箭头指示数据流方向。
- 同样,将“参数: 单精度”的“值(单精度)”连接器连线到 CreateBox 节点的“高度(单精度)”和“深度(单精度)”输入连接器。
结果就是从“参数: 单精度”节点的单个输出到 CreateBox 节点三个输入之间的三条连线。也就是说,将“Parameter: Single”节点的一个值用于此长方体的所有三个尺寸,从而生成一个立方体。如果要使用不同的值,可以只添加两个“Parameter: Single”节点,并将它们分别连线到 CreateBox 节点的输入。
下一步是将由 CreateBox 节点生成的原始数据转换为 3ds Max 可以使用的几何体节点。
- 将 CreateBox 节点的“值(TriMesh)”输出连接器连线到“输出: 几何体”节点的“网格(TriMesh)”输入。
- 要使用图形输出,则必须先进行验证,然后计算图形。您可以手动验证图形,但保存图形时将自动进行验证,从而简化此过程。按 Ctrl+S,将该文件保存在默认路径内的 Tools\ 文件夹中,名称为 MyBox.maxtool。
重要: 第一次在 MCG 中保存图形时,默认路径为
[安装驱动器]:\Users\[用户名]\Autodesk\3ds Max [版本号]\Max Creation Graph\。例如,如果您的用户名是“Simone”,
Autodesk 3ds Max 2016 安装在驱动器 C 上,则默认路径为
C:\Users\Simone\Autodesk\3ds Max 2016\Max Creation Graph\。如果更改此路径,MCG 会记住这一新路径,并在以后使用它。
如果希望 MCG 工具在 3ds Max 会话之间保留,请将它保存到 Max Creation Graph\ 文件夹内的 Tools\ 文件夹中。因此,使用上述示例,应将其保存到 C:\Users\Simone\Autodesk\3ds Max 2016\Max Creation Graph\Tools\。
保存 MyBox 图形后,该图形编辑器的“消息日志”窗口将显示验证、获得的 MAXScript 的生成以及保存全部成功。
- 打开“构建”菜单并选择“计算”。“计算”功能生成图形,并将其添加到 3ds Max 界面中。
图形编辑器的“消息日志”窗口显示验证、MAXScript 文件的生成以及 MAXScript 文件的计算全部成功。
- 成功计算几何体图形时,计算输出默认显示在“创建”面板的“Max Creation Graph”类别中。转到“创建”面板,打开下拉列表并选择“Max Creation Graph”。然后,在“对象类型”卷展栏中,单击“MyBox”按钮。
带有单个 BoxSize 参数的“参数”卷展栏显示在“创建”面板上。默认值为 4.0,这将生成一个小长方体。
- 在视口中单击以添加长方体;然后调整 BoxSize 参数值,以更改该长方体的大小。
恭喜您刚刚创建了第一个 MCG 图形!
提示: 如前面的说明所述,将您的图形保存在
Tools\ 文件夹可确保在会话之间保留您的工具。如果您愿意,请退出并重新启动
3ds Max,立即对此进行检查。
要从界面中删除 MCG 工具,请先退出 3ds Max,使用文件浏览器导航到 Tools\ 文件夹,删除使用工具文件名的那些文件。在此示例中,您将删除 MyBox.maxtool、MyBox.ms 和 MyBox.txt(后一个文件在您第一次使用该工具时创建)。将文件复制到 Tools\ 文件夹之外的另一个文件夹作为备份,然后从 Tools\ 文件夹删除这些文件并重新启动该程序。
在主栅格上创建长方体:
注: 该步骤从上一步骤继续。
在前面的步骤中,您学习了如何设计图形,以创建可调整大小的立方体。您可能已经注意到,与标准的长方体基本体不同,“过程内容”(procedural-content) 长方体不是坐落在主栅格上,而是会垂直居中,使其一半在栅格之上,一半在下。在接下来的步骤中,您将添加逻辑,以便更仔细地复制标准长方体基本体创建过程,创建坐落在栅格上、而不是在其中的对象。
- 从上一过程继续,或打开您之前保存的 MyBox.maxtool 图形。
一种方法是使用偏移类型节点重新定位长方体。
- 在编辑器窗口左侧的“操作符节点”列表中,展开“几何体: Trimesh”类别(如有必要),然后将 OffsetMesh 节点拖动到图形中。将其放置在 CreateBox 和“Output: Geometry”节点之间。
将使用该节点在 Z(垂直)轴重新定位网格。
提示: 复合节点是一种包含 MCG 图形的特殊类型节点。它在“操作符节点”列表以及在复合节点的标头上都是以紫色着色。要查看复合节点的结构,请右键单击图形或“操作符节点”列表中的节点,然后选择“在新选项卡中打开复合”。
复合结构甚至可以进行嵌套。OffsetMesh 图形包含另一个复合:DeformMeshPoints。
此时,可以在两个不同的操作中将 OffsetMesh 节点连线到 CreateBox 和“Output: Geometry”节点,但您将代之以使用快捷方式。
- 按住 Ctrl 键,然后将 OffsetMesh 节点拖动至 CreateBox 节点的输出与“Output: Geometry”节点的输入之间的连线。当连线变为黄色虚线,放下该节点并释放 Ctrl 键。
MCG 将在两个现有节点之间自动插入新节点,会在两侧使用正确的 TriMesh 连接器类型。
其他 OffsetMesh 节点的输入(橙色连接器)是 OffsetVector,用于指定三个维度上的对象偏移,因此需要 Vector3 输入类型。在接下来的步骤中,您将使用一种便利功能添加必要的节点,而不必在“操作符节点”列表中查找节点。
- 将 OffsetMesh 节点左侧的橙色 OffsetVector 连接器拖动到图形编辑器的一个空区,然后释放鼠标按钮。
会在鼠标光标旁边打开小的搜索列表,并显示输出连接器与 Vector3 输入连接器类型兼容的节点列表。其中的大多数输出类型为“任意”,与大多数其他类型兼容。在本例中,我们将使用与 Vector3 输入直接兼容的连接器。
- 在键盘上,键入 V(大小写均可)。
MCG 将可选范围缩小至以“V”打头的节点。
- 在列表中,单击 Vector3 节点。
新的 Vector3 节点将显示在图形中,且连线到 OffsetMesh 节点的 OffsetVector 连接器。
下一步您将为 Vector3 节点提供值输入。只会偏移 Z 轴的位置,因此完全可以将 X 和 Y 设置为 0。
- 在“操作符节点”列表中,展开“常量”类别并拖动 Constant 节点到图形中 Vector3 节点的左侧。将其“值”输出连接器连线到 Vector3 节点的“X”和“Y”输入。
注: 与 Parameter 节点类似,Constant 节点可以为图形提供值输入。区别在于,使用 Constant 节点,“值”设置不对图形用户可用;只对其作者可用。
此外,Constant 节点的输出连接器是绿色的,表示它是 Any 类型。这意味着它可以输出任何类型的数值(整数、浮点数等),并且与需要数值的所有输入连接器兼容。
- 将 Constant 节点的“值”字段更改为 0.0。
重要: 输入小数值,告知 MCG 将此数字视为浮点数,而不是只指定 0 时的整数。
接下来,将使用简单的计算指定 Z 值。默认情况下,长方体将有一半进入主栅格,因此要提高其高度的一半。使用算术节点借助于除法计算偏移。
- 使用已经学习的任意方法将 Divide 节点添加到图形(位于数学类别)。将其放置到 Vector3 节点的左侧,将其“值”输出连线到 Vector3 节点的 Z 输入。
Divide 具有类型为“任意”的两个输入:X 是分子,Y 是分母。换句话说,Divide 的输出是 X 输入除以 Y 输入。您已经有了分子:BoxSize。
- 将 BoxSize 参数节点的“值”输出连线到 Divide 的 X 输入。
将需要另一个 Constant 节点作为分母。可以通过克隆现有 Constant 节点创建此节点。
- 按住 Shift 键并将 Constant 节点向下拖动一点,即可复制此节点。将副本放置到 Divide 节点附近,将其值更改为 2.0,然后将其输出连线到 Divide 的 Y 输入连接器。
此时,您的图形可能有点乱;这很容易修复。
- 在图形窗口中单击鼠标右键,然后选择“布局全部”。
这将拉直所有节点。
- 保存图形并计算。
这将替换 Max Creation Graph 类别的“对象类型”卷展栏上的 MyBox 工具。
- 再次使用 MyBox 工具创建新的长方体。
现在,当您调整 BoxSize 值时,长方体的底部将保持在栅格之上。
创建复合节点:
注: 该步骤从上一步骤继续。
复合节点是构建自其他节点的独立节点。在某种意义上讲,它是一个“黑箱”:默认情况下,其内部工作方式是由使用它的“作者”隐藏的。一旦创建了复合,即可将其用在其包含的图形所在位置的图形中,从而节省时间。
由于复合不是作为完整图形工作,因此需要替换两个节点。
将首先使用等效的 Input 节点替换图形开始处的 Parameter 节点。这样,将由复合作为部件的图形提供输入值 (BoxSize),而不是自复合中提供。
- 从“输入”类别中,将“Input: Single”节点拖动到图形的左侧。编辑文本字段以读取“BoxSize”。将新节点的“值”输出连线到 CreateBox 节点的三个输入和 Divide 节点的 X 输入。
- Parameter 节点现在未连线,因此您可以选择该节点并将其删除(按 Delete 键)。
同样,将使用旨在自复合节点发送数据的节点替换当前 Output 节点。
- 从“输出”类别中,将“Output: Compound”节点拖动到图形的右侧。将 OffsetMesh 节点的“值”输出连接到“Output: Compound”输入,然后删除“Output: Geometry”节点。
下一步您将使用特殊文件格式将该复合保存在专门的位置,但首先要指定其在“操作符节点”列表的显示位置。
- 在“Max Creation Graph”对话框中,打开“编辑”菜单,然后选择“编辑图形属性”。
“图形属性”将打开,带有可用于描述图形的各种字段。下一步中将使用的是“类别”字段,如下图所示。
注: 这些设置中的大多数只是帮助跟踪图形的各个方面,但“类别”字段有实际的功能性效果。
- 在“类别”字段中,输入应该显示复合的“操作符节点”列表的类别名称。在此例中,输入几何体 - TriMesh。
提示: 可以指定需要的任何类别,包括新建类别。如果没有指定类别,复合将出现在“复合”类别中。
- 打开“文件”菜单并选择“另存为”。使用文件对话框浏览到“Compounds”文件夹:[安装驱动器]:\Users\[用户名]\Autodesk\3ds Max [版本号]\Max Creation Graph\Compounds\,然后从“另存为类型”下拉列表选择文件类型 MCG Compounds (*.maxcompound)。将图形以名称 MyBox.maxcompound 保存在 Compounds 文件夹中。
- 打开“操作符”菜单,并选择“重新加载”操作符。
这会将 MyBox 操作符添加到“几何体 - TriMesh”类别。
提示: 您可能已经注意到,“重新加载”操作符还会折叠起“操作符节点”列表中所有展开的类别。
- 在“编辑器”对话框的顶部附近,在“MyBox.maxcompound”选项卡旁右键单击,然后选择“创建新视图”。
此时将打开一个新的空选项卡,标记为“Untitled”。
- 展开“几何体 - TriMesh”类别并将 MyBox 复合节点拖动到空视图中。
输入连接器使用在“Input: Single”节点中输入的 BoxSize 标签。
- 从“参数”类别中,将“Parameter: Single”节点拖动到图形的左侧。从“输出”类别中,将“Output: Geometry”节点拖动到图形的右侧。
- 将“参数: 单精度”节点中的文本字段更改为“大小”,并将两个节点连线到 MyBox 复合的输入和输出连接器。
- 将新图形在 Tools\ 文件夹中另存为 SimpleBox,然后计算。
- 使用“Max Creation Graph”类别的“对象类型”卷展栏上的“SimpleBox”按钮,以创建新的长方体。
创建、安装和卸载 Max Creation Graph 软件包:
注: 该步骤从上一步骤继续。
Max Creation Graph 软件包是独立的软件组件,可供任何 Autodesk 3ds Max 2016 用户安装和使用而无需熟悉其内部工作方式。例如,如果您设计的图形要创建特定类型的过程对象(如具有可自定义特征的椅子),可以使用此实用程序将图形分发给团队其他成员,以便于他们创建类似的对象类型。
- 在 SimpleBox 图形打开的情况下,请打开“文件”菜单并选择“打包 Max Creation Graph”。
- 使用文件对话框将软件包文件另存为 SimpleBox.mcg。
为获得最佳结果,请将文件保存在默认文件夹([安装驱动器]:\Users\[用户名]\Autodesk\3ds Max [版本号] \Max Creation Graph\Packages\),并让将向其分发软件包文件的同事将文件也放置在其计算机中的类似位置。
在接下来的步骤中,您将模拟由同事安装工具的过程。对于此过程不需要使用图形编辑器。
- 关闭图形编辑器,然后在主菜单栏中打开“脚本”菜单。(如果使用“增强型菜单”工作空间,请使用“脚本”菜单。)选择“安装 Max Creation Graph (.mcg) 包”命令,并打开在前面的步骤中保存的软件包文件。
将打开警告,其中的信息显示安装已成功。单击“OK”继续。
- 从“创建”面板 >“几何体”下拉菜单中,选择“Max Creation Graph”。
“SimpleBox”工具将显示在“对象类型”卷展栏中。
- 使用该工具以确保其正常工作。
最后,您将学习如何卸载软件包。这里没有正式的“卸载”功能,因此您需要使用另一种方法。
- 首先,请退出 3ds Max。然后,使用文件管理器实用程序(例如 Windows 资源管理器)导航到 [安装驱动器]:\Users\[用户名]\Autodesk\3ds Max [版本号]\Max Creation Graph\Tools\Downloads\。
如果找不到该文件夹,只需要在系统中搜索与下一步骤中的文件名类似的文件名即可。
- 查找并删除以该工具的名称命名的三个文件。此例中为 SimpleBox.maxtool、SimpleBox.ms 和 SimpleBox.txt。
提示: 您也会看到,安装软件包时,相应的图形(.maxtool 文件)将变为可用状态;如果需要的话,可以对其进行编辑。
- 重新启动 3ds Max 并检查“创建”面板上的“Max Creation Graph”>“对象类型”卷展栏。
以前安装的软件包将不再可用。您仍拥有此工具文件,需要的话可以很方便地重新安装该工具。