使用脚本修改属性

若要同时修改多个属性,可以使用“属性总表”(Attribute Spreadsheet)“窗口 > 常规编辑器 > 属性总表”(Window > General Editors > Attribute Spreadsheet))。

或者,可以通过脚本执行此操作。

以下示例演示如何研究和使用 MEL 脚本以禁用场景中所有选定对象的可见性。

  1. 查询“可见性”(Visibility)属性的名称。

    要修改属性,必须了解其准确的属性名称。

    选择对象。在其形状节点(例如 pPlaneShape1)中,展开属性编辑器“对象显示”(Object Display)部分,然后禁用“可见性”(Visibility)属性。

    脚本编辑器的顶部窗格中将显示与您的操作关联的 MEL 命令;例如:

    setAttr "pPlaneShape1.visibility" 0;

    如果在脚本中包括此命令,则它将执行的操作与您刚才通过用户界面执行的完全相同。

  2. 在脚本中,列出场景中所有选定对象的变换节点。
    string $nodes[] = `ls -selection`;
  3. 创建一个循环,然后从其变换节点中获取每个对象的形状节点。

    由于可见性属性是形状节点的一部分,因此必须首先从变换节点获取形状节点。使用 listRelatives 命令。请参见如何获取(选定)形状节点的名称

  4. 使用 setAttr 命令可将每个形状节点的可见性设置为 0。

    最终脚本如下所示:

    {
    //Lists the transform nodes of all selected objects
    string $nodes[] = `ls -selection`;
    
    for ($node in $nodes)
    {
    //Loop through each object and obtain its shape node
    string $shapes[] = `listRelatives -shapes $node`;
    
    //Set the visibility attribute of each shape node to 0
    //The shape node is saved to the 1st (or 0th) element of the $shape array
    setAttr ($shapes[0] + ".visibility") (0);
    }
    }
  5. 将自定义脚本保存到工具架。

      如果计划经常运行自定义脚本,则可以将其保存到工具架。

    1. 脚本编辑器中,选择要添加的脚本行,然后使用鼠标中键将选择拖动到工具架。

      将显示一个对话框,要求您选择脚本的语言。

      选择语言后,表示您的自定义脚本的图标现在已添加到“工具架”(Shelf)

    2. 右键单击该图标,然后选择“编辑”(Edit)以打开“工具架编辑器”(Shelf Editor)窗口。

      可以使用此编辑器自定义添加到“工具架”(Shelf)的新项目。例如,在“工具架”(Shelves)选项卡中自定义图标,或者在“命令”(Command)选项卡中修改命令。

查询属性的名称

除了通过 Maya 界面执行操作并检查在脚本编辑器的顶部窗格中输出的结果外,还可以通过以下方式查询属性的名称:

修改选定的节点

若要获取和设置属性,请使用 getAttrsetAttr 命令。

您可能希望更改选定节点、特定类型的所有节点或场景中所有节点的属性。

相关主题