def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'AnimFileReader'):
            return
        #--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        super(AnimSceneReaderUI, self).__init__(parent)
        self.setupUi(self)

        #-+
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'map_pin.png')))
        self.btn_SelectPath.setIcon(icon)


        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'fork.png')))
        self.btn_open.setIcon(icon)


        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'cloud_upload.png')))
        self.btn_saveas.setIcon(icon)


        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'blank_folder.png')))
        self.btn_OpenFolder.setIcon(icon)


        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'light_on.png')))
        self.btn_light.setIcon(icon)

        #-+
        self.show()
Exemple #2
0
 def __init__(self, parent=None):
     if uiTool.windowExists(parent, 'ProjectWindow'):
         return
     
     super(ProjectUI, self).__init__(parent)
     self.setupUi(self)
     self.show()
     #-
     project_icon = QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'map_pin.png'))
     self.btn_getProject.setIcon(project_icon)
     
     window_icon = QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'windowIcon.png'))
     self.setWindowIcon(window_icon)
     #-
     self.tableModel = TableModel()
     self.tableView.setModel(self.tableModel)
     #-
     self.delegate = Delegate(self)
     self.tableView.setItemDelegateForColumn(1, self.delegate)
     #-
     self.tableView.verticalHeader().setVisible(False)
     self.tableView.horizontalHeader().setClickable(False)
     self.tableView.horizontalHeader().setMovable(False)
     self.tableView.horizontalHeader().setResizeMode(QtGui.QHeaderView.Fixed)
     #-
     self.resizeEvent(QtGui.QResizeEvent(QtCore.QSize(), QtCore.QSize()))
     #-
     self.getProjectPath()
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'AnimFileReader'):
            return                
        #--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        super(AnimSceneReaderUI, self).__init__(parent)
        self.setupUi(self)
        
        #-+
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'map_pin.png')))
        self.btn_SelectPath.setIcon(icon)   
        
        
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'fork.png')))
        self.btn_open.setIcon(icon)              
  
        
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'cloud_upload.png')))
        self.btn_saveas.setIcon(icon)   
        

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'blank_folder.png')))
        self.btn_OpenFolder.setIcon(icon)      
        

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(scriptTool.getScriptPath(), 'icons', 'light_on.png')))
        self.btn_light.setIcon(icon)
        
        #-+
        self.show()
Exemple #4
0
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'TransWeightsUI'):
            return
        #---------------------------------------------------------------------------------------------------
        super(TransWeightsUI, self).__init__(parent)
        self.setupUi(self)

        self.btn_LoadSkin.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons', 'load.png')))
        self.btn_LoadJoint.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons', 'load.png')))
        self.btn_Export.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'export.png')))
        self.btn_Import.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'import.png')))

        self.show()
        #---------------------------------------------------------------------------------------------------
        self.__data = []
 def on_actionConnectHairSystem_triggered(self, clicked=None):
     if clicked==None:return
     HairSystem = []
     for checkBox in self.HairSystemList.children():
         if checkBox.isChecked():
             HairSystem.append(str(checkBox.text()))
     if len(HairSystem) == 0:return
     
     ControlFile = os.path.join(scriptTool.getScriptPath(), 'jiesuankaiguan.ma')
     mc.file(ControlFile, i=True)
     
     #----------------------------
     HairControlG = mc.ls(assemblies=True)[-1]
     HairControl  = [x for x in mc.listRelatives(HairControlG, ad=True, path=True) if x.endswith('ctrl')][0]
     attractionScale = [x for x in mc.listRelatives(HairControlG, ad=True, path=True) if x.endswith('attractionScale')][0]
     
     mc.connectAttr('%s.%s'%(HairSystem[0], 'message'), '%s.%s'%(attractionScale, 'hairSystem'), f=True)
     for i, sysNode in enumerate(HairSystem):
         JointA = mc.connectionInfo('%s.%s'%(sysNode, 'iterations'), sfd=True)
         JointA = JointA.split('.')[0]
         mc.connectAttr('%s.%s'%(HairControl, 'chainStartEnveloppe'),  '%s.%s'%(JointA,  'chainStartEnveloppe'),  f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'chainStartFrame'),      '%s.%s'%(sysNode, 'startFrame'),           f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'chainStiffness'),       '%s.%s'%(sysNode, 'stiffness'),            f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'chainDamping'),         '%s.%s'%(sysNode, 'damp'),                 f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'chainGravity'),         '%s.%s'%(sysNode, 'gravity'),              f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'chainCollide'),         '%s.%s'%(sysNode, 'collide'),              f=True)
         mc.connectAttr('%s.%s'%(HairControl, 'StarCurveAttract'),     '%s.%s'%(sysNode, 'startCurveAttract'),    f=True)
     
         if i > 0:
             mc.connectAttr('%s.%s'%(HairSystem[0], 'attractionScale[0]'),  '%s.%s'%(sysNode, 'attractionScale[0]'))
             mc.connectAttr('%s.%s'%(HairSystem[0], 'attractionScale[1]'),  '%s.%s'%(sysNode, 'attractionScale[1]'))        
     
     if mc.objExists('hairExp'):return
     mel.eval('source "%s"'%os.path.join(scriptTool.getScriptPath(), 'makeScriptNode.mel').replace('\\', '/'))
     mc.setAttr('hairExp.scriptType', 1)
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, "TransWeightsUI"):
            return
        # ---------------------------------------------------------------------------------------------------
        super(TransWeightsUI, self).__init__(parent)
        self.setupUi(self)

        self.btn_LoadSkin.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_LoadJoint.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_Export.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "export.png")))
        self.btn_Import.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "import.png")))

        self.show()
        # ---------------------------------------------------------------------------------------------------
        self.__data = []
 def on_btn_makeDriver_clicked(self, args=None):
     if args==None:return
     nameData = ioTool.readData(os.path.join(scriptTool.getScriptPath(), 'Data.json'))
     for n in nameData:
         if not mc.objExists(n):continue
         if mc.objExists('%s_RIF_G'%n.rsplit('_', 2)[0]):continue
         makeRotateInfoForOneJoint(n)
     self.on_btn_refresh_clicked(True)
