def storeUVs(arraytoStore): cleanArray(arraytoStore) cmds.ConvertSelectionToUVs() selected = Selection.getSelected() for uv in selected: arraytoStore.append(uv)
def guessSecondSelection(): cleanArray(secondHalfOfMeshUVs) cmds.ConvertSelectionToUVs() selected = Selection.getSelected() for uv in selected: if uv in firstHalfOfMeshUVs: continue else: secondHalfOfMeshUVs.append(uv) cmds.select(secondHalfOfMeshUVs)
def layoutUVs(): # Variables and selection rot = cmds.radioButtonGrp('rot', q=True, sl=True) cmds.ConvertSelectionToShell() cmds.ConvertSelectionToUVs() # Choosing rotation mode if (rot == 1): layoutSettings = 'polyMultiLayoutUV -lm 1 -sc 1 -rbf 0 -fr 1 -ps 0.2 -l 2 -psc 2 -su 1 -sv 1 -ou 0 -ov 0;' elif (rot == 2): layoutSettings = 'polyMultiLayoutUV -lm 1 -sc 1 -rbf 1 -fr 1 -ps 0.2 -l 2 -psc 2 -su 1 -sv 1 -ou 0 -ov 0;' else: layoutSettings = 'polyMultiLayoutUV -lm 1 -sc 1 -rbf 2 -fr 1 -ps 0.2 -l 2 -psc 2 -su 1 -sv 1 -ou 0 -ov 0;' maya.mel.eval(str(layoutSettings)) # Actual layout command
def unwrapCylindrical(): # Variables and selection mode = cmds.radioButtonGrp('mode', q=True, select=True) seam = cmds.ls(sl=True) cmds.SelectEdgeRingSp() cmds.ConvertSelectionToContainedFaces() body = cmds.ls(sl=True) # Chooses desired seams numEdges = (len(seam)) if (numEdges == 1): seamSel = (seam[0]) else: seamSel = (seam[0:numEdges]) bodySel = (body[0:(len(body))]) # Unwraps with or without unfolding if (mode == 1): cmds.polyPlanarProjection() cmds.select(seamSel, r=True) cmds.polyMapCut() cmds.unfold() elif (mode == 2): cmds.select(bodySel, r=True) cmds.ConvertSelectionToFaces() shell = cmds.ls(sl=True) cmds.polyForceUV(unitize=True) cmds.ConvertSelectionToContainedEdges() cmds.select(seamSel, d=True) cmds.polyMapSewMove() cmds.select(shell, r=True) cmds.ConvertSelectionToUVs() cmds.polyLayoutUV() cmds.select(shell, r=True)
def unwrapByAngle(): unf = cmds.checkBox('unf', q=True, v=True) lyt = cmds.checkBox('lyt', q=True, v=True) cmds.polyForceUV(unitize=True) cmds.selectType(pe=True) cmds.polySelectConstraint(m=3, t=0x8000, sm=2) # Constrains selection to soft edges selEdges = cmds.ls(sl=True) cmds.polyMapSewMove() cmds.polySelectConstraint(sm=0) # Turns off constraint # Unfold if chosen if (unf == 1): cmds.unfold() # Layout if chosen if (lyt == 1): cmds.select(selEdges) cmds.ConvertSelectionToShell() cmds.ConvertSelectionToUVs() cmds.polyLayoutUV(sc=1, ws=True, rbf=2)
def unwrapBySeams(): # Variables and Selection unf = cmds.checkBox('unf', q=True, v=True) lyt = cmds.checkBox('lyt', q=True, v=True) selEdges = cmds.ls(sl=True) cmds.ConvertSelectionToShell() cmds.polyForceUV(unitize=True) cmds.ConvertSelectionToEdges() cmds.select(selEdges, d=True) cmds.polyMapSewMove() # Unfold if chosen if (unf == 1): cmds.unfold() # Layout if chosen if (lyt == 1): cmds.select(selEdges) cmds.ConvertSelectionToShell() cmds.ConvertSelectionToUVs() cmds.polyLayoutUV(sc=1, ws=True, rbf=2)
def selectUvEdgeLoop(): cmds.SelectEdgeLoopSp() cmds.ConvertSelectionToUVs()
def selectUV(*args): cmds.ConvertSelectionToUVs() #converts any selection to UVs cmds.SelectUVShell() #selects shell of selected object
def selectUVBorder(*args): cmds.ConvertSelectionToUVs() #converts any selection to UVs cmds.SelectUVBorder() #selects border of selected object
def selUV(*args): cmds.ConvertSelectionToUVs()