如果重命名已在表达式中使用其属性的某个对象,“表达式编辑器”(Expression Editor)会继续读取或设置这些属性。Maya 不会将属性与表达式断开连接。表达式编辑器(Expression Editor)会在您下次单击表达式编辑器(Expression Editor)中的“重新加载”(Reload)按钮时转化为该对象的新名称。
在重新加载表达式时,“表达式编辑器”(Expression Editor)会将任何短属性名称转化为其等效的长属性名称。例如,如果最初键入属性名称 Ball.ty,则重新加载表达式会将其重命名为 Ball.translateY。
如果重命名某个对象并在表达式的 MEL 命令中使用该名称(请参见下面一节),则必须在表达式中手动更改该名称。“表达式编辑器”(Expression Editor)不会转化 MEL 语句中存在的对象名称。例如,假设您在表达式中成功使用下列语句:
Cube.translateX = 'getAttr Ball.translateX'; setAttr Ball.translateX 0;
如果稍后将 Ball 重命名为 Sphere,“表达式编辑器”(Expression Editor)不会将名称 Ball 更改为 Sphere,并且表达式将失败。必须在表达式中手动更改该名称。
在下列语句中,“表达式编辑器”(Expression Editor)将名称 Ball 更改为 Sphere,表达式将执行,并且不出现错误。之所以会发生这种情况,是因为这些语句使用标准表达式语法,而不是 MEL 命令语法。
Cube.translateX = Ball.translateX; Ball.translateX = 0;