Exemple #8
0
 def on_btn_makeDriver_clicked(self, args=None):
     if args == None: return
     nameData = ioTool.readData(
         os.path.join(scriptTool.getScriptPath(), 'Data.json'))
     for n in nameData:
         if not mc.objExists(n): continue
         if mc.objExists('%s_RIF_G' % n.rsplit('_', 2)[0]): continue
         makeRotateInfoForOneJoint(n)
     self.on_btn_refresh_clicked(True)
    def on_actionCreateDynControl_triggered(self, clicked=None):
        if clicked == None: return
        SelOBJ = mc.ls(sl=True, type='joint')
        if len(SelOBJ) != 2:
            self.refreshHairSystems()
            return

        melScripts = os.path.join(scriptTool.getScriptPath(), 'makeIkHair.mel')
        melScripts = melScripts.replace('\\', '/')
        mel.eval('source "%s"' % melScripts)
        self.refreshHairSystems()
 def on_actionCreateDynControl_triggered(self, clicked=None):
     if clicked==None:return
     SelOBJ = mc.ls(sl=True, type='joint')
     if len(SelOBJ) != 2:
         self.refreshHairSystems()
         return
     
     melScripts = os.path.join(scriptTool.getScriptPath(), 'makeIkHair.mel')
     melScripts = melScripts.replace('\\', '/')
     mel.eval('source "%s"'%melScripts)
     self.refreshHairSystems()
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'ControlSelecterWindow'):
            return        
        super(ControlSelecterWnd, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        #- connect Signal
        for btn in self.groupBox.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)

        for btn in self.groupBox_2.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)    
        
        #- refresh characters
        self.on_btn_loadCharacters_clicked(True)
        
        #- read control name Data
        f = open(os.path.join(scriptTool.getScriptPath(), 'ControlNameData.json'), 'r')
        self.CONTROL_NAME_DATA = json.load(f)
        f.close()
    def __init__(self, parent):
        if uiTool.windowExists(parent, 'CopyBlendShapeWeightUI'):
            return
        super(CopyBlendShapeWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
        iconPath = os.path.join(scriptTool.getScriptPath(), 'icons')

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'refresh.png')))
        self.btn_refresh.setIcon(icon)

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'arrow.png')))
        self.btn_Copy.setIcon(icon)
        #-+-+-+-+-+-+-+-+-+
        self.__srcModel = ListModel()
        self.__dstModel = ListModel()

        self.listView_Src.setModel(self.__srcModel)
        self.listView_Dst.setModel(self.__dstModel)
 def __init__(self, parent):
     if uiTool.windowExists(parent, 'CopyBlendShapeWeightUI'):
         return
     super(CopyBlendShapeWeightsUI, self).__init__(parent)
     self.setupUi(self)
     self.show()
     #------------------
     iconPath = os.path.join(scriptTool.getScriptPath(), 'icons')
     
     icon = QtGui.QIcon()
     icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'refresh.png')))
     self.btn_refresh.setIcon(icon)
     
     icon = QtGui.QIcon()
     icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'arrow.png')))
     self.btn_Copy.setIcon(icon)
     #-+-+-+-+-+-+-+-+-+
     self.__srcModel = ListModel()
     self.__dstModel = ListModel()
     
     self.listView_Src.setModel(self.__srcModel)
     self.listView_Dst.setModel(self.__dstModel)
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'DDrigTools'):
            return

        super(PlugTool, self).__init__(parent)
        self.setupUi(self)

        #===============================================
        self.tabWidget.setCurrentIndex(0)
        self.toolBox.setCurrentIndex(1)
        #============================================================================================================
        self.setWindowIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'windowIcon.png')))
        self.btn_TitleA.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'pencil.png')))
        self.btn_TitleB.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'pencil.png')))
        self.btn_TitleC.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'pencil.png')))

        self.btn_GrabWindow.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'scissors.png')))
        self.btn_CleanWindows.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'brush.png')))
        self.btn_Help.setIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons', 'help.png')))
        #============================================================================================================
        self.show()
