From 9787a55b2420aa47ddafd78288c2dd8efa9fd8f6 Mon Sep 17 00:00:00 2001 From: Jeffreytsai1004 Date: Tue, 14 Jan 2025 02:12:52 +0800 Subject: [PATCH] Update --- Scripts/Modeling/Manage/Rename.py | 419 +++++ .../Modeling/Select/EdgeLoopSmartSelect.jpg | Bin 0 -> 473955 bytes .../Modeling/Select/EdgeLoopSmartSelect.py | 431 +++++ Scripts/Modeling/Select/IntervalSelectEdge.py | 63 + .../Modeling/Select/SamePositionSelector.py | 141 ++ .../Modeling/UV/RizomBridge/RizomUVBridge.py | 869 ++++++++++ Scripts/Modeling/UV/RizomBridge/__init__.py | 4 + .../UV/RizomBridge/lua_scripts/__init__.py | 4 + .../UV/RizomBridge/lua_scripts/blank.lua | 1 + .../RizomBridge/lua_scripts/box_algorithm.lua | 6 + .../lua_scripts/mosaic_algorithm.lua | 10 + .../lua_scripts/sharp_edge_algorithm.lua | 11 + .../Modeling/UV/RizomBridge/rizom_icon.png | Bin 0 -> 851 bytes Scripts/Modeling/UV/RizomBridge/scriptlist.py | 2 + Scripts/Modeling/UV/UVDeluxe/__init__.py | 4 + Scripts/Modeling/UV/UVDeluxe/config.uvd | Bin 0 -> 405 bytes Scripts/Modeling/UV/UVDeluxe/uistates.py | 90 ++ Scripts/Modeling/UV/UVDeluxe/uvdeluxe.py | 1402 +++++++++++++++++ Scripts/Modeling/UV/UVSetEditor.py | 215 +++ 19 files changed, 3672 insertions(+) create mode 100644 Scripts/Modeling/Manage/Rename.py create mode 100644 Scripts/Modeling/Select/EdgeLoopSmartSelect.jpg create mode 100644 Scripts/Modeling/Select/EdgeLoopSmartSelect.py create mode 100644 Scripts/Modeling/Select/IntervalSelectEdge.py create mode 100644 Scripts/Modeling/Select/SamePositionSelector.py create mode 100644 Scripts/Modeling/UV/RizomBridge/RizomUVBridge.py create mode 100644 Scripts/Modeling/UV/RizomBridge/__init__.py create mode 100644 Scripts/Modeling/UV/RizomBridge/lua_scripts/__init__.py create mode 100644 Scripts/Modeling/UV/RizomBridge/lua_scripts/blank.lua create mode 100644 Scripts/Modeling/UV/RizomBridge/lua_scripts/box_algorithm.lua create mode 100644 Scripts/Modeling/UV/RizomBridge/lua_scripts/mosaic_algorithm.lua create mode 100644 Scripts/Modeling/UV/RizomBridge/lua_scripts/sharp_edge_algorithm.lua create mode 100644 Scripts/Modeling/UV/RizomBridge/rizom_icon.png create mode 100644 Scripts/Modeling/UV/RizomBridge/scriptlist.py create mode 100644 Scripts/Modeling/UV/UVDeluxe/__init__.py create mode 100644 Scripts/Modeling/UV/UVDeluxe/config.uvd create mode 100644 Scripts/Modeling/UV/UVDeluxe/uistates.py create mode 100644 Scripts/Modeling/UV/UVDeluxe/uvdeluxe.py create mode 100644 Scripts/Modeling/UV/UVSetEditor.py diff --git a/Scripts/Modeling/Manage/Rename.py b/Scripts/Modeling/Manage/Rename.py new file mode 100644 index 0000000..5b46228 --- /dev/null +++ b/Scripts/Modeling/Manage/Rename.py @@ -0,0 +1,419 @@ + +''' +from importlib import reload +import Rename +reload(Rename) +Rename.UI() +''' +from Modeling.Manage import Rename +# this text can be entered from the script editor and can be made into a button + +import maya.cmds as cmds # type: ignore + +def UI(): + + global SelectName + global RenameText + + global StartValue + global PaddingValue + global NumberCheck + + global RemoveFirst + global RemoveEnd + + global PrefixText + global SuffixText + + global SearchText + global ReplaceText + global SRCheck + + #UI Width + sizeX = 240 + version = "v1.0" + if cmds.window("RenameWin", exists=True): + cmds.deleteUI("RenameWin", window=True) + + #Creating UI + igEzRenamWin = cmds.window("RenameWin", title="Rename Tool "+version, width=sizeX+6, height=385, mnb = True, mxb = False, sizeable = False) + + #Creating interface elements + mainLayout = cmds.columnLayout("mainColumnLayout", width = sizeX, adjustableColumn=False, co = ["both",2]) + + #Select All Button + cmds.separator(h=5, style = "none", parent = mainLayout) + cmds.button(label = "Select All", w=sizeX, h=25, c=SelectAll, ann = "Select ALL objects in scene") + cmds.separator(h=5, style = "none", parent = mainLayout) + + #Select by Name + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 25), (2, 60)], cs = [(5,5), (5,5)]) + cmds.button(label = "Select by Name", w=sizeX/3, h=25, c=SelectName, align = "Center", ann="Select objects by name") + SelectName = cmds.textField(w = sizeX*0.646, ann="Select by Name \n Use * after and/or before the text to select by prefix/suffix \n Example: *_grp") + cmds.separator(w = sizeX, h=15, style = "in", parent = mainLayout) + + #Rename and Number + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)]) + #Rename Field + cmds.text(label=" Rename:", font = "boldLabelFont", w = sizeX/4, align="left", ann="Write the name you want to rename the objects selected") + RenameText = cmds.textField(w = sizeX*0.75, ann="Write the name you want to rename the objects selected") + + #Start Field + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)]) + cmds.text(label=" Start:", font = "boldLabelFont", w = sizeX/4, align="left") + StartValue = cmds.textField(w = sizeX/4, tx="1", ann="Write the Start value for the sequence") + #Padding Field + cmds.text(label=" Padding:", font = "boldLabelFont", w = sizeX/4, align="left") + PaddingValue = cmds.textField(w = sizeX/4, tx="2", ann="Write the Padding value for the numbers") + #Number Letters + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)]) + cmds.text(label="", font = "boldLabelFont", w = sizeX/4-2, align="left") + NumberCheck = cmds.radioButtonGrp(labelArray2=[ 'Numbers', 'Letters'], numberOfRadioButtons=2, w=sizeX, h=20, sl=1, cw = ([1,120])) + #ButtonRename and Number + cmds.separator(h=5, style = "none", parent = mainLayout) + cmds.button(label = "Rename and Number", w=sizeX, h=25, c=RenameNumber, align = "Center", parent = mainLayout) + cmds.separator(w = sizeX, h=15, style = "in", parent = mainLayout) + + #RemoveCharacter + #Remove First/Last + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 25), (2, 60)], cs = [(5,5)]) + cmds.text(label=" Remove:", font = "boldLabelFont", w = sizeX/3-12, align="left") + cmds.button(label = "First Char->", w=sizeX/3, h=25, c=lambda *args: Rename.Remove(True), align = "Center") + cmds.button(label = "<-Last Char", w=sizeX/3, h=25, c=lambda *args: Rename.Remove(False), align = "Center") + cmds.separator(h=5, style = "none", parent = mainLayout) + + #Remove pasted__ + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 25), (2, 60)], cs = [(90,90)]) + cmds.text(label=" ", font = "boldLabelFont", w = sizeX/3-12, align="left") + cmds.button(label = "pasted__", w=sizeX/3, h=25, c=RemovePasted, align = "Center") + + #Remove UI + cmds.separator(h=5, style = "none", parent = mainLayout) + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 25), (2, 60)], cs = [(8.5,8.5)]) + RemoveFirst = cmds.textField(w = sizeX/5, tx="0", ann="Write the amount of characters you want to delete on text beginning") + cmds.button(label = "-", w=25, h=25, c=lambda *args: Rename.RemoveChar('begin'), align = "Center", ann="Delete on text beginning") + cmds.button(label = "Remove", w=sizeX/4, h=25, c=lambda *args: Rename.RemoveChar('all'), align = "Center", ann="Delete on text beginning and ending") + cmds.button(label = "-", w=25, h=25, c=lambda *args: Rename.RemoveChar('end'), align = "Center", ann="Delete on text ending") + RemoveEnd = cmds.textField(w = sizeX/5, tx="3", ann="Write the amount of characters you want to delete on text ending") + cmds.separator(w = sizeX, h=15, style = "in", parent = mainLayout) + + #Suffix + #Control Suffix + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + cmds.text(label=" Prefix:", font = "boldLabelFont", w = sizeX/4-10, align="left", ann="Write the prefix") + PrefixText = cmds.textField(w = sizeX/2.5+33, tx="prefix_", ann="Write the prefix") + cmds.button(label = "Add", w=sizeX/4-10, h=25, c=lambda *args: Rename.PrefixSuffix(False), align = "Center") + cmds.separator(h=5, style = "none", parent = mainLayout) + #Group Suffix + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + cmds.text(label=" Suffix:", font = "boldLabelFont", w = sizeX/4-10, align="left", ann="Write the suffix") + SuffixText = cmds.textField(w = sizeX/2.5+33, tx="_suffix", ann="Write the suffix") + cmds.button(label = "Add", w=sizeX/4-10, h=25, c=lambda *args: Rename.PrefixSuffix(True), align = "Center") + cmds.separator(w = sizeX, h=15, style = "in", parent = mainLayout) + + #Prefix + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + cmds.button(label = "_Grp", w=sizeX/5-4, h=25, c=lambda *args: Rename.Suffix('_Grp'), align = "Center", ann = "Add Grp suffix") + cmds.button(label = "_Geo", w=sizeX/5-4, h=25, c=lambda *args: Rename.Suffix('_Geo'), align = "Center", ann = "Add Geo suffix") + cmds.button(label = "_Ctrl", w=sizeX/5-4, h=25, c=lambda *args: Rename.Suffix('_Ctrl'), align = "Center", ann = "Add Ctrl suffix") + cmds.button(label = "_Jnt", w=sizeX/5-4, h=25, c=lambda *args: Rename.Suffix('_Jnt'), align = "Center", ann = "Add Jnt suffix") + cmds.button(label = "_Drv", w=sizeX/5-4, h=25, c=lambda *args: Rename.Suffix('_Drv'), align = "Center", ann = "Add Drv suffix") + cmds.separator(w = sizeX, h=15, style = "in", parent = mainLayout) + + #Search and Replace + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + cmds.text(label=" Search:", font = "boldLabelFont", w = sizeX/4-10, align="left", ann="Write the text to search") + SearchText = cmds.textField(w = sizeX/2+100, ann="Write the text to search") + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + cmds.text(label=" Replace:", font = "boldLabelFont", w = sizeX/4-10, align="left", ann="Write the text to replace") + ReplaceText = cmds.textField(w = sizeX/2+100, ann="Write the text to replace") + cmds.rowColumnLayout( numberOfRows=1, w=sizeX, parent=mainLayout, rowHeight=[(1, 20), (2, 60)], cs = [(5,5)]) + SRCheck = cmds.radioButtonGrp(labelArray3=[ 'Selected', 'Hierarchy', 'All'], numberOfRadioButtons=3, w=sizeX, h=20, sl=1, cw = ([1,95],[2,95],[3,95])) + cmds.button(label = "Apply", w=sizeX, h=25, c=SearchReplace, align = "Center", parent = mainLayout) + cmds.separator(h=5, style = "none", parent = mainLayout) + + #Show UI: + cmds.showWindow(igEzRenamWin) + +def SelectAll(*args): + cmds.select(ado=True, hi = True) + selection = cmds.ls(selection=True, sn=True) + selectionAdd = [] + + #Old select all code version + """for objs in selection: + children = cmds.listRelatives(objs, c=True, f =True) + print "Children01:", children + shapes = cmds.listRelatives(objs, s=True, f = True) + print "Shapes:", shapes + + if not children == None: + if not shapes == None: + for s in shapes: + children.remove(s) + + for chi in children: + + children2 = cmds.listRelatives(chi, c=True, f = True) + print "CHildren02:", children2 + + if not children2 == None: + for chi2 in children2: + children.append(chi2) + + selectionAdd.append(chi) + + + + for objs in selectionAdd: + cmds.select(objs, add=True)""" + +def SelectName(*args): + cmds.select(cl=True) + name = cmds.textField(SelectName, text = 1, q=True) + try: + selection = cmds.ls(name, l = True) + except: + cmds.warning("Object Don't Exist") + + for objs in selection: + cmds.select(objs, add=True) + +def RenameNumber(*args): + + number = cmds.textField(StartValue, text = 1, q=True) + number = int(number) + + padding = cmds.textField(PaddingValue, text = 1, q=True) + padding = int(padding) + + NumberLetters = cmds.radioButtonGrp(NumberCheck, q=True, select=True) + + newName = cmds.textField(RenameText, text = 1, q=True) + + selection = cmds.ls(selection=True, sn=True) + + lettersList = ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] + + #Number suffix + y = 0 + + for obj in selection: + try: + #Teste if has duplicate mesh with the same name on the scene and return the name without parents + trueName = testDuplicateName(obj) + #Save the original name + oldName = trueName + + #If true use numbers, else use letters + if NumberLetters == 1: + zeros = "" + for x in range(int(padding)): + if len(str(number)) <= x: + zeros = zeros+"0" + + #Create the newName and rename + name = newName+"_"+"{:0>"+str(padding)+"}" + newNameList = name.format(number) + cmds.rename(obj, name.format(number)) + + else: + newNameList = newName+"_"+lettersList[y] + cmds.rename(obj, newName+"_"+lettersList[y]) + if y < len(lettersList)-1: + y+=1 + else: + y=0 + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, newNameList) + selection[x] = newParentName + except: + pass + + number = int(number+1) + +def RemoveChar(Type): + + first = cmds.textField(RemoveFirst, text = 1, q=True) + end = cmds.textField(RemoveEnd, text = 1, q=True) + + selection = cmds.ls(selection = True, sn=True) + + for objs in selection: + #Teste if has duplicate mesh with the same name on the scene + trueName = testDuplicateName(objs) + + #Save the original name + oldName = trueName + + if Type == "all": + name = trueName[:-int(end)] + name = name[int(first):] + + if Type == "begin": + name = trueName[int(first):] + + if Type == "end": + name = trueName[:-int(end)] + + try: + cmds.rename(objs, str(name)) + except: + pass + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, name) + selection[x] = newParentName + + +def Remove(Type): + + selection = cmds.ls(selection = True, sn = True) + + for objs in selection: + #Teste if has duplicate mesh with the same name on the scene + trueName = testDuplicateName(objs) + + #Save the original name + oldName = trueName + + if Type: + name = trueName[1:] + else: + name = trueName[:-1] + + try: + cmds.rename(objs, name) + except: + pass + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, name) + selection[x] = newParentName + + + +def RemovePasted(*args): + + selection = cmds.ls("pasted__*", sn = True) + + for objs in selection: + #Teste if has duplicate mesh with the same name on the scene + trueName = testDuplicateName(objs) + + name = trueName[8:] + try: + cmds.rename(objs, name) + except: + cmds.warning("Don't Exist pasted Objects") + +def PrefixSuffix(Suffix): + prefix = cmds.textField(PrefixText, text = 1, q=True) + suffix = cmds.textField(SuffixText, text = 1, q=True) + + selection = cmds.ls(selection = True, sn = True) + + for objs in selection: + + #Teste if has duplicate mesh with the same name on the scene + trueName = testDuplicateName(objs) + #Save the original name + oldName = trueName + + if Suffix: + name = str(trueName)+suffix + else: + name = prefix+str(trueName) + + try: + cmds.rename(objs, name) + except: + pass + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, name) + selection[x] = newParentName + + +def Suffix(Text): + + selection = cmds.ls(selection = True, sn = True) + + for objs in selection: + #Test if has duplicate mesh with the same name on the scene + trueName = testDuplicateName(objs) + + #Save the original name + oldName = trueName + + newName = trueName+Text + try: + cmds.rename(objs, newName) + except: + pass + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, newName) + selection[x] = newParentName + +def SearchReplace(*args): + + search = cmds.textField(SearchText, text = 1, q=True) + replace = cmds.textField(ReplaceText, text = 1, q=True) + + SRMethod = cmds.radioButtonGrp(SRCheck, q=True, select=True) + + #Selected search and Replace method + if SRMethod == 1: + selection = cmds.ls(selection = True, sn = True) + + #Hierarchy search and Replace method + if SRMethod == 2: + cmds.select(hi = True) + selection = cmds.ls(selection = True, sn = False) + + #All search and Replace method + if SRMethod == 3: + #Select All DagObjects in scene + selection = [] + cmds.select(ado = True, hi = True) + selection = cmds.ls(selection = True, sn=False) + + #for to rename the objects + for obj in selection: + #Teste if has duplicate mesh with the same name on the scene and return the name without parents + trueName = testDuplicateName(obj) + #Save the original name + oldName = trueName + #Search and replace to create the new name + newName = trueName.replace(search, replace) + + #Rename the object + try: + cmds.rename(obj, newName) + except: + pass + + #For to rename all the oldNames on list to newNames + for x in range(len(selection)): + newParentName = selection[x].replace(oldName, newName) + selection[x] = newParentName + + print("Slecao: ", selection) + + + +def testDuplicateName(Obj): + + try: + trueName = Obj.split("|") + return trueName[len(trueName)-1] + except: + return Obj + diff --git a/Scripts/Modeling/Select/EdgeLoopSmartSelect.jpg b/Scripts/Modeling/Select/EdgeLoopSmartSelect.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96c66abbb38781b2ca21b691c37a97f2dc7ba09d GIT binary patch literal 473955 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�`}I- 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ȍbErqk;YXmF@MnFFU5hRGIf${*@J_ol(j{PKbvS@ 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%0A`@1kKhVZ!-T{wgOME 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 0: + cvPoint = (selInitialGeo[0] + '.vtx[' + str(checkNumber) +']') + cvPosition = cmds.pointPosition(cvPoint) + checkCVDistance = math.sqrt( ((float(cvPosition[0]) - finalX)**2) + ((float(cvPosition[1]) - finalY)**2) + ((float(cvPosition[2]) - finalZ)**2)) + if checkCVDistance < shortDistanceCheck: + shortDistanceCheck = checkCVDistance + mostCloseCVPoint = cvPoint + mostCloseCVPointPos = cvPosition + + newID = mostCloseCVPoint.split('[')[-1].split(']')[0] + cmds.setAttr((selInitialGeo[0]+'.nearest'),int(newID)) + checkRun = cmds.getAttr(selInitialGeo[0]+'.firstRun') + + if checkRun == 1: + checkCloseTo = cmds.getAttr(selInitialGeo[0]+'.nearest') + checkStart = cmds.getAttr(selInitialGeo[0]+'.start') + checkEnd = cmds.getAttr(selInitialGeo[0]+'.end') + + startPosition = cmds.pointPosition( (selInitialGeo[0] + '.vtx[' + str(checkStart) +']')) + endPosition = cmds.pointPosition( (selInitialGeo[0] + '.vtx[' + str(checkEnd) +']')) + nearPosition = cmds.pointPosition( (selInitialGeo[0] + '.vtx[' + str(checkCloseTo) +']')) + + distA = math.sqrt( ((float(nearPosition[0]) - startPosition[0])**2) + ((float(nearPosition[1]) - startPosition[1])**2) + ((float(nearPosition[2]) - startPosition[2])**2)) + distB = math.sqrt( ((float(nearPosition[0]) - endPosition[0])**2) + ((float(nearPosition[1]) - endPosition[1])**2) + ((float(nearPosition[2]) - endPosition[2])**2)) + if distA > distB: + cmds.setAttr((selInitialGeo[0]+'.end'),checkEnd) + cmds.setAttr((selInitialGeo[0]+'.start'),checkStart) + else: + cmds.setAttr((selInitialGeo[0]+'.end'),checkStart) + cmds.setAttr((selInitialGeo[0]+'.start'),checkEnd) + checkStart = cmds.getAttr(selInitialGeo[0]+'.start') + checkEnd = cmds.getAttr(selInitialGeo[0]+'.end') + checkNearest = cmds.getAttr(selInitialGeo[0]+'.nearest') + #get shortest + cmds.select(cl=1) + cmds.sets((selInitialGeo[0]+".e[*]"),remove="preSelDisp") + sortList = [] + if modifiers == 4: # "press Ctrl" + PA = (selInitialGeo[0] + '.vtx[' + str(checkEnd) +']') + PB = (selInitialGeo[0] + '.vtx[' + str(checkNearest) +']') + UVA = cmds.polyListComponentConversion(PA,fv =1 ,tuv=1) + UVB = cmds.polyListComponentConversion(PB,fv =1 ,tuv=1) + startUVID = UVA[0].split('[')[-1].split(']')[0] + endUVID = UVB[0].split('[')[-1].split(']')[0] + #cmds.polySelect(selInitialGeo[0] , shortestEdgePathUV=(int(startUVID), int(endUVID))) + listShort = cmds.polySelect(selInitialGeo[0] ,q=1, shortestEdgePathUV=(int(startUVID), int(endUVID))) + if listShort: + for l in listShort: + sortList.append(selInitialGeo[0]+'.e['+ str(l) +']' ) + else: + #cmds.polySelect(selInitialGeo[0] , shortestEdgePath=(int(checkEnd), int(checkNearest))) + #maya run faster without select + listShort = cmds.polySelect(selInitialGeo[0] ,q=1, shortestEdgePath=(int(checkEnd), int(checkNearest))) + if listShort: + for l in listShort: + sortList.append(selInitialGeo[0]+'.e['+ str(l) +']' ) + getC = storeAllEdges + sortList + cmds.select(getC) + cmds.sets(getC,forceElement="preSelDisp") + if modifiers == 1: # "press Shelf" + liveList = cmds.sets("preSelDisp",q=1) + liveList = cmds.ls(liveList,fl=1) + listVtx = vtxLoopOrder(liveList) + checkEndID = listVtx[-1].split('[')[-1].split(']')[0] + extEdgeA = [] + extEdgeB = [] + if int(checkEndID) == checkNearest: + extEdgeA = cmds.polyListComponentConversion(listVtx[-1],fv =1 ,te=1) + extEdgeB = cmds.polyListComponentConversion(listVtx[-2],fv =1 ,te=1) + else: + extEdgeA = cmds.polyListComponentConversion(listVtx[0],fv =1 ,te=1) + extEdgeB = cmds.polyListComponentConversion(listVtx[1],fv =1 ,te=1) + extEdgeA = cmds.ls(extEdgeA,fl=1) + extEdgeB = cmds.ls(extEdgeB,fl=1) + extEdge = list(set(extEdgeA) - (set(extEdgeA)-set(extEdgeB))) + checkExtLoop = cmds.polySelectSp(extEdge,q=1, loop=1) + checkExtLoop = cmds.ls(checkExtLoop,fl=1) + otherList = list(set(checkExtLoop) - set(liveList)) + checkEdgeLoopGrp = getEdgeRingGroup(otherList) + if checkEdgeLoopGrp: + if len(checkEdgeLoopGrp) > 0: + if len(checkEdgeLoopGrp) == 1: + cmds.sets(otherList,forceElement="preSelDisp") + elif len(checkEdgeLoopGrp)> 1: + for c in checkEdgeLoopGrp: + cvList = cmds.polyListComponentConversion (c,fe=1,tv=1) + cvList = cmds.ls(cvList,fl=1) + if (selInitialGeo[0]+'.vtx['+ str(checkNearest) +']' ) in cvList: + cmds.sets(c,forceElement="preSelDisp") + cmds.select("preSelDisp", add=1) + cmds.refresh(cv=True,f=True) + + +def liveShortPause(): + global storeAllEdges + global selInitialGeo + global initialList + checkRun = cmds.getAttr(selInitialGeo[0]+'.firstRun') + if checkRun == 0: + cmds.setAttr((selInitialGeo[0]+'.firstRun'),1) + else: + cmds.setAttr((selInitialGeo[0]+'.firstRun'),2) + getEdgeList = cmds.ls(sl=1,fl=1) + storeAllEdges = getEdgeList + listVtx = vtxLoopOrder(getEdgeList) + if len(listVtx)>0: + listHead = listVtx[0] + listEnd = listVtx[-1] + if listHead in initialList: + cmds.setAttr((selInitialGeo[0]+'.start'),int(listVtx[0].split('[')[-1].split(']')[0])) + cmds.setAttr((selInitialGeo[0]+'.end'),int(listVtx[-1].split('[')[-1].split(']')[0])) + + else: + cmds.setAttr((selInitialGeo[0]+'.start'),int(listVtx[-1].split('[')[-1].split(']')[0])) + cmds.setAttr((selInitialGeo[0]+'.end'),int(listVtx[0].split('[')[-1].split(']')[0])) + else: + liveShortStop() + + +def liveShortStop(): + cmds.setToolTo("moveSuperContext") + cmds.polyOptions(dce=0) + if cmds.objExists('preSelDisp'): + cmds.setAttr("preSelDisp.creaseLevel", 0) + cmds.delete('preSelDisp') + + +def getPolyFaceCenter(faceName): + meshFaceName = faceName.split('.')[0] + findVtx = cmds.polyInfo(faceName, fv=1) + getNumber = [] + checkNumber = ((findVtx[0].split(':')[1]).split('\n')[0]).split(' ') + for c in checkNumber: + findNumber = ''.join([n for n in c.split('|')[-1] if n.isdigit()]) + if findNumber: + getNumber.append(findNumber) + centerX = 0 + centerY = 0 + centerZ = 0 + for g in getNumber: + x,y,z = cmds.pointPosition((meshFaceName + '.vtx['+g + ']'),w=1) + centerX = centerX + x + centerY = centerY + y + centerZ = centerZ + z + + centerX = centerX/len(getNumber) + centerY = centerY/len(getNumber) + centerZ = centerZ/len(getNumber) + return centerX,centerY,centerZ + +def vtxLoopOrder(edgelist): + if edgelist: + selEdges = edgelist + shapeNode = cmds.listRelatives(selEdges[0], fullPath=True , parent=True ) + transformNode = cmds.listRelatives(shapeNode[0], fullPath=True , parent=True ) + edgeNumberList = [] + for a in selEdges: + checkNumber = ((a.split('.')[1]).split('\n')[0]).split(' ') + for c in checkNumber: + findNumber = ''.join([n for n in c.split('|')[-1] if n.isdigit()]) + if findNumber: + edgeNumberList.append(findNumber) + getNumber = [] + for s in selEdges: + evlist = cmds.polyInfo(s,ev=True) + checkNumber = ((evlist[0].split(':')[1]).split('\n')[0]).split(' ') + for c in checkNumber: + findNumber = ''.join([n for n in c.split('|')[-1] if n.isdigit()]) + if findNumber: + getNumber.append(findNumber) + dup = set([x for x in getNumber if getNumber.count(x) > 1]) + getHeadTail = list(set(getNumber) - dup) + vftOrder = [] + finalList = [] + if len(getHeadTail)>0: + vftOrder.append(getHeadTail[0]) + count = 0 + while len(dup)> 0 and count < 100: + checkVtx = transformNode[0]+'.vtx['+ vftOrder[-1] + ']' + velist = cmds.polyInfo(checkVtx,ve=True) + getNumber = [] + checkNumber = ((velist[0].split(':')[1]).split('\n')[0]).split(' ') + for c in checkNumber: + findNumber = ''.join([n for n in c.split('|')[-1] if n.isdigit()]) + if findNumber: + getNumber.append(findNumber) + findNextEdge = [] + for g in getNumber: + if g in edgeNumberList: + findNextEdge = g + edgeNumberList.remove(findNextEdge) + checkVtx = transformNode[0]+'.e['+ findNextEdge + ']' + findVtx = cmds.polyInfo(checkVtx,ev=True) + getNumber = [] + checkNumber = ((findVtx[0].split(':')[1]).split('\n')[0]).split(' ') + for c in checkNumber: + findNumber = ''.join([n for n in c.split('|')[-1] if n.isdigit()]) + if findNumber: + getNumber.append(findNumber) + gotNextVtx = [] + for g in getNumber: + if g in dup: + gotNextVtx = g + if len(gotNextVtx)> 0: + dup.remove(gotNextVtx) + vftOrder.append(gotNextVtx) + count += 1 + if len(getHeadTail)>1: + vftOrder.append(getHeadTail[1]) + for v in vftOrder: + finalList.append(transformNode[0]+'.vtx['+ v + ']' ) + return finalList + +def getEdgeRingGroup(selEdges): + if selEdges: + trans = selEdges[0].split(".")[0] + e2vInfos = cmds.polyInfo(selEdges, ev=True) + e2vDict = {} + fEdges = [] + for info in e2vInfos: + evList = [ int(i) for i in re.findall('\\d+', info) ] + e2vDict.update(dict([(evList[0], evList[1:])])) + while True: + try: + startEdge, startVtxs = e2vDict.popitem() + except: + break + edgesGrp = [startEdge] + num = 0 + for vtx in startVtxs: + curVtx = vtx + while True: + + nextEdges = [] + for k in e2vDict: + if curVtx in e2vDict[k]: + nextEdges.append(k) + if nextEdges: + if len(nextEdges) == 1: + if num == 0: + edgesGrp.append(nextEdges[0]) + else: + edgesGrp.insert(0, nextEdges[0]) + nextVtxs = e2vDict[nextEdges[0]] + curVtx = [ vtx for vtx in nextVtxs if vtx != curVtx ][0] + e2vDict.pop(nextEdges[0]) + else: + break + else: + break + num += 1 + fEdges.append(edgesGrp) + retEdges =[] + for f in fEdges: + collectList=[] + for x in f: + getCom= (trans +".e["+ str(x) +"]") + collectList.append(getCom) + retEdges.append(collectList) + return retEdges + +run() \ No newline at end of file diff --git a/Scripts/Modeling/Select/IntervalSelectEdge.py b/Scripts/Modeling/Select/IntervalSelectEdge.py new file mode 100644 index 0000000..ae1ddf3 --- /dev/null +++ b/Scripts/Modeling/Select/IntervalSelectEdge.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import maya.cmds as cmds +import maya.mel as mel + +def select_edges(): + num_edges_selected = cmds.filterExpand(expand=True, selectionMask=32) + size_components = len(num_edges_selected) if num_edges_selected else 0 + + if size_components == 0: + cmds.error("Select at least one edge before running the script.") + elif size_components == 1: + mel.eval('polySelectEdgesEveryN "edgeRing" 2') + print("1 cycle mode selected.") + elif size_components == 2: + mel.eval('polySelectEdgesEveryN "edgeRing" 4') + print("2 cycle modes selected.") + elif size_components == 3: + mel.eval('polySelectEdgesEveryN "edgeRing" 6') + print("3 cycle modes selected.") + elif size_components == 4: + mel.eval('polySelectEdgesEveryN "edgeRing" 8') + print("4 cycle modes selected.") + elif size_components == 5: + mel.eval('polySelectEdgesEveryN "edgeRing" 10') + print("5 cycle modes selected.") + elif size_components == 6: + mel.eval('polySelectEdgesEveryN "edgeRing" 12') + print("6 cycle modes selected.") + elif size_components == 7: + mel.eval('polySelectEdgesEveryN "edgeRing" 14') + print("7 cycle modes selected.") + elif size_components == 8: + mel.eval('polySelectEdgesEveryN "edgeRing" 16') + print("8 cycle modes selected.") + elif size_components > 8: + cmds.error("Please select 8 or fewer edges.") + +def create_select_edges_window(): + window_name = "IntervalSelectEdges" + if cmds.window(window_name, exists=True): + cmds.deleteUI(window_name, window=True) + + window = cmds.window(window_name, title="Interval Select Edges", toolbox=True, + widthHeight=(300, 150), + sizeable=True, + backgroundColor=(0.25, 0.25, 0.25)) + + main_layout = cmds.columnLayout(adjustableColumn=True) + cmds.text(label="Select edge(s) and click Execute", height=50, width=250, parent=main_layout) + cmds.button(label="Select", command=lambda x: select_edges(), width=250, height=30, backgroundColor=(0.53, 0.81, 0.98), parent=main_layout) + + cmds.window(window, edit=True, widthHeight=(300, 150)) # Set the window size again after creating contents + cmds.showWindow(window) + +# Add a new function as the entry point for the module +def show(): + create_select_edges_window() + +# If the script is run directly (not imported as a module), show the window +if __name__ == "__main__": + show() \ No newline at end of file diff --git a/Scripts/Modeling/Select/SamePositionSelector.py b/Scripts/Modeling/Select/SamePositionSelector.py new file mode 100644 index 0000000..3d04f0e --- /dev/null +++ b/Scripts/Modeling/Select/SamePositionSelector.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import maya.cmds as cmds +import maya.mel as mel + +def save_setting(): + threshold = cmds.floatSliderGrp(SamePositionSelector_UI_Threshold_FS, q=True, v=True) + check_bb = cmds.checkBox(SamePositionSelector_UI_CheckBB_CB, q=True, v=True) + unselect = cmds.checkBox(SamePositionSelector_UI_UnselectBB_CB, q=True, v=True) + cmds.optionVar(fv=("AriSamePositionS_Threshold", threshold)) + cmds.optionVar(iv=("AriSamePositionS_CheckBB", check_bb)) + cmds.optionVar(iv=("AriSamePositionS_Unselect", unselect)) + +def vector_much(val_a, val_b, gosa): + return (val_a[0] <= val_b[0] + gosa and val_a[0] >= val_b[0] - gosa and + val_a[1] <= val_b[1] + gosa and val_a[1] >= val_b[1] - gosa and + val_a[2] <= val_b[2] + gosa and val_a[2] >= val_b[2] - gosa) + +def check_bounding_box(object_list_name): + gosa = cmds.floatSliderGrp(SamePositionSelector_UI_Threshold_FS, q=True, v=True) + object_list_bb_min = [cmds.getAttr(obj + ".boundingBoxMin")[0] for obj in object_list_name] + object_list_bb_max = [cmds.getAttr(obj + ".boundingBoxMax")[0] for obj in object_list_name] + + same_obj_list = [] + for i in range(len(object_list_name)): + bb_min_a, bb_max_a = object_list_bb_min[i], object_list_bb_max[i] + local_counter = 0 + for j in range(i + 1, len(object_list_name)): + if object_list_name[j] in same_obj_list: + continue + bb_min_b, bb_max_b = object_list_bb_min[j], object_list_bb_max[j] + if vector_much(bb_min_a, bb_min_b, gosa) and vector_much(bb_max_a, bb_max_b, gosa): + if local_counter == 0: + same_obj_list.append(object_list_name[i]) + same_obj_list.append(object_list_name[j]) + local_counter += 1 + if local_counter != 0: + same_obj_list.append(";") + return same_obj_list + +def select_list(obj_list): + unselect_true = cmds.checkBox(SamePositionSelector_UI_UnselectBB_CB, q=True, v=True) + first_true = unselect_true + select_list = [] + for obj in obj_list: + if obj != ";": + if first_true: + first_true = False + continue + select_list.append(obj) + else: + if unselect_true: + first_true = True + cmds.select(select_list) + +def same_position_selector_select(*args): + save_setting() + bb_true = cmds.checkBox(SamePositionSelector_UI_CheckBB_CB, q=True, v=True) + gosa = cmds.floatSliderGrp(SamePositionSelector_UI_Threshold_FS, q=True, v=True) + object_list_name = cmds.ls(sl=True, tr=True) + object_list_pos = [cmds.xform(obj, q=True, ws=True, piv=True)[:3] for obj in object_list_name] + + same_obj_list = [] + for i in range(len(object_list_name)): + pos_a = object_list_pos[i] + local_counter = 0 + for j in range(i + 1, len(object_list_name)): + if object_list_name[j] in same_obj_list: + continue + pos_b = object_list_pos[j] + if vector_much(pos_a, pos_b, gosa): + if local_counter == 0: + same_obj_list.append(object_list_name[i]) + same_obj_list.append(object_list_name[j]) + local_counter += 1 + if local_counter != 0: + same_obj_list.append(";") + + if bb_true: + same_bounding_box_list = [] + pair_list = [] + for obj in same_obj_list: + if obj == ";": + same_bounding_box_list.extend(check_bounding_box(pair_list)) + pair_list = [] + else: + pair_list.append(obj) + same_obj_list = same_bounding_box_list + + select_list(same_obj_list) + +def show(): + global SamePositionSelector_UI_Threshold_FS + global SamePositionSelector_UI_CheckBB_CB + global SamePositionSelector_UI_UnselectBB_CB + + threshold = 0.01 + check_bb = True + unselect = True + + if cmds.optionVar(exists="AriSamePositionS_Threshold"): + threshold = cmds.optionVar(q="AriSamePositionS_Threshold") + if cmds.optionVar(exists="AriSamePositionS_CheckBB"): + check_bb = cmds.optionVar(q="AriSamePositionS_CheckBB") + if cmds.optionVar(exists="AriSamePositionS_Unselect"): + unselect = cmds.optionVar(q="AriSamePositionS_Unselect") + + window_name = "SamePositionSelector" + if cmds.window(window_name, exists=True): + cmds.deleteUI(window_name) + + window = cmds.window(window_name, title="Same Position Selector", tlb=True, + widthHeight=(300, 150), backgroundColor=(0.25, 0.25, 0.25), + sizeable=True) + + label_threshold = "Threshold" + label_check_bb = "Check boundingbox" + label_unselect = "Unselect first object" + + main_layout = cmds.columnLayout(adjustableColumn=True) + + cmds.rowLayout(numberOfColumns=2, columnWidth2=(80, 220), adjustableColumn=2, parent=main_layout) + cmds.text(label=label_threshold) + SamePositionSelector_UI_Threshold_FS = cmds.floatSliderGrp(field=True, minValue=0.0, maxValue=0.1, fieldMinValue=0.0, fieldMaxValue=1000, value=threshold, precision=6) + cmds.setParent('..') + + cmds.columnLayout(adjustableColumn=True, parent=main_layout) + SamePositionSelector_UI_CheckBB_CB = cmds.checkBox(label=label_check_bb, value=check_bb) + SamePositionSelector_UI_UnselectBB_CB = cmds.checkBox(label=label_unselect, value=unselect) + cmds.setParent('..') + + cmds.separator(height=10, style='in', parent=main_layout) + + cmds.button(label="Select", command=same_position_selector_select, backgroundColor=(0.53, 0.81, 0.98), height=30, parent=main_layout) + + cmds.window(window, edit=True, widthHeight=(300, 150)) + cmds.showWindow(window) + +if __name__ == "__main__": + show() \ No newline at end of file diff --git a/Scripts/Modeling/UV/RizomBridge/RizomUVBridge.py b/Scripts/Modeling/UV/RizomBridge/RizomUVBridge.py new file mode 100644 index 0000000..0651faa --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/RizomUVBridge.py @@ -0,0 +1,869 @@ +import os, platform, subprocess, sys + +if sys.version_info.minor < 11: + # Maya 2024 and earlier + from PySide2 import QtGui + from PySide2 import QtWidgets, QtCore + from shiboken2 import wrapInstance +else: + # Maya 2025 + from PySide6 import QtGui + from PySide6 import QtWidgets, QtCore + from shiboken6 import wrapInstance + +if sys.version_info.major == 3: + # Python 3 + from . import scriptlist +elif sys.version_info.major == 2: + # Python 2 + import scriptlist + +from maya.app.general.mayaMixin import MayaQWidgetDockableMixin + +from maya import OpenMayaUI as omui +import maya.OpenMaya as om + +import maya.cmds as cmds +import maya.mel as mel +import xml.dom.minidom as xml # For XML settings + +DEBUG = False +PRNT_STRING = "" + +# om.MGlobal.displayError('ERROR!') + +class Settings(): + def __init__(self): + self.config_path = os.path.join('%s/RizomBridge' % os.getenv('APPDATA')) + config_file = 'uisettings.xml' + + # TODO: Create a unique id for the lua script tied to the Maya instance. + # rizom_script_path = tempfile.gettempdir() + os.sep + "MayaRizomBridgeScript.lua" + rizom_script_path = os.path.join(self.config_path, "MayaRizomBridgeScript.lua") + self.rizom_script_path = rizom_script_path.replace('\\', '/') + + self.apppath = None + self.config_file_path = os.path.join(self.config_path, config_file) + self.check_config_exists(self.config_path) + + try: + self.read_settings() + except: + print(" Failed to read settings, creating new xml file.") + self.set_defaults() + self.save_xml() + self.read_settings() + + self.reset_export_path() + + def reset_export_path(self): + self.exportFile = os.path.join(self.config_path, self.objname) + self.exportFile = self.exportFile.replace('\\', '/') + + def read_settings(self): + doc = xml.parse(self.config_file_path) + + ui_app = doc.getElementsByTagName("Application")[0] + self.apppath = ui_app.getAttribute("apppath") + self.objname = ui_app.getAttribute("objname") + self.upaxis = ui_app.getAttribute("upaxis") + self.loaduvs = self.str_to_bool(ui_app.getAttribute("loaduvs")) + self.useuvlink = self.str_to_bool(ui_app.getAttribute("useuvlink")) + self.fixuvnames = self.str_to_bool(ui_app.getAttribute("fixuvnames")) + self.usecustompath = self.str_to_bool(ui_app.getAttribute("usecustompath")) + self.custompath = ui_app.getAttribute("custompath") + + ui_packer = doc.getElementsByTagName("Packer")[0] + self.quality = int(ui_packer.getAttribute("quality")) + self.mutations = int(ui_packer.getAttribute("mutations")) + self.margin = int(ui_packer.getAttribute("margin")) + self.spacing = int(ui_packer.getAttribute("spacing")) + self.resolution = int(ui_packer.getAttribute("resolution")) + self.initscaleavg = self.str_to_bool(ui_packer.getAttribute("initscaleavg")) + self.autofit = self.str_to_bool(ui_packer.getAttribute("autofit")) + + def set_defaults(self): + self.objname = "MayaRizomExport.fbx" + self.upaxis = "Y" + self.loaduvs = True + self.useuvlink = True + self.fixuvnames = False + self.usecustompath = False + self.custompath = "" + + self.quality = 2 + self.mutations = 256 + self.margin = 2 + self.spacing = 2 + self.resolution = 1024 + self.initscaleavg = True + self.autofit = True + self.apppath = self.findall_rizom_installs()[-1] + pass + + def save_xml(self): + print(PRNT_STRING, "Saving settings to disk: {}".format(self.config_file_path)) + doc = xml.Document() + root_element = doc.createElement("RizomBridge") + + element_application = doc.createElement("Application") + element_application.setAttribute("apppath", str(self.apppath)) + element_application.setAttribute("objname", str(self.objname)) + element_application.setAttribute("upaxis", str(self.upaxis)) + element_application.setAttribute("loaduvs", str(self.loaduvs)) + element_application.setAttribute("useuvlink", str(self.useuvlink)) + element_application.setAttribute("fixuvnames", str(self.fixuvnames)) + element_application.setAttribute("usecustompath", str(self.usecustompath)) + element_application.setAttribute("custompath", str(self.custompath)) + + element_packer = doc.createElement("Packer") + element_packer.setAttribute("quality", str(self.quality)) + element_packer.setAttribute("mutations", str(self.mutations)) + element_packer.setAttribute("margin", str(self.margin)) + element_packer.setAttribute("spacing", str(self.spacing)) + element_packer.setAttribute("resolution", str(self.resolution)) + element_packer.setAttribute("initscaleavg", str(self.initscaleavg)) + element_packer.setAttribute("autofit", str(self.autofit)) + + doc.appendChild(root_element) + root_element.appendChild(element_application) + root_element.appendChild(element_packer) + doc.writexml(open(self.config_file_path, 'w'), indent=" ", addindent=" ", newl='\n') + + def check_config_exists(self, config_path): + print(PRNT_STRING, "Checking for config file:{}".format(self.config_file_path)) + + if not os.path.exists(config_path): + os.makedirs(config_path) + if not os.path.exists(self.config_file_path): + print(PRNT_STRING, "Config not found.") + self.set_defaults() + self.save_xml() + else: + print(PRNT_STRING, "Config found.") + + def findall_rizom_installs(self): + """ Returns list of all rizom.exe in registry that exist on disk """ + try: + import winreg + except: + self.manual_locate_rizom() + return [self.apppath] + + key_path = "SOFTWARE\\Rizom Lab\\" + parent_key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path) + installs = [] + i = 0 + while i < 1000: + try: + key = winreg.EnumKey(parent_key, i) + try: + exe_path = winreg.QueryValue(winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, key_path + key), + "rizomuv.exe") + ".exe" + except FileNotFoundError: + exe_path = "" + if os.path.exists(exe_path): + installs.append(exe_path.replace("\\", "/")) + + except WindowsError: + break + i += 1 + print (PRNT_STRING, "Found RizomUV installs in Windows Registry:") + for inst in sorted(installs): + print(" ..", inst) + return sorted(installs) + + def manual_locate_rizom(self): + om.MGlobal.displayWarning("Could not locate rizomuv.exe: %s" % self.apppath) + fname = QtWidgets.QFileDialog.getOpenFileName(None, 'Locate rizomuv.exe', 'C:/Program Files/Rizom Lab/', "Executable (*.exe)") + + self.apppath = fname[0] + self.appver = self.get_version() + self.save_xml() + + def get_version(self): + """ Return version number as list as read from the folder name, eg. [2022, 2] """ + return os.path.dirname(self.apppath).split()[-1].split('.') + + def check_lua_path(self): + if not os.path.exists(self.rizom_script_path): + with open(self.rizom_script_path, 'w') as f: + if DEBUG: print(PRNT_STRING, "Creating blank lua file at", self.rizom_script_path) + f.write('') + + def str_to_bool(self, s): + if s == 'True': + return True + else: + # Return False for everything else, otherwise it might return None which will cause a crash. + return False + + +class RizomUVBridgeWindow(MayaQWidgetDockableMixin, QtWidgets.QDialog): + def __init__(self, rootWidget=None, *args, **kwargs): + super(RizomUVBridgeWindow, self).__init__() + + """ + if not os.path.exists(config_path): + reset_config() + if DEBUG: print("", config_path) + Config.read(config_path) + """ + self.conf = Settings() + self.conf.check_lua_path() + + # self.rizomPath = self.conf.apppath + print("Rizom Path:", self.conf.apppath) + self.setWindowTitle("Bridge") + + self.sj_num_selchange = cmds.scriptJob(parent=self.objectName(), event=['SelectionChanged', self.ui_update_uvchannels]) + + # self.setMinimumSize(200, 300) + self.resize(250, 300) + + self.create_widgets() + self.create_layouts() + self.create_connections() + self.validate_export_path() + self.exported_objects = [] + self.ui_update_uvchannels() + self.cleanse_namespaces() + + if not os.path.exists(self.conf.apppath): + self.conf.manual_locate_rizom() + v = self.conf.get_version() + self.btn_run.setText('Run RizomUV {}.{}'.format(v[0], v[1])) + + rizom_link_path = os.path.dirname(self.conf.apppath) + '/RizomUVLink' + self.port = None + if rizom_link_path not in sys.path: + sys.path.append(os.path.dirname(self.conf.apppath) + '/RizomUVLink') + try: + from RizomUVLink import CRizomUVLink + self.link = CRizomUVLink() + except: + self.link = None + + + # noinspection PyAttributeOutsideInit + def create_widgets(self): + v = ".".join(self.conf.get_version()) + self.btn_run = QtWidgets.QPushButton('Run RizomUV {}'.format(v), self) + self.btn_export = QtWidgets.QPushButton('Export', self) + self.btn_import = QtWidgets.QPushButton('Import', self) + self.cbx_use_link = QtWidgets.QCheckBox('Attempt to use CRizomUVLink', self) + self.cbx_use_link.setChecked(self.conf.useuvlink) + self.cbx_fix_set_names = QtWidgets.QCheckBox('Fix UV set names on Import', self) + self.cbx_fix_set_names.setChecked(self.conf.fixuvnames) + self.cbx_custom_path = QtWidgets.QCheckBox('Use custom path for fbx', self) + self.cbx_custom_path.setChecked(self.conf.usecustompath) + self.field_custom_path = QtWidgets.QLineEdit("C:/") + self.field_custom_path.setText(self.conf.custompath) + + # Export settings widgets + self.radioAxisY = QtWidgets.QRadioButton('Y') + self.radioAxisZ = QtWidgets.QRadioButton('Z') + if self.conf.upaxis == 'Y': + self.radioAxisY.setChecked(True) + else: + self.radioAxisZ.setChecked(True) + + self.cbx_keepuv = QtWidgets.QCheckBox('Load Existing UVs', self) + self.cbx_keepuv.setChecked(self.conf.loaduvs) + + self.combo_scripts = QtWidgets.QComboBox(self) + self.combo_scripts.addItem("No Script") + for s in scriptlist.scripts: + self.combo_scripts.addItem(s[1]) + + # Utilities widgets + self.btn_fix_shell_normals = QtWidgets.QPushButton('Set UV border edges to Hard') + self.btn_edit_settings = QtWidgets.QPushButton('Open settings folder') + + self.combo_pack_uvset = QtWidgets.QComboBox(self) + # + self.btn_pack = QtWidgets.QPushButton('Export and Pack UVs', self) + self.combo_pack_quality = QtWidgets.QComboBox(self) + self.combo_pack_quality.addItems(['Low', 'Normal', 'High', 'Higher', 'Ultra']) + self.combo_pack_quality.setCurrentIndex(self.conf.quality) + # + self.slider_pack_uvmap = QtWidgets.QSlider(QtCore.Qt.Orientation(1)) + self.slider_pack_uvmap.setMinimum(0) + self.slider_pack_uvmap.setMaximum(5) + self.slider_pack_uvmap.setValue(1) + + self.label_uvmap = QtWidgets.QLabel("1") + + self.dspin_pack_mutations = QtWidgets.QSpinBox() + self.dspin_pack_mutations.setSingleStep(1) + self.dspin_pack_mutations.setRange(1, 1000) + self.dspin_pack_mutations.setWrapping(False) + self.dspin_pack_mutations.setValue(self.conf.mutations) + # + self.dspin_pack_resolution = QtWidgets.QSpinBox() + self.dspin_pack_resolution.setSingleStep(8) + self.dspin_pack_resolution.setRange(8, 8192) + self.dspin_pack_resolution.setWrapping(False) + self.dspin_pack_resolution.setValue(self.conf.resolution) + # + self.dspin_pack_margin = QtWidgets.QSpinBox() + self.dspin_pack_margin.setSingleStep(1) + self.dspin_pack_margin.setWrapping(False) + self.dspin_pack_margin.setValue(self.conf.margin) + # + self.dspin_pack_spacing = QtWidgets.QSpinBox() + self.dspin_pack_spacing.setSingleStep(1) + self.dspin_pack_spacing.setWrapping(False) + self.dspin_pack_spacing.setValue(self.conf.spacing) + # + self.cbx_initial_scale_avg = QtWidgets.QCheckBox("Use 'Avarage' Initial Scale", self) + self.cbx_initial_scale_avg.setChecked(self.conf.initscaleavg) + # + self.cbx_layout_scaling = QtWidgets.QCheckBox("Layout: Auto Fit", self) + self.cbx_layout_scaling.setChecked(self.conf.autofit) + + pass + + # noinspection PyAttributeOutsideInit + def create_layouts(self): + main_layout = QtWidgets.QVBoxLayout(self) + + grp_layout = QtWidgets.QVBoxLayout() + grp_layout.addWidget(self.btn_run) + grp_layout.addWidget(self.btn_export) + grp_layout.addWidget(self.btn_import) + grp_layout.addWidget(self.cbx_use_link) + grp_layout.addWidget(self.cbx_fix_set_names) + #hor_layout = QtWidgets.QHBoxLayout() + grp_layout.addWidget(self.cbx_custom_path) + grp_layout.addWidget(self.field_custom_path) + #grp_layout.addLayout(hor_layout) + + # grp_layout.addWidget(self.btn_edit) + grp = QtWidgets.QGroupBox("UV Operations") + grp.setLayout(grp_layout) + main_layout.addWidget(grp) + + # Export Settings + grp_layout = QtWidgets.QVBoxLayout() + grp_layout.addWidget(self.cbx_keepuv) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("Scripts")) + hor_layout.addWidget(self.combo_scripts) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("Up Axis")) + hor_layout.addWidget(self.radioAxisY) + hor_layout.addWidget(self.radioAxisZ) + grp_layout.addLayout(hor_layout) + + grp = QtWidgets.QGroupBox("Export Settings") + grp.setLayout(grp_layout) + main_layout.addWidget(grp) + + # Utilites + grp_layout = QtWidgets.QVBoxLayout() + grp_layout.addWidget(self.btn_fix_shell_normals) + grp_layout.addWidget(self.btn_edit_settings) + # hor_layout = QtWidgets.QHBoxLayout() + # hor_layout.addWidget(self.btn_uvl_edges) + # grp_layout.addLayout(hor_layout) + + grp = QtWidgets.QGroupBox("Utilities") + grp.setLayout(grp_layout) + main_layout.addWidget(grp) + + # UV Packer + grp_layout = QtWidgets.QVBoxLayout() + grp = QtWidgets.QGroupBox("UV Packer") + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(self.btn_pack) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("UV Set to pack")) + hor_layout.addWidget(self.combo_pack_uvset) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("Packing Quality")) + hor_layout.addWidget(self.combo_pack_quality) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("Mutations")) + hor_layout.addWidget(self.dspin_pack_mutations) + hor_layout.addWidget(QtWidgets.QLabel("Resolution")) + hor_layout.addWidget(self.dspin_pack_resolution) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(QtWidgets.QLabel("Margin")) + hor_layout.addWidget(self.dspin_pack_margin) + hor_layout.addWidget(QtWidgets.QLabel("Spacing")) + hor_layout.addWidget(self.dspin_pack_spacing) + grp_layout.addLayout(hor_layout) + + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(self.cbx_initial_scale_avg) + grp_layout.addLayout(hor_layout) + hor_layout = QtWidgets.QHBoxLayout() + hor_layout.addWidget(self.cbx_layout_scaling) + grp_layout.addLayout(hor_layout) + + grp_layout.addStretch() + grp.setLayout(grp_layout) + main_layout.addWidget(grp) + pass + + def create_connections(self): + self.btn_run.clicked.connect(self.riz_run) + self.btn_export.clicked.connect(self.riz_export) + self.btn_import.clicked.connect(self.riz_import) + self.btn_fix_shell_normals.clicked.connect(fix_shell_border_normals) + self.btn_edit_settings.clicked.connect(self.browse_settings_location) + self.cbx_custom_path.stateChanged.connect(self.validate_export_path) + self.field_custom_path.textEdited.connect(self.validate_export_path) + + self.cbx_keepuv.stateChanged.connect(self.set_config) + self.slider_pack_uvmap.valueChanged.connect(self.ui_pack_update_labels) + + self.radioAxisY.clicked.connect(self.set_config) + self.radioAxisZ.clicked.connect(self.set_config) + # self.combo_scripts.currentIndexChanged.connect(self.ui_toggle_roundtrip_option) + + self.dspin_pack_mutations.valueChanged.connect(self.set_config) + self.dspin_pack_resolution.valueChanged.connect(self.set_config) + self.dspin_pack_margin.valueChanged.connect(self.set_config) + self.dspin_pack_spacing.valueChanged.connect(self.set_config) + self.cbx_layout_scaling.stateChanged.connect(self.set_config) + self.cbx_use_link.stateChanged.connect(self.set_config) + self.cbx_fix_set_names.stateChanged.connect(self.set_config) + + self.btn_pack.clicked.connect(self.riz_pack) + return + + def riz_run(self): + # Confirm application path + if not os.path.exists(self.conf.apppath): + self.manual_locate_rizom() + + if self.link and self.cbx_use_link.isChecked(): + self.port = self.link.RunRizomUV() + print(f"{PRNT_STRING} RizomUV {self.link.RizomUVVersion()} link established. Now listening to commands on TCP port: {str(self.port)}") + + # Enable UI relevant only for RizomUV Link + # self.btn_uvl_edges.setEnabled(True) + # self.btn_uvl_edges.setStyleSheet("background-color: {}; color: white".format("#ef4000")) + else: + # Use original method if link is not working. + print(PRNT_STRING, "RizomUV link not available. Communicating using LUA script file.") + cmd = '"' + self.conf.apppath + '" -cf "' + self.conf.rizom_script_path + '"' + print(cmd) + + if platform.system() == "Windows": + self.sp = subprocess.Popen(cmd, shell=True) + else: + self.sp = subprocess.Popen(["open", "-a", self.conf.apppath, "-cf", self.conf.rizom_script_path]) + + self.btn_export.setEnabled(True) + return + + def riz_pack(self): + # Export model with no script loaded, + # Also tell Rizom not to load the model in the riz_export function + # because it sometimes does not have time to load before we overwrite the lua file with these commands. + current_uv = self.combo_pack_uvset.currentText() + # current_uv_index = self.combo_pack_uvset.currentIndex() + + exported = self.riz_export(False, False) + if not exported: + return + + # Construct LUA code from GUI options + cmd = '' + # Common repeated text chunk + cmd_properties_prefix = 'ZomIslandGroups({Mode="SetGroupsProperties", WorkingSet="Visible", MergingPolicyString="A_ADD|AIB_ADD_A_VALUE_B|B_CLONE", GroupPaths={ "RootGroup" }, ' + + # Load model + cmd += 'ZomLoad({File={Path="'+self.conf.exportFile+'", ImportGroups=true, XYZUVW=true, UVWProps=true}})\n' + + # cmd += 'ZomUvset({Mode="SetCurrent", Name="Channel%s"})\n' % str(self.label_uvmap.text()) + cmd += 'ZomUvset({Mode="SetCurrent", Name="%s"})\n' % current_uv + # cmd += 'ZomSet({Path = "Vars.Viewport.ViewportUV.WorkingSet", Value = "Visible&Flat"})\n' + + # cmd += 'ZomSet({Path="Prefs.PackOptions.MapResolution", Value=%i})\n' % self.dspin_pack_resolution.value() + cmd += cmd_properties_prefix + 'Properties={Pack={Rotate={Step=90}}}})\n' + cmd += cmd_properties_prefix + 'Properties={Pack={Rotate={Mode=0}}}})\n' + + margin = float(self.dspin_pack_margin.value()) / self.dspin_pack_resolution.value() + spacing = float(self.dspin_pack_spacing.value()) / self.dspin_pack_resolution.value() + cmd += cmd_properties_prefix + 'Properties={Pack={SpacingSize=%f}}})\n' % spacing + cmd += cmd_properties_prefix + 'Properties={Pack={MarginSize=%f}}})\n' % margin + + quality = [128, 256, 512, 1024, 2048] + cmd += cmd_properties_prefix + 'Properties={Pack={Resolution=%i}}})\n' % quality[self.combo_pack_quality.currentIndex()] + cmd += cmd_properties_prefix + 'Properties={Pack={MaxMutations=%i}}})\n' % self.dspin_pack_mutations.value() + + init_scale = 0 + if self.cbx_initial_scale_avg.isChecked(): + init_scale = 2 + + layout_scale = 0 + if self.cbx_layout_scaling.isChecked(): + layout_scale = 2 + + cmd += 'ZomSet({Path="Prefs.PackOptions.__ScalingMode", Value=%i})\n' % init_scale + cmd += 'ZomSave({File={Path="c:/users/root/appdata/local/temp/MayaRizomExport.fbx", UVWProps=true}, __UpdateUIObjFileName=true})\n' + + cmd += 'ZomIslandGroups({Mode="DistributeInTilesEvenly", WorkingSet="Visible&Flat", MergingPolicyString="A_ADD|AIB_ADD_A_VALUE_B|B_CLONE", UseTileLocks=true, UseIslandLocks=true})\n' + cmd += 'ZomPack({RootGroup="RootGroup", WorkingSet="Visible&Flat", ProcessTileSelection=false, RecursionDepth=1, Translate=true, LayoutScalingMode=%i, Scaling={Mode=%i}})\n' % (layout_scale, init_scale) + + if DEBUG: + print(cmd) + self.write_to_lua_file(cmd) + return + + def fbx_export(self): + # FBX Export + if not cmds.pluginInfo("fbxmaya", loaded=True, query=True): + cmds.loadPlugin("fbxmaya") + + cmds.undoInfo(openChunk=True) + mel.eval('ConvertInstanceToObject;') # This is the only command that is important to undo. + mel.eval('FBXExportSmoothingGroups -v true;') + mel.eval('FBXExportTriangulate -v false;') + mel.eval('FBXExportSmoothMesh -v false;') + mel.eval('FBXExportUpAxis {};'.format(self.conf.upaxis)) + print('FBXExport -s -f "{}";'.format(self.conf.exportFile)) + mel.eval('FBXExport -s -f "{}";'.format(self.conf.exportFile)) + try: + cmds.undo() + except RuntimeError as RE: + # There are no more commands to undo + pass + + # End FBX Export + return + + def riz_export(self, use_script=True, load_model=True): + # displaySmoothness -divisionsU 0 + self.exported_objects = cmds.ls(selection=True, tr=True) + + # Exit preview smooth, because the FBXExportSmoothMesh option is not always respected by the exporter. + cmds.displaySmoothness(du=0, dv=0, pw=4, ps=0, po=1) + + if self.cbx_custom_path.isChecked() and not self.field_custom_path.text() == self.conf.custompath: + self.set_config() + + if self.link and self.cbx_use_link.isChecked(): + print("Rizom Link version", self.link.Version()) + + # FBX Export + self.fbx_export() + if not self.port: + self.riz_run() + + params = { + "File.Path": self.conf.exportFile, + "File.XYZUVW": True, # 3D + UV data loaded (use File.XYZ instead to load 3D data only) + "File.UVWProps": True, # UVs properties such as pinning, texel density settings etc... will be loaded + "File.ImportGroups": True, # Island group hierarchy will be loaded + "__Focus": True, # Focus viewports on the loaded mesh + # "Data.UseImportedUVWPolygons": False, + } + + self.link.Load(params) + + if DEBUG: print(f"{PRNT_STRING} EXPORTED TO:", self.conf.exportFile) + cmds.select(self.exported_objects) + + # Enable import button if it was disabled. + self.btn_import.setEnabled(True) + else: + # Classic Method # + print(f"{PRNT_STRING} Exporting model") + self.cleanse_namespaces() # Agressive cleanse + if not self.exported_objects: + return False + + # Delete history in case their are empty groups that would be removed by this action. + # Otherwise they would be cleared during import and we have an object count missmatch. + cmds.bakePartialHistory() + cmd = '' + + # Export Options + if load_model: + if self.cbx_keepuv.isChecked(): + cmd += 'ZomLoad({File={Path="'+self.conf.exportFile+'", ImportGroups=true, XYZUVW=true, UVWProps=true}})\n' + else: + cmd += 'ZomLoad({File={Path="'+self.conf.exportFile+'", ImportGroups=true, XYZ=true}, NormalizeUVW=true})\n' + + # Add scripts + if self.combo_scripts.currentIndex() and use_script is True: + script_name = scriptlist.scripts[self.combo_scripts.currentIndex()-1][0] + script_path = os.path.join(os.path.dirname(__file__), 'lua_scripts/%s' % script_name) + with open(script_path, 'r') as lua_script: + cmd += lua_script.read() + + if DEBUG: print(f"{PRNT_STRING} {cmd}") + + # FBX Export + self.fbx_export() + + if DEBUG: print(f"{PRNT_STRING} EXPORTED TO: {self.conf.exportFile}") + cmds.select(self.exported_objects) + + self.write_to_lua_file(cmd) + self.btn_import.setEnabled(True) + return True + + def riz_import(self): + if not os.path.exists(self.conf.exportFile): + om.MGlobal.displayError("Could not locate exported file: %s" % self.conf.exportFile) + self.btn_import.setEnabled(False) + + if self.cbx_use_link.isChecked(): + if self.link: + try: + self.link.Save({"File.Path": self.conf.exportFile}) + except RuntimeError as RE: + cmds.error('Could not send Save command to Rizom over Python Link. Was it enabled when you exported?') + + # FBX Import + namespace = ':RIZOMUV' + if not cmds.namespace(ex=namespace): + cmds.namespace(add=namespace) + cmds.namespace(set=namespace) + + mel.eval('FBXImportMode -v add;') + mel.eval('FBXImport -f "{}";'.format(self.conf.exportFile)) + # END FBX Import + + imported_objects = cmds.ls('RIZOMUV:*', long=True, type="transform") + original_matches = [] + for riz_obj in imported_objects: + print ("Imported object name", riz_obj) + original = riz_obj.replace('RIZOMUV:', '') + original_matches.append(original) + + # List UV sets of each item, skip if it has none. This is simply to exclude objects like group nodes. + original_uvsets = cmds.polyUVSet(original, allUVSets=True, q=True) + if not original_uvsets: + print(f"Object {riz_obj} has no UVSets. Will not attempt UV Transfer") + continue + + imported_uvsets = cmds.polyUVSet(riz_obj, allUVSets=True, q=True) + + if original_uvsets: + # Check names # + if self.cbx_fix_set_names.isChecked(): + for i in range(len(original_uvsets)): + try: + if not original_uvsets[i] == imported_uvsets[i]: + cmds.polyUVSet(riz_obj, rename=True, uvSet=imported_uvsets[i], newUVSet=original_uvsets[i]) + except IndexError: + # This can happen due to a weird Maya bug that I don't understand where the object has more + # uvSets listed with the polyUVSet comman, than it has in the UV Set Editor + print ("UV Set Index Error. Objects don't seem to have the same amount of UV sets") + print("Original UV Sets:", original_uvsets, original) + print("Imported UV Sets:", imported_uvsets, riz_obj) + pass + try: + #cmds.polyTransfer(original, ao=riz_obj, ch=False, uv=True) + cmds.polyTransfer(original, ao=riz_obj, ch=False, vc=False, v=False, uv=True) + except RuntimeError as rt: + print (" Could not transfer UVs from", riz_obj, "to", original) + if DEBUG: print (" Transfering UVs from", riz_obj, "to", original) + + cmds.select(original_matches) + cmds.bakePartialHistory() + cmds.delete(':RIZOMUV:*') + cmds.namespace(rm=':RIZOMUV') + + return + + def riz_link(self): + """ + Establishes link with RizomUV. Even though this is just a single line, I want it in a function to refresh UI. + """ + pass + + def browse_settings_location(self): + os.startfile(os.path.dirname(self.conf.config_file_path)) + + def ui_pack_update_labels(self): + print("Value changed") + self.label_uvmap.setText(str(self.slider_pack_uvmap.value())) + + def ui_update_uvchannels(self): + sel_obj = cmds.ls(sl=True, tr=True) + if not sel_obj: + self.combo_pack_uvset.clear() + return + + uvsets = cmds.polyUVSet(sel_obj[0], allUVSets=True, q=True) + current_set = cmds.polyUVSet(sel_obj[0], cuv=True, q=True) + if uvsets: + print (uvsets) + self.combo_pack_uvset.clear() + self.combo_pack_uvset.addItems(uvsets) + self.combo_pack_uvset.setCurrentIndex(uvsets.index(current_set[0])) + + def validate_export_path(self): + if self.cbx_custom_path.isChecked(): + if not os.path.exists(self.field_custom_path.text()): + self.btn_import.setEnabled(False) + self.btn_export.setEnabled(False) + self.field_custom_path.setStyleSheet("color: red") + return + else: + self.conf.exportFile = os.path.join(self.conf.custompath, self.conf.objname) + self.btn_import.setEnabled(True) + self.btn_export.setEnabled(True) + self.field_custom_path.setStyleSheet("color: white") + else: + self.conf.reset_export_path() + self.field_custom_path.setStyleSheet("color: grey") + self.btn_import.setEnabled(True) + self.btn_export.setEnabled(True) + + print(self.conf.exportFile) + + def cleanse_namespaces(self): + """ Step One -- + Try to delete all existing RIZOMUV namespaces until it fails, this should get rid of stacked instances like + RIZOMUV:RIZOMUV:RIZOMUV + """ + fail = False + while(not fail): + try: + cmds.namespace(rm=':RIZOMUV', mnr=True) + except: + fail = True + + """ Step Two -- + In one scene I got the namespaces had gotten renamed to RIZOMUV1, RIZOMUV2, RIZOMUV3 etc + so this finds any leftoverrs and deletes them. + """ + # existing_ns = cmds.namespaceInfo(listNamespace=True, listOnlyNamespaces=True) + # for entry in existing_ns: + # if 'RIZOMUV' in entry: + # cmds.namespace(rm=entry, mnr=True) + # + # return + + """ Step Two, updated -- + Let's try to remove other namespaces than simply RIZOM as having others can prevent the import from working + """ + c = cmds.listRelatives(ad=True) + if not c: + return + + for obj in c: + ns_split = obj.split(':') + if len(ns_split)>1: + result = cmds.confirmDialog(m="Selected objects have namespaces assigned. \n" + "These must go before you can use the tool correctly\n" + "Should I delete them for you? (Including on unselected objects)\n\n" + "Namespace on object: \n%s" % ns_split[0], button=['Remove', 'Cancel']) + if result == 'Remove': + cmds.namespace(rm=ns_split[0], mnr=True) + else: + return + return + + def write_to_lua_file(self, command): + with open(self.conf.rizom_script_path, 'w') as f: + f.write(command) + print(" Wrote command to lua file:", self.conf.rizom_script_path) + for line in command.split("\n"): + print("\t", line) + return + + def set_config(self): + self.conf.loaduvs = self.cbx_keepuv.isChecked() + + if self.radioAxisY.isChecked(): + self.conf.upaxis = "Y" + else: + self.conf.upaxis = "Z" + + self.conf.mutations = self.dspin_pack_mutations.value() + self.conf.resolution = self.dspin_pack_resolution.value() + self.conf.margin = self.dspin_pack_margin.value() + self.conf.spacing = self.dspin_pack_spacing.value() + self.conf.autofit = self.cbx_layout_scaling.isChecked() + self.conf.fixuvnames = self.cbx_fix_set_names.isChecked() + self.conf.useuvlink = self.cbx_use_link.isChecked() + self.conf.usecustompath = self.cbx_custom_path.isChecked() + self.conf.custompath = self.field_custom_path.text() + + self.conf.save_xml() + + def closeEvent(self, event): + self.conf.save_xml() + + +def GetMayaWidget(): + """ + Return the Maya main window widget as a Python object + """ + main_window_ptr = omui.MQtUtil.mainWindow() + if sys.version_info.major >= 3: + return wrapInstance(int(main_window_ptr), QtWidgets.QWidget) + else: + return wrapInstance(long(main_window_ptr), QtWidgets.QWidget) + + +def fix_shell_border_normals(): + obj_list = cmds.ls(sl=True, o=True) + all_final_borders = [] + + for sub_obj in obj_list: + cmds.select(sub_obj, r=True) + + cmds.polyNormalPerVertex(ufn=True) + cmds.polySoftEdge(sub_obj, a=180, ch=1) + print("Soften all") + + # Select object UVs + cmds.select(sub_obj + '.map[*]') + mel.eval('polySelectBorderShell 1;') + uv_border = cmds.polyListComponentConversion(te=True, internal=True) + uv_border = cmds.ls(uv_border, fl=True) + final_border = [] + + # Magical filter + for curEdge in uv_border: + edge_uvs = cmds.polyListComponentConversion(curEdge, tuv=True) + edge_uvs = cmds.ls(edge_uvs, fl=True) + + if len(edge_uvs) > 2: + final_border.append(curEdge) + + cmds.polySoftEdge(final_border, a=0, ch=1) + all_final_borders.append(final_border) + + cmds.select(cl=True) + for sel_l in all_final_borders: + cmds.select(sel_l, add=True) + cmds.hilite(obj_list) + +def run(): + scriptJobs = cmds.scriptJob(listJobs=True) + for sj in scriptJobs: + if "RizomBridge" in sj: + print(PRNT_STRING, "Killing preexisting scriptJob:", sj) + cmds.scriptJob(kill=int(sj.split(':')[0])) + + d = RizomUVBridgeWindow() + d.show(dockable=True) + + +if __name__ == "__main__": + run() + diff --git a/Scripts/Modeling/UV/RizomBridge/__init__.py b/Scripts/Modeling/UV/RizomBridge/__init__.py new file mode 100644 index 0000000..5175b1d --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/__init__.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from . import * diff --git a/Scripts/Modeling/UV/RizomBridge/lua_scripts/__init__.py b/Scripts/Modeling/UV/RizomBridge/lua_scripts/__init__.py new file mode 100644 index 0000000..3240337 --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/lua_scripts/__init__.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from . import * \ No newline at end of file diff --git a/Scripts/Modeling/UV/RizomBridge/lua_scripts/blank.lua b/Scripts/Modeling/UV/RizomBridge/lua_scripts/blank.lua new file mode 100644 index 0000000..de03a3e --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/lua_scripts/blank.lua @@ -0,0 +1 @@ +ZomSet({Path="Prefs.FileSuffix", Value=""}) diff --git a/Scripts/Modeling/UV/RizomBridge/lua_scripts/box_algorithm.lua b/Scripts/Modeling/UV/RizomBridge/lua_scripts/box_algorithm.lua new file mode 100644 index 0000000..18e8517 --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/lua_scripts/box_algorithm.lua @@ -0,0 +1,6 @@ +ZomSelect({PrimType="Edge", WorkingSet="Visible", Select=true, ResetBefore=true, ProtectMapName="Protect", FilterIslandVisible=true, Auto={Box={ActiveEdges={ "XPYP", "XPZP", "XPYM", "XPZM", "YPZP", "YMZP", "YMZM", "YPZM", "XMYP", "XMZP", "XMYM", "XMZM" }}, HandleCutter=true, StoreCoordsUVW=true, FlatteningMode=0, FlatteningUnfoldParams={Iterations=1, BorderIntersections=true, TriangleFlips=true}}}) +ZomCut({PrimType="Edge", WorkingSet="Visible"}) +ZomLoad({Data={CoordsUVWInternalPath="Mesh.Tmp.AutoSelect.UVW"}}) +ZomIslandGroups({Mode="DistributeInTilesByBBox", WorkingSet="Visible", MergingPolicy=8322}) +ZomIslandGroups({Mode="DistributeInTilesEvenly", WorkingSet="Visible", MergingPolicy=8322, UseTileLocks=true, UseIslandLocks=true}) +ZomPack({ProcessTileSelection=false, RecursionDepth=1, RootGroup="RootGroup", WorkingSet="Visible", Scaling={Mode=0}, Rotate={}, Translate=true, LayoutScalingMode=2}) \ No newline at end of file diff --git a/Scripts/Modeling/UV/RizomBridge/lua_scripts/mosaic_algorithm.lua b/Scripts/Modeling/UV/RizomBridge/lua_scripts/mosaic_algorithm.lua new file mode 100644 index 0000000..fad2883 --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/lua_scripts/mosaic_algorithm.lua @@ -0,0 +1,10 @@ +var = ZomGet("Vars.AutoSelect.Mosaic.Developability") + +ZomSet({Path="Prefs.FileSuffix", Value=""}) +ZomSelect({PrimType="Edge", WorkingSet="Visible", Select=true, ResetBefore=true, ProtectMapName="Protect", FilterIslandVisible=true, Auto={QuasiDevelopable={Developability=var, IslandPolyNBMin=1, FitCones=false, Straighten=true}, HandleCutter=true, StoreCoordsUVW=true, FlatteningMode=0, FlatteningUnfoldParams={Iterations=1, BorderIntersections=true, TriangleFlips=true}}}) +ZomCut({PrimType="Edge", WorkingSet="Visible"}) +ZomLoad({Data={CoordsUVWInternalPath="Mesh.Tmp.AutoSelect.UVW"}}) +ZomIslandGroups({Mode="DistributeInTilesByBBox", WorkingSet="Visible", MergingPolicy=8322}) +ZomIslandGroups({Mode="DistributeInTilesEvenly", WorkingSet="Visible", MergingPolicy=8322, UseTileLocks=true, UseIslandLocks=true}) +ZomPack({ProcessTileSelection=false, RecursionDepth=1, RootGroup="RootGroup", WorkingSet="Visible", Scaling={Mode=2}, Rotate={}, Translate=true, LayoutScalingMode=2}) + diff --git a/Scripts/Modeling/UV/RizomBridge/lua_scripts/sharp_edge_algorithm.lua b/Scripts/Modeling/UV/RizomBridge/lua_scripts/sharp_edge_algorithm.lua new file mode 100644 index 0000000..d9523b8 --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/lua_scripts/sharp_edge_algorithm.lua @@ -0,0 +1,11 @@ +var = ZomGet("Vars.AutoSelect.SharpEdges.Angle") + +ZomSet({Path="Prefs.FileSuffix", Value=""}) +ZomSet({Path="Vars.EditMode.ElementMode", Value=1}) +ZomSelect({PrimType="Edge", WorkingSet="Visible", Select=true, All=true}) +ZomSelect({PrimType="Edge", WorkingSet="Visible", Select=true, ResetBefore=true, ProtectMapName="Protect", FilterIslandVisible=true, Auto={SharpEdges={AngleMin=var}, PipesCutter=false, HandleCutter=true, StoreCoordsUVW=true, FlatteningMode=0, FlatteningUnfoldParams={Iterations=1, BorderIntersections=true, TriangleFlips=true}}}) +ZomCut({PrimType="Edge", WorkingSet="Visible"}) +ZomLoad({Data={CoordsUVWInternalPath="Mesh.Tmp.AutoSelect.UVW"}}) +ZomIslandGroups({Mode="DistributeInTilesByBBox", WorkingSet="Visible", MergingPolicy=8322}) +ZomIslandGroups({Mode="DistributeInTilesEvenly", WorkingSet="Visible", MergingPolicy=8322, UseTileLocks=true, UseIslandLocks=true}) +ZomPack({ProcessTileSelection=false, RecursionDepth=1, RootGroup="RootGroup", WorkingSet="Visible", Scaling={Mode=2}, Rotate={}, Translate=true, LayoutScalingMode=2}) \ No newline at end of file diff --git a/Scripts/Modeling/UV/RizomBridge/rizom_icon.png b/Scripts/Modeling/UV/RizomBridge/rizom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a36b104b7c91ebd2b4189ff8921a03925610c6aa GIT binary patch literal 851 zcmV-Z1FZasP)% zhnw! zPb<24Tbu&LR84$7))&_C0vR;lB7qY|TPfXNMk}AsHvsZ@fh2H8B2fQF>F67ru}6~6 z59ad%ChCHsfZHT!RG?at?-Eig&c5z8e3ePDq>0k(%U z>F%x+v=V$11hAF7+MvKR@JJ$XO13Fw(*h9%Ra{w?#Ex58ATt(?4*Q&Lr#TBTFD1D= zG65@K`*)BJLQ6e@-R&p__yFF=z>oW$JS((rKuoWo16~8OV;xQ`RKMMvzq>&@P)0 z*NIpokq*xKoaRy_Z_}|3PD1!FVm6CTQ*ntP;S`is8U#u(Kqb9+h^WNN$dXWGv029b dh2)>ReglhS_&1)snT`Me002ovPDHLkV1kTtaQgrN literal 0 HcmV?d00001 diff --git a/Scripts/Modeling/UV/RizomBridge/scriptlist.py b/Scripts/Modeling/UV/RizomBridge/scriptlist.py new file mode 100644 index 0000000..d885e9b --- /dev/null +++ b/Scripts/Modeling/UV/RizomBridge/scriptlist.py @@ -0,0 +1,2 @@ +# Edit this list when adding new scripts to the lua_script folder +scripts = [("box_algorithm.lua", "Box"), ("mosaic_algorithm.lua", "Mosaic"), ("pelt_algorithm.lua", "Pelt"), ("sharp_edge_algorithm.lua", "Sharp Edge")] \ No newline at end of file diff --git a/Scripts/Modeling/UV/UVDeluxe/__init__.py b/Scripts/Modeling/UV/UVDeluxe/__init__.py new file mode 100644 index 0000000..5175b1d --- /dev/null +++ b/Scripts/Modeling/UV/UVDeluxe/__init__.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +from . import * diff --git a/Scripts/Modeling/UV/UVDeluxe/config.uvd b/Scripts/Modeling/UV/UVDeluxe/config.uvd new file mode 100644 index 0000000000000000000000000000000000000000..7b6aace7e5154fc706fff1890f1587a8c463f20e GIT binary patch literal 405 zcmZY5%}T>S6a`>~LL-9U1Gul7jQ<8Vf(DJ%fDkLXkaC;3B!kIJnV&WaLfxs%&T*k{ z;9DB&&N=E6I4J2w{{5Wg-QVlvU= 32 and res[0] <= 8192: + # mc.text('resTextManW', edit=True, label=res[0]) + # mc.text('resTextManH', edit=True, label=res[1]) + + updateUI_SetRatio() + return + +#----------------# +# Settings # +#----------------# +def ui_Settings(flag,*args): + def retainCompSpace(): + if mc.checkBox ('SCR',q=True,value=True): + mc.texMoveContext('texMoveContext',e=True,scr=True) + else: mc.texMoveContext('texMoveContext',e=True,scr=False) + uis.setUiState() + + def openPrefs(*args): + #Open preference window + mel.eval('preferencesWnd "general";') + #Change tab + mel.eval('textScrollList -edit -selectItem (uiRes("m_preferencesWnd.kSettingsTab")) prefIndex;') + mel.eval('switchPrefTabs 0;') + return + + def setResolution(*args): + # IMPORTANT! SetRatio: multiplier = ((multiplier*(8192/textureResW))/8) + iterations = 8 + resMin = 32 + #maxRes = 32*(2**iterations) + + #mel. Create a local var "sliderValue" to whatever textureSliderW is set to. + sliderValueW = mc.intSlider('textureSliderW', query=True, value=True) + sliderValueH = mc.intSlider('textureSliderH', query=True, value=True) + + #Width + p2 = resMin + for i in range(0,iterations+1,1): + if sliderValueW == i: + mc.text('resTextManW',edit=True,label=str(p2)) + p2*=2 + + #Height + p2 = resMin + for i in range(0,iterations+1,1): + if sliderValueH == i: + mc.text('resTextManH',edit=True,label=str(p2)) + p2*=2 + + return + + def callSetResAndUpdateUI(): + """ + Called when moving either resolution slider + """ + setResolution() + updateUI_SetRatio() + uis.setUiState() + return + + def checkDetectTextureResolution(): + """ + Called when checkbox value is changed for Detect Resolution + """ + if mc.checkBox('DTR',q=True,v=True): + mc.intSlider('textureSliderW', e=True, enable=False) + mc.intSlider('textureSliderH', e=True, enable=False) + mc.text('resTextManW', e=True, enable=False) + mc.text('resTextManH', e=True, enable=False) + else: + mc.intSlider('textureSliderW', e=True, enable=True) + mc.intSlider('textureSliderH', e=True, enable=True) + mc.text('resTextManW', e=True, enable=True) + mc.text('resTextManH', e=True, enable=True) + + uis.setUiState() + return + + mc.frameLayout('layout_Settings',label='Settings',width=220, + cll=True, + cl=uis.collapseFrame0, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + + ## Units and Preferences button + mc.columnLayout() + mc.rowLayout(numberOfColumns=2,cw2=(146,60)) + mc.text('unitText',label='Working Units: %s' % mc.currentUnit(q=True,f=True)) + mc.button(label='Maya Prefs',w=68,c=openPrefs) + mc.setParent('..') + + ## DeTect Resolution + s = [110,40,40] + mc.rowLayout(numberOfColumns=3,cw3=s) + mc.checkBox ('DTR',label="Detect Resolution:",h=20, + value = uis.detectTextureSize, cc=lambda *args:checkDetectTextureResolution()) + mc.text('resTextW',label='0') + mc.text('resTextH',label='0') + mc.setParent('..') + + ## Width controller + MAN = not uis.detectTextureSize + mc.rowLayout(numberOfColumns=3,cw3=(40,30,140)) + mc.text(label='Size W:') + mc.text('resTextManW', label='', enable = MAN) + mc.intSlider('textureSliderW' ,w=140, min=0, max=8, step=1, + enable= not uis.detectTextureSize, + value = 4, + cc=lambda *args:callSetResAndUpdateUI()) + mc.setParent('..') + + ## Height controller + mc.rowLayout(numberOfColumns=3,cw3=(40,30,140)) + mc.text(label='Size H:') + mc.text('resTextManH', label='', enable = MAN) + mc.intSlider('textureSliderH', w=140, min=0, max=8, step=1, + enable= not uis.detectTextureSize%(1+1), + value = 4, + cc=lambda *args:callSetResAndUpdateUI()) + mc.setParent('..') + + ## Create Checkboxes + mc.checkBox ('SCR',label='Retain component spacing (Move tool)',h=20, + value=uis.retainCS,cc=lambda *args:retainCompSpace()) + + ## Set parent for frameLayout & columnLayout + mc.setParent('..') + mc.setParent('..') + setResolution() + +#--------------# +# MOVER # +#--------------# +def ui_Mover(): + def move(dTuple,*args): + if not mc.polyListComponentConversion(fuv=True): + mel.eval('warning "Please select some UVs"') + else: + steps = mc.floatField('steps',q=True,v=True) + sel = mc.ls(sl = True) + mel.eval('polySelectBorderShell 0') + mc.polyEditUV(u=(steps*dTuple[0]),v=(steps*dTuple[1])) + #Refocus selection + mc.select(sel,r=True) + return + + mc.frameLayout('layout_Mover',label='Mover',width=220,cll=True,cl=uis.collapseFrame1, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + ## + mc.rowLayout(numberOfColumns=2,cw2=(107,107)) + mc.text(label='Move by steps of:') + mc.floatField('steps',precision=2,width=107,value=1.0) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=4,cw4=(52,52,52,52)) + mc.button(label='Up',w=52, c=lambda *args:move((0,1))) + mc.button(label='Down',w=52, c=lambda *args:move((0,-1))) + mc.button(label='Left',w=52, c=lambda *args:move((-1,0))) + mc.button(label='Right',w=52, c=lambda *args:move((1,0))) + mc.setParent('..') + mc.setParent('..') + mc.setParent('..') + +#-----------------------# +# SCALE AND ROTATE # +#-----------------------# +def ui_Scaler(): + def getPivot(method): + ## Methods + ## 1 = Updates UI with sampled position + ## 2 = Return Custom UV + ## None = return selection center + + try: + pivot = mc.polyEvaluate(mc.ls(sl = True), bc2=True) + pivotU=((pivot[0][0] + pivot[0][1]) * 0.5) + pivotV=((pivot[1][0] + pivot[1][1]) * 0.5) + except: + mel.eval("warning (\"You do not have any UVs selected!\")") + + if method == 1: + mc.floatField('scalePivotFieldU', edit=True, value=pivotU) + mc.floatField('scalePivotFieldV', edit=True, value=pivotV) + return + elif method == 2: + pivotU = mc.floatField('scalePivotFieldU', query=True, value=True) + pivotV = mc.floatField('scalePivotFieldV', query=True, value=True) + + return (pivotU, pivotV) + + def scale(button_info, *args): + button_data = button_info.split(':') + if button_data[0] == 'custom': + if button_data[1] == 'u': + button_data[0] = float(mc.floatField('scaleCustomU', query=True, v=True)) + else: + button_data[0] = float(mc.floatField('scaleCustomV', query=True, v=True)) + else: + button_data[0] = float(button_data[0]) + + #Get pivot from preset or selection + if mc.radioButton('CustomPivot', query=True, sl = True): pivotUV = getPivot(2) + else: pivotUV = getPivot(None) + + if button_data[1] == 'u': + mc.polyEditUV(pu=pivotUV[0], pv=pivotUV[1], su=button_data[0], sv=0) + if button_data[1] == 'v': + mc.polyEditUV(pu=pivotUV[0], pv=pivotUV[1], su=0, sv=button_data[0]) + return + + def smartRotate(dir): + if not mc.ls(sl = True): + mel.eval("print 'Could not rotate UVs: Nothing selected'") + return + + + resolution = getWorkingResolution() + resW = resolution[0] + resH = resolution[1] + + selCenter = getPivot(None) + #Get pivot from preset or selection + if mc.radioButton('CustomPivot', query=True, sl = True): pivotUV = getPivot(2) + else: pivotUV = selCenter + + #Correct texture/scaling ratio before rotating. + scaleV = resH/resW + mc.polyEditUV(pu=selCenter[0], pv=selCenter[1], su=0, sv=scaleV) + + #Perform rotate + mc.polyEditUV(pu=pivotUV[0], pv=pivotUV[1], angle=mc.intField('rot_deg', query=True, v=True)*dir) + + #Reverse correction + selCenter = getPivot(None) #Update position after potential move + scaleV = resW/resH + mc.polyEditUV(pu=selCenter[0], pv=selCenter[1], su=0, sv=scaleV) + return + + mc.frameLayout('layout_Scaler',label='Scaling and Rotation',width=220,cll=True,cl=uis.collapseFrame2, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + + mc.columnLayout() + #mc.text(label='Set scaling pivot to selection or custom cords',height=20) + mc.text(label='Pivot for scaling and roation:',height=20) + mc.radioCollection('SP_RC') + ## + mc.rowLayout(numberOfColumns=4,cw4=(65,75,34,34)) + mc.radioButton('PivSel',w=65,label='Selection',cl='SP_RC',onc=lambda *args:updateUI('scale_pivot'),h=14) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=3,cw3=(115,33,110)) + mc.radioButton('CustomPivot', h=18, w=80,label='Custom UV',cl='SP_RC',onc=lambda *args:updateUI('scale_pivot')) + mc.text('spu',l='Pos U:',align="left",w=33,enable=False) + mc.floatField('scalePivotFieldU',pre=7,w=60,v=0.0,h=18) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=3,cw3=(115,33,110)) + mc.button('samplePivotButton',l='Sample selection', c=lambda *args:getPivot(1),h=18,w=108) + mc.text('spv',l='Pos V:',align="left",w=33,enable=False) + mc.floatField('scalePivotFieldV',pre=7,w=60,v=0.0,h=18) + mc.setParent('..') + ## + + ## + mc.radioCollection('SP_RC',edit=True,select='PivSel') #Set default selection pivot mode + mc.text(label='Scale by:',height=20) + ## + mc.rowLayout(numberOfColumns=6,cw6=(35,25,25,30,42,47)) + mc.text(l='Width:',h=18) + mc.button(l='0.5',w=25, c=lambda *args:scale('0.5:u'),h=20, bgc=red) + mc.button(l='2.0',w=25, c=lambda *args:scale('2.0:u'),h=20, bgc=red) + mc.button(l='-1.0',w=27, c=lambda *args:scale('-1.0:u'),h=20, bgc=red) + mc.floatField('scaleCustomU',pre=3, v=0.001 ,w=42,h=20) + mc.button(l='Custom',w=47, c=lambda *args:scale('custom:u'),h=20, bgc=red) + mc.setParent('..') + ### + mc.rowLayout(numberOfColumns=6,cw6=(35,25,25,30,42,47)) + mc.text(l='Height:',h=18) + mc.button(l='0.5',w=25, c=lambda *args:scale('0.5:v'),h=20,bgc=green) + mc.button(l='2.0',w=25, c=lambda *args:scale('2.0:v'),h=20,bgc=green) + mc.button(l='-1.0',w=27, c=lambda *args:scale('-1.0:v'),h=20,bgc=green) + mc.floatField('scaleCustomV',pre=3, v=0.001, w=42,h=20) + mc.button(l='Custom',w=47, c=lambda *args:scale('custom:v'),h=20,bgc=green) + mc.setParent('..') + + ## + mc.text('') + mc.text(label='Smart Rotate: Maintain width/height ratio') + mc.rowLayout(numberOfColumns=3,cw3=(34,89,89)) + mc.intField('rot_deg',min=0,max=360,v=90,w=34) + mc.button('CW_BTN', label='Rotate CW',w=87, c=lambda *args:(smartRotate(-1))) + mc.button('CCW_BTN',label='Rotate CCW',w=89, c=lambda *args:(smartRotate(1))) + mc.setParent('..') + #mc.text(align='left',label=' (Rotates with width/height ratio correction)') + ## + mc.setParent('..') + mc.setParent('..') + return + +#----------------# +# RATIO UI # +#----------------# +def ui_Ratio(): + global mult + RS = RatioSampler() + + def ratioHelp(*args): + help =['This tool will scale your selected shells as close as possible to \nthe desired pixel density. Accuracy will vary depending on the \namount of distortion to your UVs. A new or unmodifed polyCube \nwill have no distortion and be scaled correctly.', + "Shells are scaled using the Unfold tool's -scale flag. \nThe output value is simply the number parsed to the \nUnfold tool, and all other options turned off"] + mc.confirmDialog(title='Set Ratio',button='Ok, whatever',message=str(help[0])+'\n\n'+str(help[1])); + return + + def sampleRatio(*args): + RS.getSource() + mc.button('SMR_BTN', e=True, enable=True) + return + + def setManRatio(*args): + RS.setRatio() + return + + def updateSourceRatio(*args): + RS.sourceRatio = mc.floatField('sampledRatioField', q=True, v=True) + print(RS.sourceRatio) + return + + def setRatio(*args): + if mc.checkBox('DTR',q=True,v=True): + resW = float(mc.text('resTextW',q=True,l=True)) + resH = float(mc.text('resTextH',q=True,l=True)) + else: + resW = float(mc.text('resTextManW',q=True,l=True)) + resH = float(mc.text('resTextManH',q=True,l=True)) + + #mult + #mult = setRatioMultiplier() + + #Define selection and convert it to uvs + selection = mc.ls(sl = True) + selection = mc.polyListComponentConversion(selection, tuv=True) + + #Find center of selection + pivot = mc.polyEvaluate(selection,bc2=True) + pu=((pivot[0][0] + pivot[0][1]) * 0.5) + pv=((pivot[1][0] + pivot[1][1]) * 0.5) + + #Correct texture/scaling ratio before rotating. + if resH != resW: + scaleV = resH/resW + mc.polyEditUV(pu=pu,pv=pv,su=0,sv=scaleV) + + mc.unfold(i=0,us=True,s=mc.floatField('ratioField',q=True,v=True)) + + #Reverse correction + scaleV = resW/resH + mc.polyEditUV(pu=pu,pv=pv,su=0,sv=scaleV) + else: + mc.unfold(i=0,us=True,s=mc.floatField('ratioField',q=True,v=True)) + + mc.select(selection,replace=True) + return + + mc.frameLayout('layout_Ratio',label='Ratio (Pixel density)',width=220,cll=True,cl=uis.collapseFrame3, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + ## + mc.rowLayout(numberOfColumns=2,cw2=(170,42)) + mc.text(label='Scale shells to desired pixel density',w=170) + mc.button(w=42,label='Help', align='right', command=ratioHelp) + mc.setParent('..') + + ##//Sampled Density Controls// + ## + s = 109,103 + mc.rowLayout(numberOfColumns=2,cw2=s) + mc.button(label='Copy Ratio', w=s[0], command=sampleRatio) + mc.button('SMR_BTN', w=s[1],label='Paste Ratio',command=setManRatio, enable=True) + mc.setParent('..') + + ## + mc.rowLayout(numberOfColumns=2,cw2=(108,106)) + mc.text(label='Custom Ratio:',w=108) + mc.floatField('sampledRatioField', pre=5, enable=True, w=106, v=0, cc=updateSourceRatio) + mc.setParent('..') + + ##//Pixel Density Controls// + ## + mc.text(label='') + s = [72,35,103] + mc.rowLayout(numberOfColumns=3,cw3=s) + mc.text('ratio_unit', w=s[0], label='Pixels per %s:' % mc.currentUnit(q=True)) + mc.intField('densityField',v=256,min=0,max=8192,w=s[1],cc=lambda *args:updateUI_SetRatio()) + mc.button(label='Set Pixel Density', w=s[2],command=setRatio) + mc.setParent('..') + + ## + mc.rowLayout(numberOfColumns=2,cw2=(108,106)) + mc.text(label='Pixel Density:',w=108) + #(ignore) + mc.floatField('ratioField',pre=5,enable=False,w=106, v=0.0009765625*(mc.intField('densityField',q=True,v=True))) + mc.setParent('..') + + ## + mc.setParent('..') + mc.setParent('..') + updateUI_SetRatio() + +#-------------------# +# MatchUV UI # +#-------------------# +def ui_MatchUV(): + def matchUVS(*args): + maxDist = uis.matchDist + def sortDist(tuple): + return tuple[1] + + def getOtherUVS(allSelected,suvs): + objects = [i.split('.')[0] for i in allSelected] + objects = [i for i in set(objects)] + uvs = mc.ls(mc.polyListComponentConversion(objects,tuv=True),fl=True) + return sorted(set.difference(set(uvs)-set(suvs))) + + ### SETUP ### + allSelected = mc.ls(sl = True) + # Create list of uvs + suvs = mc.ls(mc.polyListComponentConversion(tuv=True),sl = True,fl=True) + ouvs= getOtherUVS(allSelected,suvs) + + # Create list of positions + spos = [mc.polyEditUV(i,query=True) for i in suvs] + opos = [mc.polyEditUV(i,query=True) for i in ouvs] + + ### PERFORM ### + for i in range(len(suvs)): + withinRange = [] + for j in range(len(ouvs)): + x = spos[i][0]-opos[j][0] + y = spos[i][1]-opos[j][1] + dist = math.sqrt((x**2) + (y**2)) + if dist < maxDist: + withinRange.append((opos[j],dist)) + + withinRange = sorted(withinRange,key=sortDist) + if len(withinRange): + mc.polyEditUV(suvs[i],u=withinRange[0][0][0],v=withinRange[0][0][1],relative=False) + + uis.setUiState() + return + + def matchUVS_refresh_ui(*args): + mc.floatField(matchField, edit=True, value=mc.floatSlider(matchSlider, q=True, v=True)) + uis.matchDist = mc.floatField(matchField, query=True, value=True) + + + mc.frameLayout('layout_MatchUV',label='Match UVs',width=220,cll=True,cl=uis.collapseFrame7, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + + mc.columnLayout() + ## + mc.text(label='Snap selected UVs to closest unselected UVs') + mc.rowLayout(numberOfColumns=3,cw3=(70,60,80)) + mc.text(label="Max distance:") + matchField = mc.floatField(pre=5,v=uis.matchDist,w=50) + matchSlider = mc.floatSlider(min=0.0,max=1.0,value=uis.matchDist,w=82,dc=matchUVS_refresh_ui) + mc.setParent('..') + mc.button(width=80,label='Match UVs', command=matchUVS) + mc.setParent('..') + mc.setParent('..') + return + +#-------------------# +# Straighten UI # +#-------------------# + +def ui_Straighten(): + def help(*args): + help =['This script will flatten edges based on the initial angle of each edge.\nWhat that means is, if an edge is closer to being more vertical than \nhorizontal it can only be flattened vertically, or vice versa.', + 'So before the script flattens anything, it sorts all edges into two lists\nof horizontal and vertical before it decides which lists to flatten.'] + mc.confirmDialog(title='Straighten Edges',button='Got it!',message=help[0]+'\n\n'+help[1]) + return + ## UI ## + + mc.frameLayout('layout_Straighten',label='Straighten Edges',width=220,cll=True,cl=uis.collapseFrame4, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + ## + mc.rowLayout(numberOfColumns=2,cw2=(170,33)) + mc.text(label='Straighten based on UV selection') + mc.button(w=33,label='Info',align='right',c=help) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=3,cw3=(82,35,100)) + mc.text(label='Angle tolerance:',align='left',w=82) + mc.floatField('angleField',min=0,max=45,value=30,pre=1,w=35,cc=lambda *args:updateUI('angle:field')) + mc.floatSlider('angleSlider',min=0,max=45,value=30,w=82,dc=lambda *args:updateUI('angle:slider')) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=3,cw3=(71,71,71)) + mc.button(label='Horizontal',w=71, h=20, c=lambda *args:(straightenEdges('hori')), bgc=green) + mc.button(label='Vertical',w=71, h=20, c=lambda *args:(straightenEdges('vert')), bgc=red) + mc.button(label='Both',w=71, h=20, c=lambda *args:(straightenEdges('both')), bgc=yellow) + mc.setParent('..') + ## + mc.setParent('..') + mc.setParent('..') + +#-------------------# +# Align Tools UI # +#-------------------# + +def ui_Align(): + + mc.frameLayout('layout_Align',label='Align Tools',width=220,cll=True,cl=uis.collapseFrame5, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + ## + mc.rowLayout(numberOfColumns=2,cw2=(137,77)) + mc.text(align='left',label='Straighten shells by rotation:',w=137) + mc.button(label='Rotate Align',w=77, c=lambda *args:(align('--shell'))) + mc.setParent('..') + ## + ## + mc.text(label='Align Selected Shells:') + mc.rowLayout(numberOfColumns=4,cw4=(52,52,52,52)) + mc.button(label='Top', w=52, c=lambda *args:alignShells("up"), h=20, bgc=green) + mc.button(label='Bottom', w=52, c=lambda *args:alignShells("down"), h=20, bgc=green) + mc.button(label='Left', w=52, c=lambda *args:alignShells("left"), h=20, bgc=red) + mc.button(label='Right', w=52, c=lambda *args:alignShells("right"), h=20, bgc=red) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=2,cw2=(106,106)) + mc.button(label='Center Vertical', w=106, c=lambda *args:alignShells("centerV"), h=20, bgc=green) + mc.button(label='Center Horizontal', w=106, c=lambda *args:alignShells("centerH"), h=20, bgc=red) + mc.setParent('..') + ## + mc.rowLayout(numberOfColumns=1, w=212) + mc.button(label='Move Shells to 0-1 Space', w=212, c= gatherShells, h=20, bgc=yellow) + mc.setParent('..') + ## + mc.setParent('..') + mc.setParent('..') + return + +#-----------------------# +# SELECTION SETS # +#-----------------------# + +def ui_SelectionSet(): + selectionSlots = ['none','none','none','none','none','none'] + + colorBlank = [0.3,0.3,0.3] + uColor = [0.584314,0.772549,0.0] + vColor = [0.913725,0.878431,0.0] + eColor = [0.870588,0.643137,0.117647] + oColor = [0.152941,0.729412,0.447059] + fColor = [0.478431,0.227451,0.227451] + + def storeLoadSelection(slot): + #Store selection if button is blank.. + slotLabel = mc.button("slotButton%i" % slot,q=True,label=True) + if slotLabel == '': + sel = mc.ls(sl = True) + if len(sel): + selectionSlots[slot-1] = sel + + #fluff + try: + type = mc.ls(sl = True,fl=True)[0].split('.')[1] + type = type.split('[')[0] + except: + type = '' + + if type == 'map': + color = uColor + elif type == 'e': + color = eColor + elif type == 'vtx' or type == 'vtxFace': + color = vColor + elif type == 'f': + color = fColor + else: + color = oColor + + mc.button("slotButton%i" % slot,edit=True,label='%i' % len(mc.ls(sl = True,fl=True)),bgc=color) + #..load selection if not + else: + mc.select(selectionSlots[slot-1],replace=True) + + def clearSlot(slot): + mc.button("slotButton%i" % slot,edit=True,label='',bgc=colorBlank) + + mc.frameLayout('layout_SelectionSets',label='Selections',width=220,cll=True,cl=uis.collapseFrame8, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + mc.button("selectBorderEdges", label='Select Shell Border Edges', w=214, c=lambda *args: selectShellBorderEdges()) + mc.text(l=' Store selections') + mc.rowLayout(numberOfColumns=6) + mc.button("slotButton1", label='', w=49, c=lambda *args: storeLoadSelection(1), bgc=colorBlank) + mc.iconTextButton("slotTrash1",style="iconOnly", ann="Clear Slot 1", image="SP_TrashIcon.png", c=lambda *args: clearSlot(1)) + mc.button("slotButton2", label='', w=49, c=lambda *args: storeLoadSelection(2), bgc=colorBlank) + mc.iconTextButton("slotTrash2",style="iconOnly", ann="Clear Slot 2", image="SP_TrashIcon.png", c=lambda *args: clearSlot(2)) + mc.button("slotButton3", label='', w=49, c=lambda *args: storeLoadSelection(3), bgc=colorBlank) + mc.iconTextButton("slotTrash3",style="iconOnly", ann="Clear Slot 3", image="SP_TrashIcon.png", c=lambda *args: clearSlot(3)) + mc.setParent('..') + mc.rowLayout(numberOfColumns=6) + mc.button("slotButton4", label='', w=49, c=lambda *args: storeLoadSelection(4), bgc=colorBlank) + mc.iconTextButton("slotTrash4",style="iconOnly", ann="Clear Slot 4", image="SP_TrashIcon.png", c=lambda *args: clearSlot(4)) + mc.button("slotButton5" ,label='', w=49, c=lambda *args: storeLoadSelection(5), bgc=colorBlank) + mc.iconTextButton("slotTrash5",style="iconOnly", ann="Clear Slot 5", image="SP_TrashIcon.png", c=lambda *args: clearSlot(5)) + mc.button("slotButton6",label='', w=49, c=lambda *args: storeLoadSelection(6), bgc=colorBlank) + mc.iconTextButton("slotTrash6",style="iconOnly", ann="Clear Slot 6", image="SP_TrashIcon.png", c=lambda *args: clearSlot(6)) + mc.setParent('..') + mc.setParent('..') + mc.setParent('..') + +#--------------------# +# Quck UvSnapshot UI # +#--------------------# +def ui_QuickSnap(): + #path = os.path.expanduser('~') + #path = os.getenv('USERPROFILE') or os.getenv('HOME') + path = uis.snapPath + + def performQuicksnap(): + # options # + resolution = getWorkingResolution() + width = resolution[0] + height = resolution[1] + + if mc.checkBox ('doubleRes', query=True, value=True): + width *= 2 + height *= 2 + autoLoad = mc.checkBox ('autoLoad', query=True, value=True) + antiAlias = mc.checkBox ('antiAliasing', query=True, value=True) + + fileName = 'outUV' + format = mc.optionMenuGrp('fileFormat', query=True, value=True) + filePath = mc.textField('pathField',query=True,text=True) + '/' + fileName + '.' + format + uis.setUiState() + + # # # Perform # # # + mc.uvSnapshot(name=filePath,xr=width,yr=height,o=True,aa=antiAlias,ff=format) + + if autoLoad: + os.startfile(filePath) + + mc.frameLayout('layout_QuickSnap',label='Quick UV Snapshot',width=220,cll=True,cl=uis.collapseFrame6, + cc=lambda *args:uis.setUiState(), + ec=lambda *args:uis.setUiState()) + mc.columnLayout() + ## + mc.text(align='left',label='Create UV Snapshot for selected objects') + ## + mc.rowLayout(numberOfColumns=3,cw3=(65,65,70)) + mc.checkBox ('autoLoad',label='Open file',value=True) + mc.checkBox ('antiAliasing',label='Anti Alias',value=True) + mc.checkBox ('doubleRes',label='Double Size',value=False) + mc.setParent('..') + ## + #mc.text(label="Output directory:") + mc.textField("pathField",text=path,width=214) + ## + mc.rowLayout(numberOfColumns=2,cw2=(89,122)) + mc.optionMenuGrp('fileFormat',label="Format:",cat=[1,'left',0],cw2=[40,48]) + mc.button(label='Save snapshot',w=119, c=lambda *args:performQuicksnap()) + mc.menuItem(label='tga') + mc.menuItem(label='tif') + mc.menuItem(label='png') + mc.setParent('..') + ## + mc.setParent('..') + mc.setParent('..') + +#####////////////////////////////////##### +##### ##### +##### CLASSES ##### +##### ##### +#####////////////////////////////////##### + +class RatioSampler: + def __init__(self): + self.sourceArea = None + self.sourceUVArea = None + self.sourceRatio = None + def getSource(self): + if not len(pm.ls(sl=True)): return + self.sourceArea = self.__getAreaAverage() + self.sourceUVArea = self.__getUVAreaAverage() + self.sourceRatio = self.sourceArea/self.sourceUVArea + + mc.floatField('sampledRatioField', edit=True, v=self.sourceRatio) + return + + def setRatio(self): + selected = UVClass() + selected.getShells() + + for shell in selected.shells: + pm.select(shell.uvs) + targetArea = self.__getAreaAverage() + targetUVArea = self.__getUVAreaAverage() + targetRatio = targetArea/targetUVArea + + ratio = (targetRatio/self.sourceRatio)**0.5 + pivot = shell.getPivot() + + pm.polyMoveUV(s=[ratio, ratio], pvt=[pivot[0], pivot[1]], ch=False) + return + + def __getAreaAverage(self): + """ + Returns the average area of the selected faces (or corresponding faces). + The script pretends that the user is working in cm, or else the math doesn't work: + A 1x1cm plane will return an area of 1, and a 1x1m plane will return an area of 10000, + so the area of objects in meter will be multiplied by 0.0001 + """ + sel = pm.ls(sl=True) + + faces = pm.ls(pm.polyListComponentConversion(sel, tf=True), fl=True) + + # Get multiplier + unit = pm.currentUnit(q=True, f=True) + mult = 1.0 + if not unit == 'centimeter': + if unit == 'meter': + mult = 0.0001 + elif unit == 'millimeter': + mult = 1000 + + # Get area of faces + areas = [f.getArea(space='world') for f in faces] + sum = 0 + for a in areas: + sum += a * mult + + print("Face Area: ", sum/len(areas)) + return sum/len(areas) + + def __getUVAreaAverage(self): + """ + Returns the average area of the selected UVs. + """ + sel = pm.ls(sl=True) + + faces = pm.ls(pm.polyListComponentConversion(sel, tf=True), fl=True) + + #Get area of UV Faces + UVAreas = [f.getUVArea() for f in faces] + sum = 0 + for a in UVAreas: + sum += a + + print("UV Area: ", sum/len(UVAreas)) + return sum/len(UVAreas) + +class UVClass: + def __init__(self, uvs = "selection"): + #Set self.uvs from a list of uvs or automatically + if uvs == "selection": #No list was sent + self.uvs = mc.ls(mc.polyListComponentConversion(tuv=True),fl=True) + else: self.uvs = uvs + + self.type = "standard" + self.shells = [] + self.borderEdges = [] + + def setMinMax(self): + xPositions = sorted([mc.polyEditUV(i, query=True)[0] for i in self.uvs]) + yPositions = sorted([mc.polyEditUV(i, query=True)[1] for i in self.uvs]) + + self.minMax = (xPositions[0],xPositions[-1]),(yPositions[0],yPositions[-1]) + self.xMin = self.minMax[0][0] + self.xMax = self.minMax[0][1] + self.yMin = self.minMax[1][0] + self.yMax = self.minMax[1][1] + + def getPivot(self): + pivot = mc.polyEvaluate(self.uvs,bc2=True) + pivU = ((pivot[0][0] + pivot[0][1]) * 0.5) + pivV = ((pivot[1][0] + pivot[1][1]) * 0.5) + return pivU,pivV + + def getShells(self): + """ This creates a list object (shells) within the class containing a UVClass per shell found""" + if len(self.shells): #No need to do this twice + if self.type == "shell": + print("Class is already of shell type. This function call is redundant") + return + + currentSelection = mc.ls(sl = True) + self.shells = [] + for uv in self.uvs: + found = False + for shell in self.shells: + if uv in shell.uvs: + found = True + if not found: + mc.select(uv) + mel.eval('polySelectBorderShell 0;') + thisShell = UVClass() + thisShell.type = "shell" + thisShell.setMinMax() + + self.shells.append(thisShell) + + mc.select(currentSelection) +#####///////////////////////////////////////##### +##### ##### +##### SHARED PROCEDURES ##### +##### ##### +#####///////////////////////////////////////##### +""" +def selectShellBorderEdges(): + from borders import BorderEdges + selected = UVClass() + selected.getShells() + + edges = BorderEdges(selected.shells) + + mc.select(edges) + return +""" +def selectShellBorderEdges(): + selected = UVClass() + selected.getShells() + finalEdges = [] + + for shell in selected.shells: + + #Get border UVs for first uv in shell + mc.select(shell.uvs[0]) + mel.eval('polySelectBorderShell 1;') + + #Get this shell's BORDER UVS + buvs = mc.ls(sl=True,fl=True) + + #List edges that are connected to uv border + relatedEdges = pm.ls(pm.polyListComponentConversion(te=True),fl=True) + print(relatedEdges) + for edge in relatedEdges: + + # UVClass uses cmds and not pymel, so we need to use it here as well when comparing names + # mc.ls > pCube1.map[0]... + # pm.ls > pCube1Shape1[0] + + #Get CONNECTED UVS + cuvs = mc.ls(pm.polyListComponentConversion(edge, tuv=True),fl=True) + + matches = 0 + for uv in cuvs: + if uv in buvs: matches +=1 + + if matches > 1: + #Converting to string because of weird error: Problem with the API object returned by __apiobject__ method + + matchEdgeFaces = pm.ls(edge.connectedFaces(),fl=True) + if edge.isOnBoundary(): + #Border edge is auto accept + finalEdges.append(str(edge)) + else: + if len(matchEdgeFaces) > 1: + #A triangulated face may have an edge that's not the shell border but both uvs are. + #Here we look to see if both faces connected to that edge are within the uv shell. + #if they are, we discard that edge. + + """ Working on it + facesInShell = 0 + for f in matchEdgeFaces: + fuvs = mc.ls(pm.polyListComponentConversion(matchEdgeFaces, tuv=True),fl=True) + if fuvs[0] in shell.uvs: + print f, "is in shell." + facesInShell +=1 + else: print f, "NOT in shell" + + if facesInShell == 2: + finalEdges.append(str(edge)) + """ + # Partial sollution + mefUVS = mc.ls(pm.polyListComponentConversion(matchEdgeFaces, tuv=True),fl=True) + blab = 0 + for uv in mefUVS: + if uv in buvs: blab += 1 + + if blab < len(mefUVS): + finalEdges.append(str(edge)) + #SELECT! + mc.select(finalEdges) + +def gatherShells(*args): + selected = UVClass() + selected.getShells() + + for shell in selected.shells: + x_center = (shell.xMin + shell.xMax)/2.0 + y_center = (shell.yMin + shell.yMax)/2.0 + if x_center > 1: + mc.polyEditUV(shell.uvs, u= -int(x_center),v=0) + if x_center < 0: + mc.polyEditUV(shell.uvs, u= -int(x_center) + 1,v=0) + if y_center > 1: + mc.polyEditUV(shell.uvs, u= 0, v= -int(y_center)) + if y_center < 0: + mc.polyEditUV(shell.uvs, u= 0, v= -int(y_center) + 1) + return + +def alignShells(dir): + selected = UVClass() + selected.getShells() + + shellsUVs = [] + for shell in selected.shells: + for uv in shell.uvs: + shellsUVs.append(uv) + + allUVs = UVClass(shellsUVs) + allUVs.setMinMax() + + #Move shells + for shell in selected.shells: + if dir == "right": + mc.polyEditUV(shell.uvs, u= allUVs.xMax - shell.xMax) + elif dir == "left": + mc.polyEditUV(shell.uvs, u= allUVs.xMin - shell.xMin) + elif dir == "centerH": + mc.polyEditUV(shell.uvs, u = (allUVs.xMin+allUVs.xMax)/2 - (shell.xMax + shell.xMin)/2) + elif dir == "up": + mc.polyEditUV(shell.uvs, v= allUVs.yMax - shell.yMax) + elif dir == "down": + mc.polyEditUV(shell.uvs, v= allUVs.yMin - shell.yMin) + elif dir == "centerV": + mc.polyEditUV(shell.uvs, v = (allUVs.yMin+allUVs.yMax)/2 - (shell.yMax + shell.yMin)/2) + return + +def align(flag,*args): #Rotate align shell(s) + orgSel = UVClass() + orgSel.getShells() + + alignPoints = [] + if len(orgSel.uvs) < 2: + mel.eval('warning("Select at least two uvs!")') + return + + for shell in orgSel.shells: + #Rotations can be unexpected if more than two uvs per shell were selected + #This is often because orgSel is not in the same order as uvs were selected + uvPositions = {} + for uv in orgSel.uvs: + if uv in shell.uvs and uv not in uvPositions.keys(): + uvPositions[len(uvPositions.items())] = uv + + if len(uvPositions) >= 2: + angle = findAngle(( uvPositions.get(0), uvPositions.get(1) )) + pivot = shell.getPivot() + pu = pivot[0] + pv = pivot[1] + + #Align to hoizontal + if angle >-45 and angle < 45: + mc.polyEditUV (shell.uvs, pu=pu,pv=pv,angle=(0 - angle)) + elif angle >135 and angle < 180: + mc.polyEditUV (shell.uvs, pu=pu,pv=pv,angle=(180 - angle)) + elif angle >-180 and angle <-135: + mc.polyEditUV (shell.uvs, pu=pu,pv=pv,angle=(180 - angle)) + + #Align to vertical + if angle >45 and angle <135: + mc.polyEditUV (shell.uvs, pu=pu,pv=pv,angle=(90 - angle)) + elif angle <-45 and angle >-135: + mc.polyEditUV (shell.uvs, pu=pu,pv=pv,angle=(270 - angle)) + return + +def findAngle(tuple): + #Returns angle of two UV points + uv0 = tuple[0] + uv1 = tuple[1] + p1 = mc.polyEditUV(uv0,q=True) + p2 = mc.polyEditUV(uv1,q=True) + X = (p2[0] - p1[0]) + Y = (p2[1] - p1[1]) + + radians = math.atan2(Y,X) + angle = radians*57.2957795 + + return angle + +def findBox2D(uvs): + xMin = mc.polyEditUV(uvs[0],query=True)[0] + xMax = mc.polyEditUV(uvs[0],query=True)[0] + yMin = mc.polyEditUV(uvs[0],query=True)[1] + yMax = mc.polyEditUV(uvs[0],query=True)[1] + + for u in uvs: + posX = mc.polyEditUV(u,query=True)[0] + posY = mc.polyEditUV(u,query=True)[1] + + if posX > xMax: xMax = posX + elif posX < xMin: xMin = posX + if posY > yMax: yMax = posY + elif posY < yMin: yMin = posY + + return (xMin,xMax), (yMin,yMax) + +def getFileResolution(): + texWinName = mc.getPanel(sty='polyTexturePlacementPanel') + availableImages = mc.textureWindow(texWinName[0], q=True, imn=True) + if availableImages: + currentImage = availableImages[mc.textureWindow(texWinName[0], q=True, imageNumber=True)] + currentImage = currentImage.split()[-1] + + #Find currently used image + if 'outSizeX' in mc.listAttr(currentImage): + x = mc.getAttr(currentImage + '.outSizeX') + y = mc.getAttr(currentImage + '.outSizeY') + return int(x), int(y) + else: return None + +def getWorkingResolution(): + """ + Returns the active "working" resolution, based on whether or not the user + has set UVDeluxe to to manual or automatic texture resolution detection. + """ + checkbox = mc.checkBox('DTR',q=True,v=True) + if checkbox: + resW = float(mc.text('resTextW',q=True,l=True)) + resH = float(mc.text('resTextH',q=True,l=True)) + else: + resW = float(mc.text('resTextManW',q=True,l=True)) + resH = float(mc.text('resTextManH',q=True,l=True)) + + return resW, resH + +def setRatioMultiplier(): + """ + Get the correct multiplier for the pixel ratio calculation. + """ + resolution = getWorkingResolution() + resW = resolution[0] + resH = resolution[1] + + # resH = float(mc.text('resTextH',q=True,l=True)) + if resW > 0: + unit = mc.currentUnit(query=True,f=True) + global mult + mult = 1 + if not unit == 'centimeter': + if unit == 'meter': + mult = 0.01 + elif unit == 'millimeter': + mult = 10 + else: + mc.confirmDialog(title='Sorry!',button='ok',message='UVDeluxe\'s Set Ratio does work with unit type: %s\nPlease work in meters, centimeters or millimeters' % unit); + #mc.error('Script not configured for unit %s' % unit) + + mult = (mult*(8192/resW))/8 + return mult + else: + return 0 + +def straightenEdges(flag): + def findAdjacentEdges(gotEdges): + ## Accepts list of tuples size 2 ## + adjacentEdges = {} + + ##STEP ONE## + #Create list of all UVs in gotEdges + everyUV = [] + for e in range(0,len(gotEdges),1): + for u in range(0,len(gotEdges[e]),1): + if not gotEdges[e][u] in everyUV: + everyUV.append(gotEdges[e][u]) + + #Check which uvs are in more than one edge, and store those edge connections. + pairs = [] + loneEdges = [] + for u in range(0,len(everyUV),1): + #Clear list of found edges for this uv + foundE = [] + for e in range(0,len(gotEdges),1): + if everyUV[u] in gotEdges[e]: + foundE.append(gotEdges[e]) + + #Put edges into appropriate list, right before the loop iteration ends. + if e==len(gotEdges)-1: + if len(foundE) == 2 and not foundE in pairs: pairs.append(foundE) + elif len(foundE) == 1 and not foundE in loneEdges: + loneEdges.append(foundE) + + #Remove pair-ends that got put into loneEdges + for l in range(len(loneEdges)-1,-1,-1): + found = [] + for p in range(0,len(pairs),1): + if loneEdges[l][0] in pairs[p]: + found.append(l) + for f in range(0,len(found),1): + loneEdges.pop(found[f]) + + ## STEP TWO ## + incomplete = True + addNewPair = False + unsortedPairs = pairs[:] + keysComplete = [] + + if len(pairs): + while incomplete: + keysSkipped = 0 + + if len(unsortedPairs): + ### print "\nAdding new key!" + adjacentEdges[len(adjacentEdges)] = unsortedPairs[0] + + for key in adjacentEdges.keys(): + ### print "\nNow checking Key %d" % key + if key not in keysComplete: + #Pop first pair key from unsortet. + popPairs = [] + deletePair = [] + for p in unsortedPairs: + if p == adjacentEdges[key]: + deletePair.append(p) + for p in deletePair: + unsortedPairs.remove(p) + + addingToKey = True + while addingToKey: + uvs_inKey = [] + for pair in adjacentEdges.get(key): + for uv in pair: + uvs_inKey.append(uv) + + popPairs = [] + pairsToAdd = [] + for p in range(0,len(unsortedPairs),1): + for uv in uvs_inKey: + #Check if either edge of pair contains key-uv + if uv in unsortedPairs[p][0] or uv in unsortedPairs[p][1]: + pairsToAdd.append(unsortedPairs[p]) + + #Add pairs to key and remove from list of unsorted pairs + for pair in pairsToAdd: + adjacentEdges[key] += pair + adjacentEdges[key] = sorted(list(set(adjacentEdges[key]))) + if pair in unsortedPairs: + unsortedPairs.remove(pair) + + #Break loop when nothing more to add + if not len(pairsToAdd): + addingToKey = False + keysComplete.append(key) + + else: + #Break loop when all keys are complete + keysSkipped += 1 + if keysSkipped == len(adjacentEdges): + incomplete = False + + #Assign key to every single edge left + for e in loneEdges: + adjacentEdges[len(adjacentEdges)] = e + + #Restructure keys from list of tuples to list of uvs + for key in adjacentEdges.keys(): + uvs_inKey = [] + for tuple in adjacentEdges[key]: + uvs_inKey.append(tuple[0]) + uvs_inKey.append(tuple[1]) + + #Replace list with new list + adjacentEdges[key] = sorted(list(set(uvs_inKey))) + + return adjacentEdges + + max_angle = mc.floatField('angleField', query=True, value=True) + + orgSel = mc.ls(sl = True) + edges = createEdgeList() + + #Sort edges by horizontal and vertical + sortedEdges = sortEdges(edges,max_angle) + + #Determin method of straightening + ## Horizontal + if not flag == 'vert': + hz_edges = findAdjacentEdges(sortedEdges[0]) + + for key in hz_edges.keys(): + box = findBox2D(hz_edges[key]) + centerV=((box[1][0] + box [1][1]) * 0.5) + mc.polyEditUV(hz_edges[key],v=centerV,relative=False) + + ## Vertical + if not flag == 'hori': + vt_edges = findAdjacentEdges(sortedEdges[1]) + + for key in vt_edges.keys(): + box = findBox2D(vt_edges[key]) + centerU=((box[0][0] + box[0][1]) * 0.5) + mc.polyEditUV(vt_edges[key],u=centerU,relative=False) + return + +def createEdgeList(): + def addToEdges(uv0, uv1): + uvTup1 = (uv0,uv1) + uvTup2 = (uv1,uv0) + if not uvTup1 in edges.values() and not uvTup2 in edges.values(): + edges[len(edges)] = uvTup1 + return + + edges = { } + orgSel = mc.ls(sl = True, fl=True) + + ##################### + #Build list of edges + if len(orgSel): + for u in range(0,len(orgSel),1): + uv1 = orgSel[u] + uvToEdge = mc.ls(mc.polyListComponentConversion(orgSel[u], fuv=True, te=True), fl=True) + + #Get uvs in convertToFace selection + faces = mc.ls(mc.polyListComponentConversion(orgSel[u], fuv=True, tf=True), fl=True) + uvGrowSel = [] + for f in faces: + uv = mc.ls(mc.polyListComponentConversion(f, ff=True, tuv=True), fl=True) + for point in uv: + if not point in uvGrowSel: + uvGrowSel.append(point) + + #Check if there is a connection between point 1 and points in grow selection. + for g in uvGrowSel: + e1 = mc.ls(mc.polyListComponentConversion(uv1, fuv=True, te=True), fl=True) + e2 = mc.ls(mc.polyListComponentConversion(g, fuv=True, te=True), fl=True) + se = list(set(e1) & set(e2)) + if len(se): + #There is + ed = mc.ls(mc.polyListComponentConversion(se[0], fe=True, tuv=True), fl=True) + keepUVs = [] + for e in range(len(ed)): + if ed[e] in uvGrowSel and ed[e] in orgSel: + keepUVs.append(ed[e]) + if len(keepUVs) == 2: + addToEdges(keepUVs[0], keepUVs[1]) + + return edges + +def sortEdges(edges, max_angle): + hz_edges = {} + vt_edges = {} + for e in edges: + if not e in hz_edges.values() and not e in vt_edges.values(): + angle = findAngle(edges[e]) + #if not uvTup1 in edges.values() and not uvTup2 in edges.values(): edges[len(edges)] = uvTup1 + if angle < 0: + angle = angle*-1 + #hoizontal + if angle < 45 and angle >= 0: + if angle < max_angle: + hz_edges[len(hz_edges)] = edges[e] + elif angle >= 135 and angle < 180: + if angle > 180-max_angle: + hz_edges[len(hz_edges)] = edges[e] + #vertical + elif angle < 135 and angle >= 45: + if angle < 90 and angle > 90-max_angle: + vt_edges[len(vt_edges)] = edges[e] + elif angle > 90 and angle < 90+max_angle: + vt_edges[len(vt_edges)] = edges[e] + return hz_edges,vt_edges diff --git a/Scripts/Modeling/UV/UVSetEditor.py b/Scripts/Modeling/UV/UVSetEditor.py new file mode 100644 index 0000000..4b9edc9 --- /dev/null +++ b/Scripts/Modeling/UV/UVSetEditor.py @@ -0,0 +1,215 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import maya.cmds as cmds + +# Define minimum window width and height +MIN_WINDOW_WIDTH = 300 # Increased from 200 to 300 +MIN_WINDOW_HEIGHT = 300 + +# Function: Get and display UV sets +def refresh_uv_sets(): + selection = cmds.ls(selection=True) + if not selection: + cmds.warning("Please select an object first.") + return + + selected_object = selection[0] + uv_sets = cmds.polyUVSet(selected_object, query=True, allUVSets=True) + cmds.textScrollList('uvList', edit=True, removeAll=True) + for uv_set in uv_sets: + cmds.textScrollList('uvList', edit=True, append=uv_set) + +# Function: Switch UV set +def switch_uv_set(*args): + selected_uv_set = cmds.textScrollList('uvList', query=True, selectItem=True) + if selected_uv_set: + selected_object = cmds.ls(selection=True) + if selected_object: + selected_object = selected_object[0] + # Switch current UV set + cmds.polyUVSet(selected_object, currentUVSet=True, uvSet=selected_uv_set[0]) + print(f"Switched to UV set: {selected_uv_set[0]}") + else: + cmds.warning("Please select an object.") + else: + cmds.warning("Please select a UV set.") + +# Function: Delete selected UV set +def delete_selected_uv_set(): + selected_uv_set = cmds.textScrollList('uvList', query=True, selectItem=True) + if selected_uv_set: + cmds.polyUVSet(delete=True, uvSet=selected_uv_set[0]) + refresh_uv_sets() + +# Function: Rename selected UV set +def rename_selected_uv_set(new_name): + selected_uv_set = cmds.textScrollList('uvList', query=True, selectItem=True) + if selected_uv_set: + if new_name: + cmds.polyUVSet(rename=True, newUVSet=new_name, uvSet=selected_uv_set[0]) + refresh_uv_sets() + cmds.textFieldGrp('newNameField', edit=True, text='') # Clear input field content + else: + cmds.warning("Please enter a new name.") + else: + cmds.warning("Please select a UV set first.") + +# Function: Create new UV set +def create_new_uv_set(new_name): + if new_name: + cmds.polyUVSet(create=True, uvSet=new_name) + refresh_uv_sets() + cmds.textFieldGrp('newNameField', edit=True, text='') # Clear input field content + else: + cmds.warning("Please enter a name for the new UV set.") + +# Function: Set UV set 1 name +def set_uv_set1_name(*args): + selected_uv_set = cmds.textScrollList('uvList', query=True, selectItem=True) + if selected_uv_set: + cmds.textFieldGrp("uvSet1", edit=True, text=selected_uv_set[0]) + else: + cmds.warning("Please select a UV set first.") + +# Function: Set UV set 2 name +def set_uv_set2_name(*args): + selected_uv_set = cmds.textScrollList('uvList', query=True, selectItem=True) + if selected_uv_set: + cmds.textFieldGrp("uvSet2", edit=True, text=selected_uv_set[0]) + else: + cmds.warning("Please select a UV set first.") + +# Function: UV set swap +def UVsetSwap(*args): + UVname1 = cmds.textFieldGrp("uvSet1", query=True, text=True) + UVname2 = cmds.textFieldGrp("uvSet2", query=True, text=True) + cmds.polyUVSet(query=True, allUVSets=True) + cmds.polyUVSet(create=True, uvSet='TempUV') + cmds.polyUVSet(copy=True, nuv='TempUV', uvSet=UVname1) + cmds.polyUVSet(copy=True, nuv=UVname1, uvSet=UVname2) + cmds.polyUVSet(copy=True, nuv=UVname2, uvSet='TempUV') + cmds.polyUVSet(delete=True, uvSet='TempUV') + refresh_uv_sets() # Refresh list after execution + +def UVsetReorder(*args): + UVname1 = cmds.textFieldGrp("uvSet1", query=True, text=True) + UVname2 = cmds.textFieldGrp("uvSet2", query=True, text=True) + print("Reorder object is " + UVname1 + " + " + UVname2) + cmds.polyUVSet(reorder=True, uvSet=UVname1, newUVSet=UVname2) + UVobj = cmds.ls(sl=True) + cmds.select(UVobj) + refresh_uv_sets() # Refresh list after execution + +# Function: UV set transfer +def get_object_name(*args): + # Get currently selected object and fill its name in the text field + selected = cmds.ls(sl=True) + if selected: + cmds.textField('objectNameField', edit=True, text=selected[0]) + else: + cmds.warning("No object selected.") + +def set_uv(*args): + # Get source and target objects, perform UV transfer, and clean up history + source_object = cmds.textField('objectNameField', query=True, text=True) + target_object = cmds.ls(sl=True) + if not source_object or not target_object: + cmds.warning("Please ensure both source and target objects are selected.") + return + target_object = target_object[0] + sample_space_dict = {'World': 0, 'Local': 1, 'UV': 5, 'Component': 4} + sample_space = cmds.radioCollection('sampleSpaceRadio', query=True, select=True) + sample_space = cmds.radioButton(sample_space, query=True, label=True) + sample_space = sample_space_dict.get(sample_space, 0) + cmds.transferAttributes(source_object, target_object, transferPositions=0, transferNormals=0, transferUVs=2, transferColors=0, sampleSpace=sample_space, searchMethod=3) + cmds.delete(target_object, constructionHistory=True) # Clean up history + +def on_window_resize(*args): + window_name = "UVSetEditor" + # Get current window size + current_width = cmds.window(window_name, query=True, width=True) + current_height = cmds.window(window_name, query=True, height=True) + + # Check and limit window size + if current_width < MIN_WINDOW_WIDTH: + cmds.window(window_name, edit=True, width=MIN_WINDOW_WIDTH) + if current_height < MIN_WINDOW_HEIGHT: + cmds.window(window_name, edit=True, height=MIN_WINDOW_HEIGHT) + +def show(*args): + window_name = "UVSetEditor" + # Check if window exists, if so, delete it + if cmds.window(window_name, exists=True): + cmds.deleteUI('UV Set Editor', window=True) + # Window + # Create a new window and set its title and initial size + window = cmds.window(window_name, title=" UV Set Editor", widthHeight=(MIN_WINDOW_WIDTH, MIN_WINDOW_HEIGHT), sizeable=True, tlb=True) # tlb=True + + cmds.frameLayout(label='UV-Set') + cmds.columnLayout(adjustableColumn=True) + # Create a textScrollList control and set the selection change command + cmds.textScrollList('uvList', numberOfRows=8, allowMultiSelection=False, width=280, selectCommand=switch_uv_set) + cmds.textFieldGrp('newNameField', placeholderText=' Enter new name, then click Re to rename', width=280, columnAlign=[1, 'center'] ,columnWidth=[1,280]) + cmds.rowLayout(numberOfColumns=4, + columnWidth4=(65, 65, 65, 65), + columnAttach4=('both', 'both', 'both', 'both')) + cmds.button( label='Get', height=32, command=lambda x: refresh_uv_sets(),backgroundColor=(0.53, 0.81, 0.98)) + cmds.button( label='Del', height=32, command=lambda x: delete_selected_uv_set()) + cmds.button( label='New', height=32, command=lambda x: create_new_uv_set(cmds.textFieldGrp('newNameField', query=True, text=True))) + cmds.button( label='Re', height=32, command=lambda x: rename_selected_uv_set(cmds.textFieldGrp('newNameField', query=True, text=True))) + cmds.setParent( '..' ) + + cmds.setParent('..') # End current form layout + + cmds.frameLayout(label='UV-Swap') + cmds.columnLayout(adjustableColumn=True, width=280) + cmds.text(l='Enter UV set names in "uv1" and "uv2"', h=15) + cmds.text(l=' UV swap or reorder swap. ', h=15) + cmds.text(l='', h=5) + cmds.rowLayout(numberOfColumns=3, columnWidth3=(65, 65, 130), columnAttach3=('both', 'both', 'both')) + cmds.button(label='Get', height=25, command=set_uv_set1_name, backgroundColor=(0.53, 0.81, 0.98)) + cmds.textFieldGrp("uvSet1", placeholderText='uv1', editable=True, width=200) + cmds.setParent('..') + cmds.rowLayout(numberOfColumns=3, columnWidth3=(65, 65, 130), columnAttach3=('both', 'both', 'both')) + cmds.button(label='Get', height=25, command=set_uv_set2_name, backgroundColor=(0.53, 0.81, 0.98)) + cmds.textFieldGrp("uvSet2", placeholderText='uv2', editable=True, width=200) + cmds.setParent('..') + cmds.rowColumnLayout(numberOfColumns=2, columnWidth=[(1, 135), (2, 135)]) + cmds.button(label='UV Swap', command=UVsetSwap, backgroundColor=(0.53, 0.81, 0.98)) + cmds.button(label='Reorder Swap', command=UVsetReorder, backgroundColor=(0.53, 0.81, 0.98)) + + UVname1 = cmds.textFieldGrp("uvSet1", query=True, text=True) + UVname2 = cmds.textFieldGrp("uvSet2", query=True, text=True) + print("Now we have UVset = {}, {}".format(UVname1, UVname2)) + + cmds.setParent('..') # End current form layout + + # Separator + cmds.separator(height=20, style='in') + + # Create a column layout, all child elements will be vertically arranged + cmds.frameLayout(label='UV-Transfer') + cmds.columnLayout(adjustableColumn=True, width=230, height=130) + cmds.rowLayout(numberOfColumns=3, columnWidth3=(50, 100, 50)) + cmds.button(label='Get', command=get_object_name, backgroundColor=(0.53, 0.81, 0.98), width=45) # Create a button that calls get_object_name function when clicked + cmds.textField('objectNameField', enable=False, width=120) # Create a text field to display the name of the selected object + cmds.button(label='Set', command=set_uv, backgroundColor=(0.53, 0.81, 0.98), width=45) # Create a button that calls set_uv function when clicked + cmds.setParent('..') # End current form layout + + # cmds.frameLayout(label='Sample Space') + cmds.text(l='Sample Space:', h=20, align='left') + form = cmds.formLayout() + + cmds.radioCollection('sampleSpaceRadio') # Create a radio button group + rb1 = cmds.radioButton(label='World', select=True) # Create a radio button + rb2 = cmds.radioButton(label='Local') + rb3 = cmds.radioButton(label='UV') + rb4 = cmds.radioButton(label='Component') + # Set form layout parameters to keep radio buttons horizontally aligned and centered when window size changes + cmds.formLayout(form, edit=True, attachForm=[(rb1, 'left', 10), (rb4, 'right', 10)], attachControl=[(rb2, 'left', 5, rb1), (rb3, 'left', 5, rb2), (rb4, 'left', 5, rb3)]) + cmds.setParent('..') # End current form layout + + cmds.scriptJob(event=["idle", on_window_resize], parent=window) # Listen for window resize events + + cmds.showWindow(window) # Show window \ No newline at end of file