“自定义功能区”对话框提供了大量用于编辑功能区的工具。可以使用鼠标和键盘来重新排列和重命名现有控件,以及更改其图标。更重要的是,可以基于 3ds Max 中的几乎所有工具添加控件,或基于自定义脚本添加新工具。
此外,还可以添加其内容最适合于您自己的工作流程的自定义选项卡和面板。每个功能区元素(从选项卡直至单个工具)都包含许多可用于定义诸如名称、大小、启用状态及其他设置的属性。此外,还可以将大多数功能区元素的“可见”和“启用”状态设置为根据活动上下文而变化。
“自定义功能区”对话框的使用方法非常简单:先将命令和功能区控件从对话框左侧的两个不同区域拖至位于中央位置的“现有 UI”层次列表中。然后,要编辑“现有 UI”列表中某一项的设置,请突出显示该项,然后使用对话框右侧上的“属性”编辑器。属性设置更改随即显示在功能区中,然后您可以将这些更改保存到可以稍后加载的自定义功能区文件中,或者发送给同事,以便他们也可以充分利用您的工作成果。
拖动过程中,当鼠标光标位于“现有 UI”列表上时,即将放置移动项的列表位置上将出现一个箭头(如果允许)。此外,还将临时高亮显示所有父项,以指示移动项将出现在层次结构中的位置。如果按住鼠标光标在可以展开的元素(如折叠的面板)上停留几秒,该元素的层次结构将展开。如果系统不允许当前放置,则鼠标光标处将显示一个“停止”图标:
释放鼠标按钮后,移动项将出现在箭头指向的位置。如果系统未显示任何提示,则尝试将命令放置到不受支持的位置。例如,分隔符必须放置在面板或子面板上;它不能成为选项卡的直接派生对象。
“现有 UI”列表中可用的其他编辑功能如下所示:
要创建特定功能区面板的快捷方式:
使用“自定义功能区”和“自定义用户界面(CUI)”对话框上提供的功能,可以设置键盘快捷方式、工具栏按钮或菜单项来打开特定功能区面板。有 20 个这种快捷方式可用。下面的过程介绍如何执行此操作。
默认情况下,该面板的“功能面板编号”属性设置为 0,这表示该面板当前不可用于链接到快捷方式。
“自定义用户界面”对话框会随即打开。
“操作”列表会显示 20 个带编号的“功能区面板”项。
例如,在“键盘”面板上指定一个热键,或在“工具栏”面板上将该操作拖动到工具栏中。
鼠标光标处会显示该面板。您现在就可以按照在功能区上的方式使用该面板。
示例:自定义功能区 - 第 1 部分:
“自定义功能区”对话框中提供了各种功能,用于修改功能区和创建新的界面元素以准确地适合您的工作流程。本过程由两个部分组成,介绍一些可能会对您自定义功能区起到帮助作用的技巧。
“自定义功能区”对话框会随即打开。
现在,您就可以查看功能区上的四个默认选项卡的名称。
这是“建模”选项卡上当前唯一可用的面板。
接着,您将创建一个全新的功能区选项卡,并用面板进行填充。
当将鼠标移动到“现有 UI”列表的上方时,会有一个箭头显示在释放鼠标按钮时将在什么位置放置您拖动的项。如果您在可展开的项上暂停几秒钟,则其层次将展开,以便您可以将所拖动的项放置在该层次内。在此示例中,不需要这样做,因此务必在“对象绘制”层次展开之前释放鼠标按钮。如果“对象绘制”层次展开,则释放鼠标按钮(很可能不会添加任何内容),关闭该层次,然后重试。
在列表的末尾会显示一个名为“新选项卡”的新项。另外,在功能区中也会添加一个同名选项卡。
“标题”属性定义为“新选项卡”。这是系统为新选项卡指定的默认名称。
新功能区选项卡的名称会立即变为“我的选项卡”。
“多边形建模”面板项的副本将显示为“我的选项卡”项的子对象。您可以单击功能区上的“我的选项卡”选项卡确认此副本。这样您就填充了您的选项卡!
此层次的级别中包含两个用面板换行符隔开的子面板。(子面板使用 图标,是通常包含相关工具的面板的一部分。)第一个子面板名为 [C: poly main H,M],其中包含面板的可见部分。第二个子面板位于面板换行符之后,其中包含在单击功能区上的面板标题时打开的展开项。
在此命名约定中,C 代表“条件”,H、V 和/或 M 表示条件:水平或垂直(功能区方向)和/或最小化。此命名约定还可反映其他条件,例如当前子对象层级。
本过程的第二部分介绍了条件属性。
现在,您就可以看到另外三个子面板嵌套到了该面板中,各子面板之间用分隔符分隔。这些子面板用于定义“多边形建模”面板中的三个区域,这三个区域按水平方向排列。您将删除标签为 [堆栈导航] 的中心子面板, 因为到底谁需要导航堆栈呢?
[堆栈导航] 子面板已从层次中以及“多边形建模”面板的副本中消失。
右侧的子面板 [命令面板工具] 会稍微向左侧移动。
未发生任何情况。
到目前为止,您已了解如何创建新功能区选项卡、如何用现有面板的副本进行填充以及如何编辑面板。在下一部分中,您将创建一个新面板并用来自现有 3ds Max 命令的功能区工具进行填充。
示例:自定义功能区 - 第 2 部分:
此过程紧接着上一过程进行操作,如果您未按照第 1 部分执行操作,那么请现在就这样做,然后再继续此过程。
在此过程中,您将创建一个新面板,然后用创建和修改对象所需的命令填充新面板。
列表中及功能区上会随即显示一个默认名称为“新面板”的新面板。
该列表将更改为显示所有可用的对象基本体。
“茶壶”命令会随即显示在列表中及功能区中的新面板上。“茶壶”名称会随即显示在列表中,但不会显示在功能区上。不过,在这两个位置都会显示默认图标。您可以根据需要使用“图标”属性更改图像;此过程未介绍相关的详细信息。
“茶壶”名称会立即显示在图标的旁边。功能区按钮已加宽以同时容纳图标和标签。
这两个按钮在面板上并行放置,面板会加宽以同时容纳它们。但如果希望这两个按钮垂直排列,该怎么办呢?
“行断开”的工作方式与在字处理器中按 Enter 一样,以便后面的内容从新行开始。现在,两个项即以垂直列表格式显示,且面板更加紧凑。
接着,您将添加一个可应用于任何对象的修改器。
现在,“创建和修改”面板提供了一个由三个项组成的列表:两个对象和一个修改器。这样做存在设计问题,因为对象和修改器的功能不同。最好是在界面中将其分开,即使是它们位于同一面板上也如此。实现此目的的一种方法是使用子面板控件,利用它可以在面板上创建平行部分。
如果第二个子面板显示为第一个子面板的子对象(即缩进),则仅将其拖动到左侧并将其移动到与其他面板项相同的层次级别即可。
现在,对象显示在面板的左侧,而修改器显示在右侧。
您可能希望在下拉列表中显示不同组的相关修改器;这可以使用“拆分按钮”控件轻松实现。
不会显示任何文本,因为没有任何修改器处于活动状态。
修改器名称将出现在拆分按钮上且该修改器将应用于所选的对象。
要节省面板上的空间,可以让修改器拆分按钮仅在某些情况下显示。
系统会打开一个下拉列表,其中包含“True”、“False”和“有条件的”三个选项。
“可见条件”对话框会随即打开。可以使用该对话框指定该控件将可见的条件;在其他条件下,该控件不会出现。您可以在以后重新打开该对话框,通过单击该属性右侧的 [...] 按钮更改条件。
这表示仅在选择了可编辑多边形对象或带有“编辑多边形修改器”的对象时,才会显示该控件。当然,大多数修改器可应用于任何几何体,因此,如果您熟悉 MAXScript,可通过 Maxcript 字段或“可见条件”对话框上的“打开编辑器”按钮为该条件编辑脚本。
您还可以为“启用”属性设置条件。在这种情况下,如果不满足条件,则对应项将可见但不可用(也就是会灰显)。
3ds Max 会询问您是否要保存更改。如果单击“否”,程序将加载默认功能区配置。如果单击“是”,您编辑的内容将保存到默认功能区且在每次重新启动程序时都会加载。若要返回到标准功能区,请右键单击功能区,然后选择“功能区配置”“将功能区重置为默认值”。
在这个由两个部分组成的过程中,您了解了如何修改现有功能区、添加新组件以及设置可见性条件。当然,还有关于自定义功能区的更多信息;我们建议您阅读本节的其余部分,然后亲自尝试一下。请记住,您可以始终使用功能区右键单击菜单上的“功能区配置”“将功能区重置为默认值”命令返回到默认功能区。
“自定义功能区”对话框窗口的工作方式与大多数其他对话框一样。要调整该对话框的大小,请拖动边或角;要重新定位,请拖动标题栏。要折叠或展开某一部分,请单击相应部分标头右端的三角形。要更改各部分之间的比例,请拖动垂直或水平分隔器。尽管右侧列包含几个部分,但“预览窗口”为固定大小,因此,为“属性”部分提供更多垂直空间的唯一方法是折叠“预览窗口”。
对话框用户界面由五个主区域和几个按钮组成。本节介绍这几个区域,并在需要时提供指向各部分的链接以及进一步的说明。
本节列出了可指定为功能区控件的所有 3ds Max 功能,并提供了“自定义用户界面”对话框中所提供的大部分功能的等效项。
要向功能区中添加命令,首先从“组和类别”列表中选择该命令的组和类别,然后在“操作”列表中找到该命令并将其拖动到“自定义功能区”对话框中心的“现有 UI”层次中的适当位置。
按照这种方法向功能区中添加命令时,会创建一个按钮。该按钮的行为取决于在软件中定义的命令的特性。例如,在单击几何基本体(如长方形)的对应按钮时,该按钮仍保持启用状态,因此您可以连续创建几个长方形。另一方面,修改器的对应按钮只能暂时激活,从而将修改器应用于选定的对象。
列出了您可以向功能区中添加的所有用户界面元素(与特定命令无关)。有关这些用户界面元素的描述,请参见功能区控件。
功能区用户界面的树视图或层次列表。要展开或折叠分支,请单击父项旁边的箭头。已折叠分支的对应箭头显示为一个指向右侧的灰色轮廓;对于已展开的分支,箭头为黑色且指向右下方。
如果右键单击列表中可收拢的元素(如面板或子面板),将打开一个菜单,使您可以选择“全部收拢”或“全部展开”:这是指元素及其子元素。
此外,如果右键单击选项卡元素,会出现另外一个导出菜单项,用于将该选项卡保存为 XAML 文件。该文件的默认输出文件夹为程序安装目录中的 UI\Ribbon\Extensions 。如果将该文件传递到另一个用户,该用户将其复制到其 PC 上的相同文件夹中,则将自动安装到该用户所用 3ds Max 版本的功能区中,而不会影响功能区的其余部分。
默认情况下,该列表仅包含功能区中处于活动状态的功能。例如,如果未选择任何对象,则“石墨建模工具”树枝中仅包含“多边形建模”面板,但如果选择了一个可编辑多边形对象,则在该树枝中将出现很多附加面板。
另外,无论当前程序状态如何,要显示所有功能区内容,请启用“现有 UI”列表下方的“显示所有隐藏 UI”切换。尽管如此,通常您会希望将其保持禁用状态。
如果某项的名称显示为绿色,则表示其“可用”或“可见”属性已设置为“条件”。有关详细信息,请参见“条件”对话框。
显示在“现有 UI”列表中突出显示的项的面板,包括面板名称。在该列表突出显示某选项卡时,没有任何可用的预览。
预览窗口在一定程度上是交互式的:单击某项可在“现有 UI”列表中突出显示它,并在“属性”部分中显示其属性。同样,在“现有 UI”列表中单击某项可在预览窗口中突出显示其视觉表示。另外,将鼠标放在预览项上可显示工具提示(如果有)。但是,预览窗口不支持更改设置或打开下拉列表。
显示“现有 UI”列表中突出显示的项的所有可用设置。
“属性”设置是用“自定义功能区”对话框上的工具提示自说明的设置,因此在此不对其进行详细介绍。但是,有一些常规说明:
功能区控件接口提供可用的用户界面元素,其中包括诸如选项卡、面板,以及控件本身之类的组织元素。要向功能区添加控件,请将控件从“功能区控件”列表拖至“现有 UI”列表。
用于组织功能区的前六个功能区控件具有特定图标,这些图标将出现在“自定义功能区”对话框上的控件名称旁的下方。这些图标具有“粘性”,即使通过“属性”设置设置成其他图标,之后仍会恢复成原样。
剩余控件(从“按钮”到“色样”)都具有可自定义的图标,因而在“功能区控件”列表中均采用一般星形图标进行标记。要为上述某一控件设置图标,将其添加到功能区后,可以通过单击“...”按钮并选择一个 ICO 代表该元素来设置其“图标”(或者“大图标”)属性。然后,该图标将出现在“现有 UI”列表和功能区上。
在面板或子面板上并排显示的元素之间创建一个垂直分隔线。通常,需要在子面板之间放置一个分隔符以将其区分为不同区域。
要设置分隔符的可视外观,请使用“样式”属性。有两种类型的分隔符可用:“线”和“无”样式将创建一条垂直细线,“分隔条”和“不可见”样式将创建一个窄的垂直空间。可以通过分隔符的属性调整分隔符的宽度和高度。
重新开始一行控件。默认情况下,面板或子面板上相邻的元素将出现在该空间中的同一行上;要创建多行,请使用“断开行”。要创建柱形布局,请在每对连续元素之间放置一个“断开行”。
在面板下方(或在垂直功能区一旁)创建一个独立区域。最大化功能区时,通过单击面板名称来访问断开面板后面的控件,系统将在与该面板相邻的位置打开一个扩展区。
最小化功能区时,打开面板会显示其所有控件,其中包括断开面板后面的控件。
断开面板控件无法通过条件进行控制,因此如果在断开面板后面放置一个条件元素,结果可能是一个空扩展。
子面板是面板或父子面板上一个独立的控件子组。子面板与面板的工作方式非常类似(参见下文),不同的是通过在面板上放置多个子面板,可以将面板内容排列得更加整齐有序。
子面板类似于多栏文本页或电子表格上的列。子面板上的所有项都是靠其左边缘对齐(假定在每对项之间放置了“断开行”控件)。
在 3ds Max 附带的默认水平功能区上,您可以发现大量该用法的示例,以及嵌套子面板的示例。例如,在“自由形式”选项卡上(确保选择了可编辑多边形对象),“多边形绘制”面板包含两个子面板。如果展开第一个子面板 [C: 多边形绘制 H],则可在末尾处看到两个 [多边形绘制工具] 个子面板,两个面板之间用“分隔条”分隔符分隔开来。如果展开这两个面板,则可以看到“多边形绘制”面板左侧上的两列控件(分别以形状和拓扑打头)的排列方式。
子面板只能内嵌一次;也就是说,可以把子面板放进子面板内,但不能再进行更深一层的内嵌。
面板是选项卡上的一个独立控件组。使用面板可以将相关命令和属性组织到一个组中。要节省空间,可以启用面板的“折叠”属性。还可以将面板设置成使用 CUI 快捷方式快速访问;有关详细信息,请参见本步骤。
默认情况下,面板中的所有控件全都显示在一行上。要创建多行,请插入断开行。例如,要在面板上创建一个控件列,则在每个元素(最后一个元素除外)后面放置一个断开行。
或者,要在面板上创建一个 2 x 2 控件排列,则先放置两个控件,然后放置一个断开行,然后再放置两个控件。但是,除非面板上显示的所有控件的大小全都相同,否则将导致排列不整齐的情况。要使面板看起来更加对称,请使用子面板(如前所述)。
选项卡是功能区中的顶级组织单位,所包含的相关工具的范围通常较为广泛。添加选项卡之后,使用面板、子面板和控件来填充选项卡。
创建一个“空白”标准按钮作为特定命令的占位符。标准按钮通常只需单击一次即可调用命令;用于将修改器应用于对象的按钮就是一个示例。
添加按钮之后,可以通过将非切换操作从“操作项”列表拖至其“命令”属性来定义按钮的功能。还可以通过将 MacroScriptt 指定给“命令”属性来创建自定义命令。有关详细信息,请参见高级用法。
创建一个“空白”切换按钮作为特定命令的占位符。切换按钮通常只需单击一次即可调用状态,再单击一次即可禁用该状态。用于创建对象基本体(如方框)的按钮就是一个切换按钮示例。通常,创建切换按钮时,需要指定一个备选图标来突出“开启”状态。在功能区中,“显示最终结果”按钮就是一个示例。
添加切换按钮之后,可以通过将切换操作从“操作项”列表拖至其“命令”属性来定义切换按钮的功能。还可以通过将 MacroScript 指定给“命令”属性为切换按钮创建自定义的切换操作。有关详细信息,请参见高级用法。
创建一个“空白”复选框作为特定命令的占位符。标准的复选框通常只需单击一次即可切换状态;“多边形建模”面板上的“完全交互”复选框就是一个示例。
添加复选框之后,可以通过将 MacroScript 指定给“命令”属性为该复选框定义函数。有关详细信息,请参见高级用法。
为下拉命令列表创建一个“容器”。“对象绘制”选项卡 “绘制对象”面板上的“启用绘制”控件就是一个示例。
添加“拆分按钮”控件之后,使用子项来填充该控件,方法是将操作拖到“拆分按钮”控件上(请参阅本步骤)。还可以通过将 MacroScript 指定给“命令”属性来为“拆分按钮”控件定义函数。有关详细信息,请参见高级用法。
为复选框下拉列表创建一个“容器”。“建模”选项卡 “修改选择”面板上的“类似”控件就是一个示例。
添加“核对清单按钮”控件之后,使用“复选框”控件来填充“核对清单按钮”控件,方法是将“复选框”控件拖到“核对清单按钮”控件上。还可以通过将 MacroScript 指定给“命令”属性来为“拆分按钮”控件定义函数。有关详细信息,请参见高级用法。
为不具有其自己的标签或其默认标签处于禁用状态的控件添加文本描述符或图标(或两者)时使用。“编辑”面板上按钮行的“约束”标签就是文本标签的一个示例。垂直功能区“属性”面板中的色样图标就是一个仅图标标签示例。
创建一个由数值字段和向上/向下箭头按钮组成的标准微调器控件,以便通过鼠标更改微调器的值。
添加微调器之后,可以通过将 MAXScript 脚本指定给 Maxscript 属性来定义微调器的功能。有关详细信息,请参见高级用法。
创建标准的色样控件,用户单击该控件后可以使用“颜色选择器”对话框来编辑颜色。
添加色样之后,可以通过将 MAXScript 脚本指定给 Maxscript 属性来定义色样的功能。有关详细信息,请参见高级用法。
“自定义功能区”对话框按钮提供用于保存和加载功能区配置以及切换显示所有 UI 项的控件。
默认情况下,“现有 UI”列表将基于条件仅显示功能区中当前可见的界面元素。例如,在垂直功能区中通常会隐藏“水平”条件的子面板。要忽略条件使所有功能区元素都可用于编辑,请启用“显示所有隐藏 UI”。
打开文件对话框以加载使用文件扩展名 .ribbon 的功能区方案文件。通常,将使用该控件加载之前使用“另存为”保存的自定义功能区(参见下文)。
打开文件对话框以将自定义的功能区保存到使用文件扩展名 .ribbon 的功能区配置文件中。随后使用“加载”来还原该配置。
“保存”和“另存为”在自定义功能区中的工作方式与在其他上下文中惯用的工作方式有些不同。有关说明,请参见下文中的“保存”。
将对功能区所做的任何更改保存到默认启动功能区配置中,这通常不同于使用“另存为”保存的文件。仅当功能区自上次保存或打开对话框之后发生了更改时才可用。
要进一步解释“保存”与“另存为”之间的区别,请假设您自定义功能区,然后使用“另存为”将其保存到文件(例如 MyRibbon.ribbon)。之后进行更多的更改,并使用“保存”命令。这不会覆盖 MyRibbon.ribbon 文件;它将覆盖默认功能区启动文件。要将进一步的更改保存到非默认文件,请始终使用“另存为”。
丢弃自打开对话框或保存功能区之后对功能区所做的任何更改。仅当存在此类更改时才可用。
关闭按钮位于“自定义功能区”对话框的右上角,单击时将关闭对话框。如果有尚未保存的更改,系统将提示是否保存更改。
如果单击“是”,系统将更改保存到默认功能区配置文件并关闭对话框。如果单击“否”,系统将丢弃自最后一次保存或打开对话框(如果未执行过保存)之后所做的任何更改。