Exemple #15
0
 def __init__(self, parent=uiTool.getMayaWindow()):
     if uiTool.windowExists(parent, 'DDrigTools'):
         return
     
     super(PlugTool, self).__init__(parent)
     self.setupUi(self)
     
     #===============================================
     self.tabWidget.setCurrentIndex(0)
     self.toolBox.setCurrentIndex(1)
     #============================================================================================================
     self.setWindowIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'windowIcon.png')))
     self.btn_TitleA.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
     self.btn_TitleB.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
     self.btn_TitleC.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'pencil.png')))
     
     self.btn_GrabWindow.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'scissors.png')))        
     self.btn_CleanWindows.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), 'icons', 'brush.png')))
     self.btn_Help.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(),   'icons', 'help.png')))
     #============================================================================================================
     self.show()
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'ControlSelecterWindow'):
            return
        super(ControlSelecterWnd, self).__init__(parent)
        self.setupUi(self)
        self.show()

        #- connect Signal
        for btn in self.groupBox.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)

        for btn in self.groupBox_2.findChildren(QtGui.QPushButton):
            btn.clicked.connect(self.SelectControl)

        #- refresh characters
        self.on_btn_loadCharacters_clicked(True)

        #- read control name Data
        f = open(
            os.path.join(scriptTool.getScriptPath(), 'ControlNameData.json'),
            'r')
        self.CONTROL_NAME_DATA = json.load(f)
        f.close()
import os
from PyQt4 import QtGui, uic
import maya.cmds as mc
import maya.mel as mel
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIfile = os.path.join(scriptTool.getScriptPath(), 'DynControlUI.ui')
UIClass, BaseClass = uic.loadUiType(UIfile)


class DynControl(UIClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'dynControlWindow'):
            return

        super(DynControl, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def refreshHairSystems(self):
        for checkBox in self.HairSystemList.children():
            checkBox.deleteLater()

        HairSysTem = mc.listRelatives(mc.ls(type='hairSystem'), p=True)
        HairSysTem = {}.fromkeys(HairSysTem, None).keys()
        HairSysTem.sort()

        for i, hairsys in enumerate(HairSysTem):
            CBX = QtGui.QCheckBox(self.HairSystemList)
        if role == QtCore.Qt.DisplayRole:
            return self.__modelData[index.row()]

    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()

    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'CopyBlendShapeWeights.ui'))


