clip.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:maya2katana 作者: ababak 项目源码 文件源码
def preprocessNode(nodeName):
    '''
    Preprocessing a node.
    This is needed as some nodes (like ramp or bump) can be
    replaced by several other nodes for Katana.
    We return either one original node or several
    nodes if something was replaced during preprocessing
    '''
    nodeType = cmds.nodeType(nodeName)
    if nodeType not in premap:
        return None
    nodes = {}
    attributes = getNodeAttributes(nodeName)
    connections = {}
    nodeConnections = cmds.listConnections(nodeName, source=True, destination=False, connections=True, plugs=True)
    if nodeConnections:
        for i in range(len(nodeConnections) / 2):
            connTo = nodeConnections[i * 2]
            connTo = connTo[connTo.find('.') + 1:]
            connFrom = nodeConnections[i * 2 + 1]
            connections[connTo] = {
                'node': connFrom[:connFrom.find('.')],
                'originalPort': connFrom[connFrom.find('.') + 1:]
            }

    node = {
        'name': nodeName,
        'type': nodeType,
        'attributes': attributes,
        'connections': connections,
        'renamings': {}
    }
    premapSettings = premap[nodeType]
    for attr in ['type', 'postprocess']:
        if premapSettings.get(attr):
            node[attr] = premapSettings.get(attr)
    if premapSettings.get('preprocess'):
        preprocessFunc = premapSettings.get('preprocess')
        if preprocessFunc:
            preprocessResult = preprocessFunc(node)
            if preprocessResult:
                nodes.update(preprocessResult)
    else:
        nodes[node['name']] = node
    return nodes
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号