pymel.core.animation.character¶
- character(*args, **kwargs)¶
This command is used to manage the membership of a character. Characters are a type of set that gathers together the attributes of a node or nodes that a user wishes to animate as a single entity.
Flags:
Long Name / Short Name Argument Types Properties addElement / add PyNode Adds the list of items to the given character. If some of the items cannot be added to the character because they are in another character, the command will fail. When another character is passed to to -addElement, is is added as a sub character. When a node is passed in, it is expanded into its keyable attributes, which are then added to the character. addOffsetObject / aoo unicode Indicates that the selected character member objects should be used when calculating and applying offsets. The flag argument is used to specify the character. characterPlug / cp bool Returns the plug on the character that corresponds to the specified character member. clear / cl PyNode An operation which removes all items from the given character. empty / em bool Indicates that the character to be created should be empty. (i.e. it ignores any arguments identifying objects to be added to the character. excludeDynamic / ed bool When creating the character, exclude dynamic attributes. excludeRotate / er bool When creating the character, exclude rotate attributes from transform-type nodes. excludeScale / es bool When creating the character, exclude scale attributes from transform-type nodes. excludeTranslate / et bool When creating the character, exclude translate attributes from transform-type nodes. For example, if your character contains joints only, perhaps you only want to include rotations in the character. excludeVisibility / ev bool When creating the character, exclude visibility attribute from transform-type nodes. flatten / fl PyNode An operation that flattens the structure of the given character. That is, any characters contained by the given character will be replaced by its members so that the character no longer contains other characters but contains the other characters’ members. forceElement / fe PyNode For use in edit mode only. Forces addition of the items to the character. If the items are in another character which is in the character partition, the items will be removed from the other character in order to keep the characters in the character partition mutually exclusive with respect to membership. include / include PyNode Adds the list of items to the given character. If some of the items cannot be added to the character, a warning will be issued. This is a less strict version of the -add/addElement operation. intersection / int PyNode An operation that returns a list of items which are members of all the character in the list. In general, characters should be mutually exclusive. isIntersecting / ii PyNode An operation which tests whether or not the characters in the list have common members. In general, characters should be mutually exclusive, so this should always return false. isMember / im PyNode An operation which tests whether or not all the given items are members of the given character. library / lib bool Returns the clip library associated with this character, if there is one. A clip library will only exist if you have created clips on your character. memberIndex / mi int Returns the memberIndex of the specified character member if used after the query flag. Or if used before the query flag, returns the member that corresponds to the specified index. name / n unicode Assigns string as the name for a new character. Valid for operations that create a new character. noWarnings / nw bool Indicates that warning messages should not be reported such as when trying to add an invalid item to a character. (used by UI) nodesOnly / no bool This flag modifies the results of character membership queries. When listing the attributes (e.g. sphere1.tx) contained in the character, list only the nodes. Each node will only be listed once, even if more than one attribute or component of the node exists in the character. offsetNode / ofs bool Returns the name of the characterOffset node used to add offsets to the root of the character. remove / rm PyNode Removes the list of items from the given character. removeOffsetObject / roo unicode Indicates that the selected character offset objects should be removed as offsets. The flag argument is used to specify the character. root / rt unicode Specifies the transform node which will act as the root of the character being created. This creates a characterOffset node in addition to the character node, which can be used to add offsets to the character to change the direction of the character’s animtion without inserting additional nodes in its hierarchy. scheduler / sc bool Returns the scheduler associated with this character, if there is one. A scheduler will only exist if you have created clips on your character. split / sp PyNode Produces a new set with the list of items and removes each item in the list of items from the given set. subtract / sub PyNode An operation between two characters which returns the members of the first character that are not in the second character. In general, characters should be mutually exclusive. text / t unicode Defines an annotation string to be stored with the character. union / un PyNode An operation that returns a list of all the members of all characters listed. userAlias / ua PyNode Returns the user defined alias for the given attribute on the character or and empty string if there is not one. Characters automatically alias the attributes where character animation data is stored. A user alias will exist when the automatic aliases are overridden using the aliasAttr command. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.character
Example:
import pymel.core as pm # create two characters with whatever is currently active pm.character() # Result: nt.Character(u'character1') # pm.character() # Result: nt.Character(u'character2') # # create a set which contains two sub characters pm.character( 'character1', 'character2', n='parentCharacter' ) # Result: nt.Character(u'parentCharacter') # # Add the keyable attributes of ikHandle1 to a character pm.character( 'ikHandle1', add='character1' ) # Remove the scale attributes for a transform from a character pm.character( 'sphere1.sx', 'sphere1.sy', 'sphere1.sz', remove='character1' ) # Query the members of the character members = pm.character('character1', query=True) # Query the character plug for a specified member pm.character( members[0], q=True, cp=True ) # Query the library and scheduler of the character pm.character( 'character1', q=True, library=True ) pm.character( 'character2', q=True, sc=True ) # Add the sphere as an offset object on the character pm.character( 'pSphere1', e=True, addOffsetObject = 'character1' )