class CopyBlendShapeWeightsUI(windowClass, baseClass):
    def __init__(self, parent):
        if uiTool.windowExists(parent, 'CopyBlendShapeWeightUI'):
            return
        super(CopyBlendShapeWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
        iconPath = os.path.join(scriptTool.getScriptPath(), 'icons')

        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.path.join(iconPath, 'refresh.png')))
        self.btn_refresh.setIcon(icon)
        """
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__baseList[:]
        del self.__fileList[:]
        self.endRemoveRows()

    def getValue(self, row):
        return self.__baseList[row]

    def result(self):
        return self.__baseList, self.__fileList


# -------------------------------------------------------------------------------------

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "nameToolUI.ui"))


class NameUI(windowClass, baseClass):
    """
    user control pannel...
    """

    def __init__(self, parent=None):
        if uiTool.windowExists(parent, "foleyNameToolWindow"):
            return

        super(NameUI, self).__init__(parent)
        self.setupUi(self)
        # ----------------------------------------------------
        # - hide control
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 16 Oct 2014 10:31:59
#========================================
import os.path
from FoleyUtils import scriptTool, uiTool
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
baseClass, windowClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'clusterWeightsUI.ui'))
class ClusterWeightsUI(baseClass, windowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'MirrorClusterWindow'):
            return             
        super(ClusterWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        
    def on_btn_Geometry_clicked(self, args=None):
        if args == None:return
        sel = mc.ls(sl=True)
        if len(sel) < 1:return
        if not mc.listRelatives(sel[0], s=True, type='mesh'):return
        self.let_Geometry.setText(sel[0])
    
    
    def on_btn_Source_clicked(self, args=None):
        if args == None:return
        sel = mc.ls(sl=True)
        if len(sel) < 1:return
import os, json
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'SetDrivenKeysforToes.ui'))


class SetDrivenKeyforToes(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'setDrivenKeyForToesWindow'):
            return
        super(SetDrivenKeyforToes, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def setRange(self, Value, OldMin, OldMax, minV, maxV):
        OutValue = minV + (((Value - OldMin) / (OldMax - OldMin)) *
                           (maxV - minV))
        return OutValue

    def on_actionSetkeys_triggered(self, clicked=None):
        if clicked == None: return
        if not os.path.exists('D:/toe.json'): return
        # open File
        f = open('D:/toe.json', 'r')
        ControlNameData = json.load(f)
        f.close()

        # get Axis
#=================================
# author: changlong.zang
#   date: 2014-05-05
#=================================
import os, re
import maya.cmds as mc
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

WindowClass, BaseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'buildTargents.ui'))
class BuildTargents(WindowClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'buildTargentsWindow'):
            return         
        
        super(BuildTargents, self).__init__(parent)
        self.setupUi(self)
        self.show()


    def on_actionLoad_Object_triggered(self, args=None):
        if args==None:return
        selOBJ = mc.ls(sl=True)
        if selOBJ == []:return
        
        self.LET_Geometry.setText(selOBJ[0])
        
        blendShapes = mc.ls(mc.listHistory(selOBJ[0]), type='blendShape')
        if blendShapes == []:
            self.LET_BlendShape.setText('')
            return
Exemple #23
0
import os, inspect, re, json
from PyQt4 import QtCore, uic
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIfile = os.path.join(scriptTool.getScriptPath(), 'FixAnim.ui')
UIClass, BaseClass = uic.loadUiType(UIfile)


class FixAnim(UIClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'FixAnimationWindow'):
            return

        super(FixAnim, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------
        self.referenceFiles = {}
        self.sourceFiles = []

    def on_actionRefreshScene_triggered(self, args=None):
        if args == None: return
        self.referenceFiles.clear()
        self.ReferenceFilescomboBox.clear()
        referenceFiles = mc.file(q=True, r=True)
        for rFile in referenceFiles:
            baseBame = os.path.basename(rFile)
            filePath = os.path.dirname(rFile)
import os, re, string
from PyQt4 import QtCore, QtGui, uic
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


#-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
UIwndClass, baseClass = uic.loadUiType('%s/HeadStreatchTool.ui'%scriptTool.getScriptPath())
class HeadStreatchUI(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'headStreatchWindow'):
            return
        
        super(HeadStreatchUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def on_actionBuildGuide_triggered(self, clicked=None):
        if clicked==None:return
        self.guideFile = os.path.join(getScriptPath(), 'HeadStreatch_guide.ma')
        self.guideFile = self.guideFile.replace('\\', '/')
        
        if self.guideFile in mc.file(q=True, r=True):return 
        mc.file(self.guideFile, r=True, namespace='guide', loadReferenceDepth='all', gl=True)
    


    def on_actionBuildRig_triggered(self, clicked=None):
        if clicked==None:return
        makeHeadStreatch(jointCount=self.jointCountsSpinBox.value())
#=================================
# author: changlong.zang
#   date: 2014-06-23
#=================================
import os.path
import maya.cmds as mc
from PyQt4 import QtGui
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'addGroups.ui'))
class AddGroup(windowClass, baseClass):
    '''
    user control pannel...
    '''
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'addGroupWindow'):
            return 
        
        super(AddGroup, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_append_clicked(self, args=None):
        if args == None:return
        lineEdit = QtGui.QLineEdit(self.scrollArea)
        font = QtGui.QFont()
        font.setPointSize(10)
        lineEdit.setFont(font)
        lineEdit.setMinimumHeight(25)
        self.verticalLayout_4.insertWidget(self.verticalLayout_4.count()-1, lineEdit)
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Mon, 22 Sep 2014 10:35:13
#========================================
import os.path
import maya.cmds as mc
import maya.mel as mel
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

bodywndClass, bodybaseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'transWeights.ui'))


class transWeightsUI(bodywndClass, bodybaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'transSkeletonToClusters'):
            return

        super(transWeightsUI, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_LoadGeometry_clicked(self, clicked=None):
        if clicked == None: return
        sel = mc.ls(sl=True)
        if len(sel) < 1:
            return

        self.LET_Geometry.setText(sel[0])
Exemple #27
0
import sys, os, inspect, cmds
import maya.cmds as mc
from PyQt4 import QtGui, QtCore, uic
from FoleyUtils import scriptTool, uiTool
reload(cmds)

ScriptPath = scriptTool.getScriptPath()
if ScriptPath not in sys.path:
    sys.path.append(ScriptPath)


waningWindowClass, warningbaseClass = uic.loadUiType(os.path.join(ScriptPath, 'warningDialog.ui'))
class WarningDialog(waningWindowClass, warningbaseClass):
    def __init__(self, waningText, parent=None):
        super(WarningDialog, self).__init__(parent)
        self.setupUi(self)
        self.warningLabel.setText(waningText)
        self.exec_()
        

class ComponentFrame(QtGui.QFrame):
    def __init__(self, parent=None):
        super(ComponentFrame, self).__init__(parent)
        self.buildUI()
    
    def buildUI(self):
        self.setGeometry(QtCore.QRect(170, 240, 323, 40))
        self.setFrameShape(QtGui.QFrame.NoFrame)
        self.setFrameShadow(QtGui.QFrame.Raised)
        
        Layout_1 = QtGui.QHBoxLayout(self)
import os.path, re
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool

windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'mirrorCtlShp.ui'))


class MirrorControlShp(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorControlShapeUI'): return
        super(MirrorControlShp, self).__init__(parent)
        self.setupUi(self)
        self.show()

    def on_btn_mirror_clicked(self, click=None):
        if click == None: return
        controlType = str(self.fld_controlType.text())

        flipAxis = 'X'
        if self.rdn_filpX.isChecked():
            flipAxis = 'X'
        elif self.rdn_filpY.isChecked():
            flipAxis = 'Y'
        else:
            flipAxis = 'Z'

        if self.rdn_lefttoright.isChecked():
            mirrorControlShape(controlType, 'L', 'R', flipAxis)
        else:
            mirrorControlShape(controlType, 'R', 'L', flipAxis)

    def insertRow(self, row, value, index=QtCore.QModelIndex()):
        self.beginInsertRows(index, row, row)
        self.__attributes.insert(row, value)
        self.endInsertRows()


    def clear(self):
        self.beginRemoveColumns(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__attributes[:]
        self.endRemoveRows()



shapeBaseClass, shapeWindowClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ShapeBuilderUI.ui'))
class ShapeBuilderUI(shapeBaseClass, shapeWindowClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'ShapeBuilderWindow'):
            return         

        super(ShapeBuilderUI, self).__init__(parent)
        self.setupUi(self)
        #---------------------------------------------------
        self.__AttributeModel = BlendShapeModel()
        self.listView_attributeList.setModel(self.__AttributeModel)
        #---------------------------------------------------
        self.widget_Bs.setEnabled(True)
        self.widget_BsBs.setEnabled(False)
        self.widget_SkinBs.setEnabled(False)
               
            return
        if not mc.attributeQuery(attribute, n=obj, ex=True):
            print 'Error -> attributes  %s  was not Exists...'%arg
            return
    
    mc.delete(mc.keyframe(dsn, q=True, n=True))
    
    driverValues = mc.keyframe(src, q=True, fc=True)
    drivenValues = mc.keyframe(src, q=True, vc=True)
    for drv, dnv in zip(driverValues, drivenValues):
        mc.setDrivenKeyframe(dsn, cd=dsr, dv=drv, v=dnv * mirror)
    
    

    
windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorDrivenKeys.ui'))
class MirrorDrivenKeysUI(windowClass, baseClass):

    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorDrivenkeysWindow'):
            return
        
        super(MirrorDrivenKeysUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------------------------------------------------
        self.__SrcOBJ = None
        self.__DstOBJ = None
        
        self.__model_SrcDriver = ListModel()
        self.__model_SrcDriven = ListModel()
 def on_btn_Help_clicked(self, args=None):
     if args == None: return
     path = os.path.join(scriptTool.getScriptPath(), 'ToolIndex',
                         'readme.docx')
     path = path.replace('/', '\\')
     os.system('explorer.exe %s' % path)
Exemple #32
0
import os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

UIwndClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'ChangeOBJpivot.ui'))


class ChangeOBJpivot(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'changeObjectPivotWindow'):
            return

        super(ChangeOBJpivot, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def on_actionLoadMoveOBJ_triggered(self, args=None):
        if args == None: return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0: return
        if SelectOBJ[0] == str(self.KeepedOBJLineEdit.text()): return

        self.MovedOBJLineEdit.setText(SelectOBJ[0])

    def on_actionLoadKeepOBJ_triggered(self, args=None):
        if args == None: return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0: return
        if SelectOBJ[0] == str(self.MovedOBJLineEdit.text()): return
    influcences = mc.skinCluster(skincluster, q=True, inf=True)
    vtxCount = mc.polyEvaluate(geometry, v=True)
    index = influcences.index(Joint)
    weights = []
    for i in range(vtxCount):
        weights.append(mc.skinPercent(skincluster, "%s.vtx[%d]" % (geometry, i), q=True, v=True)[index])
    return weights


def setSkinCluster(geometry, Joint, weights):
    skincluster = mayaTool.findSkinCluster(geometry)
    for i, w in enumerate(weights):
        mc.skinPercent(skincluster, "%s.vtx[%d]" % (geometry, i), tv=(Joint, w))


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "TransWeights.ui"))


class TransWeightsUI(windowClass, baseClass):
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, "TransWeightsUI"):
            return
        # ---------------------------------------------------------------------------------------------------
        super(TransWeightsUI, self).__init__(parent)
        self.setupUi(self)

        self.btn_LoadSkin.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_LoadJoint.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "load.png")))
        self.btn_Export.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "export.png")))
        self.btn_Import.setIcon(QtGui.QIcon(os.path.join(scriptTool.getScriptPath(), "icons", "import.png")))
Exemple #34
0
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__baseList[:]
        del self.__fileList[:]
        self.endRemoveRows()

    def getValue(self, row):
        return self.__baseList[row]

    def result(self):
        return self.__baseList, self.__fileList


#-------------------------------------------------------------------------------------

windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'nameToolUI.ui'))


class NameUI(windowClass, baseClass):
    '''
    user control pannel...
    '''
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'foleyNameToolWindow'):
            return

        super(NameUI, self).__init__(parent)
        self.setupUi(self)
        #----------------------------------------------------
        #- hide control
        self.widget_windows.setVisible(False)
    def data(self, index, role):
        if role == QtCore.Qt.DisplayRole:
            return self.__modelData[index.row()]

    def clear(self):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.__modelData[:]
        self.endRemoveRows()

    def change(self, L=[]):
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.__modelData = L[:]
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), "replaceUV.ui"))


class ReplaceUV(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, "replaceUVwindow"):
            return

        super(ReplaceUV, self).__init__(parent)
        self.setupUi(self)
        # ----------------
        self.__listModel = ListModel()
        self.listView.setModel(self.__listModel)
        # ----------------
        self.show()
import os, json
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'SetDrivenKeysforToes.ui'))
class SetDrivenKeyforToes(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'setDrivenKeyForToesWindow'):
            return
        super(SetDrivenKeyforToes, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------


    def setRange(self, Value, OldMin, OldMax, minV, maxV):
        OutValue = minV + (((Value-OldMin)/(OldMax-OldMin)) * (maxV-minV))
        return OutValue
    
    
    
    def on_actionSetkeys_triggered(self, clicked=None):
        if clicked==None:return
        if not os.path.exists('D:/toe.json'):return
        # open File
        f = open('D:/toe.json', 'r')
        ControlNameData = json.load(f)
        f.close()

        # get Axis
    def on_actionConnectHairSystem_triggered(self, clicked=None):
        if clicked == None: return
        HairSystem = []
        for checkBox in self.HairSystemList.children():
            if checkBox.isChecked():
                HairSystem.append(str(checkBox.text()))
        if len(HairSystem) == 0: return

        ControlFile = os.path.join(scriptTool.getScriptPath(),
                                   'jiesuankaiguan.ma')
        mc.file(ControlFile, i=True)

        #----------------------------
        HairControlG = mc.ls(assemblies=True)[-1]
        HairControl = [
            x for x in mc.listRelatives(HairControlG, ad=True, path=True)
            if x.endswith('ctrl')
        ][0]
        attractionScale = [
            x for x in mc.listRelatives(HairControlG, ad=True, path=True)
            if x.endswith('attractionScale')
        ][0]

        mc.connectAttr('%s.%s' % (HairSystem[0], 'message'),
                       '%s.%s' % (attractionScale, 'hairSystem'),
                       f=True)
        for i, sysNode in enumerate(HairSystem):
            JointA = mc.connectionInfo('%s.%s' % (sysNode, 'iterations'),
                                       sfd=True)
            JointA = JointA.split('.')[0]
            mc.connectAttr('%s.%s' % (HairControl, 'chainStartEnveloppe'),
                           '%s.%s' % (JointA, 'chainStartEnveloppe'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'chainStartFrame'),
                           '%s.%s' % (sysNode, 'startFrame'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'chainStiffness'),
                           '%s.%s' % (sysNode, 'stiffness'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'chainDamping'),
                           '%s.%s' % (sysNode, 'damp'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'chainGravity'),
                           '%s.%s' % (sysNode, 'gravity'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'chainCollide'),
                           '%s.%s' % (sysNode, 'collide'),
                           f=True)
            mc.connectAttr('%s.%s' % (HairControl, 'StarCurveAttract'),
                           '%s.%s' % (sysNode, 'startCurveAttract'),
                           f=True)

            if i > 0:
                mc.connectAttr('%s.%s' % (HairSystem[0], 'attractionScale[0]'),
                               '%s.%s' % (sysNode, 'attractionScale[0]'))
                mc.connectAttr('%s.%s' % (HairSystem[0], 'attractionScale[1]'),
                               '%s.%s' % (sysNode, 'attractionScale[1]'))

        if mc.objExists('hairExp'): return
        mel.eval('source "%s"' %
                 os.path.join(scriptTool.getScriptPath(),
                              'makeScriptNode.mel').replace('\\', '/'))
        mc.setAttr('hairExp.scriptType', 1)
import os.path, re
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool, mayaTool


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorCtlShp.ui'))
class MirrorControlShp(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorControlShapeUI'):return 
        super(MirrorControlShp, self).__init__(parent)
        self.setupUi(self)
        self.show()


    def on_btn_mirror_clicked(self, click=None):
        if click == None:return
        controlType = str(self.fld_controlType.text())
        
        flipAxis = 'X'
        if self.rdn_filpX.isChecked():
            flipAxis = 'X'
        elif self.rdn_filpY.isChecked():
            flipAxis = 'Y'
        else:
            flipAxis = 'Z'


        if self.rdn_lefttoright.isChecked():
            mirrorControlShape(controlType, 'L', 'R', flipAxis)
        else:
            mirrorControlShape(controlType, 'R', 'L', flipAxis)
#=============================================
# author: changlong.zang
#   mail: [email protected]
#   date: Wed, 25 Jun 2014 14:43:02
#=============================================
import os
from PyQt4 import QtGui
from FoleyUtils import uiTool, scriptTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Uiwnd, UiClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'RootUI.ui'))


class PlugTool(Uiwnd, UiClass):
    def __init__(self, parent=uiTool.getMayaWindow()):
        if uiTool.windowExists(parent, 'DDrigTools'):
            return

        super(PlugTool, self).__init__(parent)
        self.setupUi(self)

        #===============================================
        self.tabWidget.setCurrentIndex(0)
        self.toolBox.setCurrentIndex(1)
        #============================================================================================================
        self.setWindowIcon(
            QtGui.QIcon(
                os.path.join(scriptTool.getScriptPath(), 'icons',
                             'windowIcon.png')))
        self.btn_TitleA.setIcon(
            QtGui.QIcon(
import os, re, string
from PyQt4 import QtCore, QtGui, uic
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
UIwndClass, baseClass = uic.loadUiType('%s/HeadStreatchTool.ui' %
                                       scriptTool.getScriptPath())


class HeadStreatchUI(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'headStreatchWindow'):
            return

        super(HeadStreatchUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------

    def on_actionBuildGuide_triggered(self, clicked=None):
        if clicked == None: return
        self.guideFile = os.path.join(getScriptPath(), 'HeadStreatch_guide.ma')
        self.guideFile = self.guideFile.replace('\\', '/')

        if self.guideFile in mc.file(q=True, r=True): return
        mc.file(self.guideFile,
                r=True,
                namespace='guide',
                loadReferenceDepth='all',
                gl=True)
import os, inspect, re, json
from PyQt4 import QtCore, uic
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIfile = os.path.join(scriptTool.getScriptPath(), 'FixAnim.ui')
UIClass, BaseClass = uic.loadUiType(UIfile)

class FixAnim(UIClass, BaseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'FixAnimationWindow'):
            return        
        
        super(FixAnim, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------
        self.referenceFiles = {}
        self.sourceFiles = []
    
    def on_actionRefreshScene_triggered(self, args=None):
        if args == None:return
        self.referenceFiles.clear()
        self.ReferenceFilescomboBox.clear()
        referenceFiles = mc.file(q=True, r=True)
        for rFile in referenceFiles:
            baseBame = os.path.basename(rFile)
            filePath = os.path.dirname(rFile)
            self.referenceFiles[baseBame] = filePath
import os.path 
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'ChangeOBJpivot.ui'))
class ChangeOBJpivot(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'changeObjectPivotWindow'):
            return 
        
        super(ChangeOBJpivot, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
    
    
    def on_actionLoadMoveOBJ_triggered(self, args=None):
        if args==None:return
        SelectOBJ = mc.ls(sl=True)
        if len(SelectOBJ) == 0:return
        if SelectOBJ[0] == str(self.KeepedOBJLineEdit.text()):return
        
        self.MovedOBJLineEdit.setText(SelectOBJ[0])




    def on_actionLoadKeepOBJ_triggered(self, args=None):
        if args==None:return
        SelectOBJ = mc.ls(sl=True)
#=================================
# author: changlong.zang
#   date: 2014-06-10
#=================================
import os.path
from FoleyUtils import scriptTool, uiTool
import maya.cmds as mc
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'createControlSet.ui'))
class CreateControlSetUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'makeControlSetUI'):
            return 
        super(CreateControlSetUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
    
    #=============================================================================================
    def __createSet(self, name):
        if not mc.objExists(name):
            mc.sets(n=name, em=True)
        if name != 'Allctrls': return
        
        if mc.objExists('body_Ctrls'):
            mc.sets('body_Ctrls', add=name)
            
        if mc.objExists('facial_Ctrls'):
            mc.sets('facial_Ctrls', add=name)

 def on_btn_GrabWindow_clicked(self, args=None):
     if args == None: return
     path = os.path.join(scriptTool.getScriptPath(), 'Snapshot',
                         'SogouSnapShot.exe')
     path = path.replace('/', '\\')
     os.popen('explorer.exe %s' % path)
#=================================
# author: changlong.zang
#   date: 2014-06-09
#=================================
import os, sys, json, re
from PyQt4 import QtCore, QtGui
import maya.cmds as mc

if '//bjserver2/Temp Documents/Foley/Tools' not in sys.path:
    sys.path.append('//bjserver2/Temp Documents/Foley/Tools')

from FoleyUtils import scriptTool, uiTool, mayaTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

if scriptTool.getScriptPath() not in sys.path:
    sys.path.append(scriptTool.getScriptPath())


class ContextMenu(QtGui.QMenu):
    def __init__(self, Point, btn, parent=None):
        super(ContextMenu, self).__init__(parent)
        self.Button = btn

        action_addControl = self.addAction('Add Controls')
        self.addSeparator()
        action_removeControl = self.addAction('Remove Controls')

        action_addControl.triggered.connect(self.addControls)
        action_removeControl.triggered.connect(self.removeControls)

        self.move(Point)
    def data(self, index, role=QtCore.Qt.DisplayRole):
        if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole:
            return self.LIST_DATA[index.row()]
    
    
    def changeData(self, inputData):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.LIST_DATA[:]
        self.endRemoveRows()
        
        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.LIST_DATA = inputData
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'weightsTool.ui'))

class WeightsTool(windowClass, baseClass):
    SOURCE_DEFORM_TYPE = 'cluster'
    TARGET_DEFORM_TYPE = 'cluster'
    
    def __init__(self, parent=None):
        super(WeightsTool, self).__init__(parent)
        self.setupUi(self)
        self.show()
        
        self.SOURCE_MODEL = ListModel()
        self.TARGET_MODEL = ListModel()
        self.VIW_Source.setModel(self.SOURCE_MODEL)
        self.VIW_Target.setModel(self.TARGET_MODEL)
        
 def on_btn_EditData_clicked(self, args=None):
     if args==None:return
     filePath = os.path.join(scriptTool.getScriptPath(), 'Data.json')
     filePath = filePath.replace('/', '\\')
     os.system('explorer.exe %s'%filePath)
        Jnt = mc.joint(p=(0, 0, 0))
        Loc = mc.spaceLocator(p=(0, 0, 0))[0]
        uValue = 0.0
        
        if not uValuezerotoone:
            uValue = i
        else:
            uValue = (float(i) - 0) / (float(JointCounts - 1) - 0) * (1.0 - 0.0) + 0.0
        
        _Attach(UppathCus, Loc, uValue, None, uValuezerotoone)
        _Attach(basePathCus, Jnt, uValue, Loc, uValuezerotoone)




UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'makeAttachJoints.ui'))
class makeAttachJoints(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'makeAttachJointsWindow'):
            return

        super(makeAttachJoints, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------


    def on_actionLoadBaseCurve_triggered(self, clicked=None):
        if clicked==None:return
        SelOBJ = mc.ls(sl=True)
        if len(SelOBJ) == 1:
import os.path
from PyQt4 import QtGui
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool

#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+


UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'mirrorSDK.ui'))
class MirrorSetDrivenKey(UIwndClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorSDKwindow'):
            return        
        
        super(MirrorSetDrivenKey, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
        self.sourceAtrLst = []
        self.targentAtrLst = []

    
    def on_btn_deleteItem_clicked(self, args=None):
        if args==None:return
        
        for item in self.SourceAttributeList.selectedItems():
            for x in self.sourceAtrLst:
                if x[1] == item.text():
                    self.sourceAtrLst.remove(x)
                    break
        strings = self.SearchFLD.text()
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Fri, 24 Oct 2014 10:45:39
#========================================
import string, re, os.path
import maya.cmds as mc
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

UIwndClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'inspectScene.ui'))
class InspectSceneUI(UIwndClass, baseClass):
    
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'inspectSceneWindow'):
            return
        
        super(InspectSceneUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #-------------
    
    
    def on_actionInspectScene_triggered(self, *agrs):
        if not agrs:return
        self.DuplacatesNamesOBJ  = InspectScene.inspectDuplicatesNames()
        self.NoFreeGeometeys     = InspectScene.inspectGeometryAttributes()
        self.DuplicatesShapesOBJ = InspectScene.insepectDuplicatesShapes()
        
        #-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
        def _readResult(OBJList, Field, Button):
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 20 Nov 2014 17:10:31
#========================================
import os.path, time, findCoincidentGeometry
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'findCoincidentGeometry.ui'))
class findCoincidentGeometryUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'findCoincidentGeometryUI'):
            return
        super(findCoincidentGeometryUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------
    
    def on_pushButton_clicked(self, args=None):
        if args == None:return
        self.plainTextEdit.setPlainText('')
        self.plainTextEdit.appendPlainText('------ %s ------'%time.strftime("%H:%M:%S", time.localtime()))
        
        geometrys = findCoincidentGeometry.findCoincidentGeometrys()
        
        self.plainTextEdit.appendPlainText('\n'.join(geometrys))
        self.plainTextEdit.appendPlainText('------ %s ------'%time.strftime("%H:%M:%S", time.localtime()))
#========================================
# author: changlong.zang
#   mail: [email protected]
#   date: Thu, 20 Nov 2014 17:10:31
#========================================
import os.path, time, findCoincidentGeometry
from FoleyUtils import scriptTool, uiTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'findCoincidentGeometry.ui'))


class findCoincidentGeometryUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'findCoincidentGeometryUI'):
            return
        super(findCoincidentGeometryUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #------------------

    def on_pushButton_clicked(self, args=None):
        if args == None: return
        self.plainTextEdit.setPlainText('')
        self.plainTextEdit.appendPlainText(
            '------ %s ------' % time.strftime("%H:%M:%S", time.localtime()))

        geometrys = findCoincidentGeometry.findCoincidentGeometrys()

        self.plainTextEdit.appendPlainText('\n'.join(geometrys))
        self.plainTextEdit.appendPlainText(
Exemple #53
0
#   date: Tue, 29 Jul 2014 09:29:32
#=============================================
import math, re, os
import maya.cmds as mc
from FoleyUtils import uiTool, scriptTool, mayaTool, mathTool
#--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#- Refresh Characters                                           +
#- Guess Character Type                                         +
#- Left arm, Right arm, Left leg, Right leg                     +
#- Left foreleg, Right foreleg, Left hindleg, Right hindleg     +
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Uiwnd, UiClass = uiTool.loadUi(os.path.join(scriptTool.getScriptPath(), 'IKFKSwitch.ui'))
class IKFKSwitch(Uiwnd, UiClass):
    def __init__(self, parent = None):
        if uiTool.windowExists(parent, 'DDikfkSwitchWindow'):
                return    
            
        super(IKFKSwitch, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #--------
        self.on_actionRefreshCharacter_triggered(True)

    
    def on_actionRefreshCharacter_triggered(self, args=None):
        if args==None:return
        self.Controls = ' '.join(mc.ls())
Exemple #54
0
    def data(self, index, role=QtCore.Qt.DisplayRole):
        if role == QtCore.Qt.DisplayRole or role == QtCore.Qt.EditRole:
            return self.LIST_DATA[index.row()]

    def changeData(self, inputData):
        self.beginRemoveRows(QtCore.QModelIndex(), 0, self.rowCount())
        del self.LIST_DATA[:]
        self.endRemoveRows()

        self.beginInsertRows(QtCore.QModelIndex(), 0, self.rowCount())
        self.LIST_DATA = inputData
        self.endInsertRows()


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'weightsTool.ui'))


class WeightsTool(windowClass, baseClass):
    SOURCE_DEFORM_TYPE = 'cluster'
    TARGET_DEFORM_TYPE = 'cluster'

    def __init__(self, parent=None):
        super(WeightsTool, self).__init__(parent)
        self.setupUi(self)
        self.show()

        self.SOURCE_MODEL = ListModel()
        self.TARGET_MODEL = ListModel()
        self.VIW_Source.setModel(self.SOURCE_MODEL)
        self.VIW_Target.setModel(self.TARGET_MODEL)
Exemple #55
0
            print 'Error -> obj  %s  was not Exists...' % obj
            return
        if not mc.attributeQuery(attribute, n=obj, ex=True):
            print 'Error -> attributes  %s  was not Exists...' % arg
            return

    mc.delete(mc.keyframe(dsn, q=True, n=True))

    driverValues = mc.keyframe(src, q=True, fc=True)
    drivenValues = mc.keyframe(src, q=True, vc=True)
    for drv, dnv in zip(driverValues, drivenValues):
        mc.setDrivenKeyframe(dsn, cd=dsr, dv=drv, v=dnv * mirror)


windowClass, baseClass = uiTool.loadUi(
    os.path.join(scriptTool.getScriptPath(), 'mirrorDrivenKeys.ui'))


class MirrorDrivenKeysUI(windowClass, baseClass):
    def __init__(self, parent=None):
        if uiTool.windowExists(parent, 'mirrorDrivenkeysWindow'):
            return

        super(MirrorDrivenKeysUI, self).__init__(parent)
        self.setupUi(self)
        self.show()
        #----------------------------------------------------------------
        self.__SrcOBJ = None
        self.__DstOBJ = None

        self.__model_SrcDriver = ListModel()