Attribute names

A full attribute name has the name of the node, a period, and the name of the attribute on the node, with no spaces between them:

nodeName.attributeName

You can find the name of a node in the edit box at the top of the Attribute Editor.

When scripting, you cannot use the human readable attribute names, also known as "nice" names, that are shown by default in the Attribute Editor, the Channel Box and other option windows. You can only use the “long” or “short” names.

Names are case sensitive: you must use upper and lower-case letters as the name appears in the Objects and Attributes list of the Expression Editor, or the short name/long names in the Channel Box and other editors, or the output of the listAttr command.

After you click Create or Edit to compile an expression, Maya converts all attribute abbreviations in the expression to the full attribute name.

Omitting an object name in animation expressions

If you select an object as the Default Object in the Expression Editor, you can omit the object name and period that’s part of a full attribute name.

Suppose you’ve selected Ball as the Default Object.

In place of this:

Ball.translateY = time;

you can type this:

translateY = time;

Maya interprets translateY as belonging to Ball, the object listed in the Default Object text box of the Expression Editor.

To make an object the Default Object, type the object’s name in the Default Object text box.

By default, the selected object is also the default object. You can omit the object name only for attributes of the object in the Default Object text box.

The Default Object text box is dim when a particle shape node is the selected object in the Expression Editor. Because a particle shape node’s attributes can be controlled by only one creation expression and two runtime expressions (before and after dynamics calculations), the particle shape node is always the default object when it is the selected object.

You can combine short names and the default object to minimize typing. Suppose you’ve selected Ball as the Default Object. In place of this:

Ball.translateY = time;

...you can type this:

ty = time;