高级用法

“自定义功能区”功能主要用于重新组织功能区界面以适合您的工作方式,以及用于从“操作项”列表添加现有 3ds Max 命令。尽管使用此功能可以添加其他类型的自定义控件(如复选框和微调器),但要使这些自定义控件起作用,则需要高级知识和编写脚本的能力(其中包括编写 MacroScripts)。

也就是说,要了解有关功能区内部工作的详细信息,检查一些现有控件并观察其连接到基础脚本的方式是非常有用的。例如,使用“自定义功能区”对话框,在“建模”选项卡上的“编辑”面板左下角找到“UVW 调整”微调器。

注意: 请仅在您非常熟悉和了解 3ds Max 和计算机编程的情况下继续本节中的操作。如果操作有误,则有可能破坏程序功能。为安全起见,请为所有指定文件备份副本,并且只在副本上执行操作。

在“现有 UI”列表或预览窗口中,单击微调器,然后滚动到“属性”列表的底部。“Maxscript”属性为 UVWTweakSpinnerCallback。在程序安装目录下的 \stdplugs\stdscripts 文件夹中,使用文本编辑器打开文件 PolyTools.ms。在该文件中搜索文本“UVWTweakSpinnerCallback”(无需引号)。搜索结果应如下所示:

struct UVWTweakSpinnerCallback
(
  fn OnChanged iValue =
  ( 
    PolyToolsUI.UVWTweakChannel = iValue 
  ),

 	fn getValue = 
  ( 
    PolyToolsUI.UVWTweakChannel 
  )
)

这是一段 MAXScript 代码,该代码将功能区微调器与 3ds Max 软件连接起来。有关脚本确切工作原理的讨论超出了本帮助的内容范围,要了解更多信息,请参见“帮助”菜单中的“MAXScript 帮助”。

同样,其他功能区控件通过“命令”属性调用 MacroScript。例如,使用“自定义功能区”对话框,在“对象绘制”选项卡的“绘制对象”面板上找到“绘制”切换按钮。“命令”属性的值为 ObjectPaint 绘制,该值将切换“对象绘制”功能的“绘制”命令。可以在“操作项”列表 “主 UI”组 “PolyTools”类别中找到该命令。要将操作应用于按钮,只需将操作从“操作项”列表拖至按钮属性中的“命令”值即可。顺便说一下,“ObjectPaint 绘制”命令在 MacroScript 文件 Macro_PolyTools.mcr 中定义,该文件位于安装目录下的 \UI\MacroScripts 中。

因此,要定义“按钮”或“切换按钮”控件的自定义功能,请首先编写相应的 MacroScript,将该文件放入 3ds Max 启动时会自动从其中加载脚本的目录中,然后重新启动 3ds Max,以便命令显示在“拟办事项”列表中。然后,将按钮添加到功能区,在“拟办事项”列表中找到该命令,并将操作拖动到“属性”部分的“命令”属性中。