This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
maya.cmds.listHistory() will always include the node itself when history is returned. | |
Here we're testing whether it's always the first node returned, if not a RuntimeError is raised. | |
We're also checking whether all nodes in the scene will return a valid history list, which isn't True. | |
The 'defaultColorMgtGlobals' node returns None instead of an empty list. | |
""" | |
from maya import cmds |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.OpenMaya as om | |
import maya.cmds as mc | |
import uuid | |
def get_name(node): | |
"""Get the long name from the MObject where appropriate""" | |
if node.hasFn(om.MFn.kDagNode): | |
return om.MFnDagNode(node).fullPathName() | |
else: | |
return om.MFnDependencyNode(node).name() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.OpenMaya as om | |
import maya.cmds as mc | |
def callback(node, clientData): | |
fnDep = om.MFnDependencyNode(node) | |
node_name = fnDep.name() | |
print node_name | |
if __name__ == '__main__': | |
# Delete previous run (testing only) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.OpenMaya as om | |
import maya.cmds as mc | |
import uuid | |
def get_name(node): | |
"""Get the long name from the MObject where appropriate""" | |
if node.hasFn(om.MFn.kDagNode): | |
return om.MFnDagNode(node).fullPathName() | |
else: | |
return om.MFnDependencyNode(node).name() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.OpenMaya as om | |
import maya.cmds as mc | |
import uuid | |
def ensure_id(node): | |
"""Add a uuid attribute on the given node with a unique value. | |
Skips nodes that already have the attribute, unless when used upon duplicating. | |
Maya temporarily assigns the prefix '__PrenotatoPerDuplicare_' so we use that |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import maya.cmds as mc | |
def offsets_to_input(mesh): | |
num_pts = mc.getAttr('{0}.pnts'.format(mesh), size=True) | |
for i in range(num_pts): | |
# Get the internal offset | |
offset = mc.getAttr('{0}.pnts[{1}]'.format(mesh, i))[0] | |
# Move the vertex position by the internal offset value (relative) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
cls.__path__ = None | |
if cls.__module__ != '__main__': # if not local (in-memory) | |
try: | |
cls.__path__ = inspect.getfile(cls) | |
except RuntimeError, e: | |
print e |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pyblish.api | |
import logging | |
log = logging.getLogger(__name__) | |
def get_family_options(plugins, family): | |
"""Return the user-specifiable options for this family | |
The options name and types are gathered through |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""This is a first draft template that could be used to retrieve the edits on referenced nodes that define a look | |
Next step would be to filter the edits of interest, like shader assignments, sets they are added to, attributes that were added or changed in value. | |
Then we need to store these changes in a format that is artist-friendly and can be re-applied in another scene. | |
""" | |
import maya.cmds as mc | |
from collections import defaultdict |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def parse_mel_cmd(melStr): | |
"""Return the command, args and kwargs for a MEL command string""" | |
# Get python variant and split of pymel import line | |
import pymel.tools.mel2py as mel2py | |
pyCmd = mel2py.mel2pyStr(melStr) | |
pyCmd = pyCmd.splitlines()[1] | |
cmd, arguments = pyCmd.split("(", 1) |
OlderNewer