Пример #1
0
    def process(self, instance):

        import maya.cmds as cmds

        node = instance.data.get('node', None)
        assert tp.Dcc.object_exists(
            node), 'No valid node found in current instance: {}'.format(
                instance)

        nodes_to_check = self._nodes_to_check(node)
        assert nodes_to_check, 'No Nodes to check found!'

        penetrating_uvs_found = list()
        for node in nodes_to_check:
            shape = tp.Dcc.list_shapes(node, full_path=True)
            convert_to_faces = cmds.ls(cmds.polyListComponentConversion(
                shape, tf=True),
                                       fl=True)
            overlapping = (cmds.polyUVOverlap(convert_to_faces, oc=True))
            if overlapping:
                for obj in overlapping:
                    penetrating_uvs_found.append(obj)

        assert not penetrating_uvs_found, 'Penetrating UVs found in following geometry nodes: {}'.format(
            penetrating_uvs_found)
Пример #2
0
def selfPenetratingUVs(self, list):
    selfPenetratingUVs = []
    for obj in list:
        shape = cmds.listRelatives(obj, shapes = True, fullPath = True)
        convertToFaces = cmds.ls(cmds.polyListComponentConversion(shape, tf=True), fl=True)
        overlapping = (cmds.polyUVOverlap(convertToFaces, oc=True ))
        if overlapping is not None:
            for obj in overlapping:
                selfPenetratingUVs.append(obj)
    return selfPenetratingUVs
Пример #3
0
def UVoverlap(*args):
    global selection
    global display8, UVolface
    cmds.select(selection)
    NameList_Uvoverlap = []
    cmds.ConvertSelectionToFaces()
    UVolface = cmds.polyUVOverlap(oc=True)
    cmds.select(UVolface)
    cmds.ConvertSelectionToShell()
    NameList = cmds.ls(sl=True)
    cmds.select(clear=1)
    cmds.hilite(replace=True)
    print UVolface
    for i in NameList:
        NameList_Uvoverlap.append(i.split('.')[0].encode('utf8'))
    if len(NameList_Uvoverlap) != 0:
        display8 = 1
    return NameList_Uvoverlap