示例#1
0
    def on_btn_FixSkinBsEnd_clicked(self, clicked=None):
        if clicked == None:return

        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0:return
        selectAttr = self.__AttributeModel.data(selectIndexes[0], QtCore.Qt.DisplayRole)
        if not uiTool.warning('BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'%selectAttr):return

        openCloseDeformer(self.__baseModel, 0, ('skinCluster'))
        newSculpModel = cvShapeInverterCmds.invert(self.__baseModel, self.__sculpmodel, self.progressBar)
        mc.delete(newSculpModel, ch=True)
        openCloseDeformer(self.__baseModel, 1, ('skinCluster'))

        if mc.objExists(selectAttr):
            mc.blendShape(newSculpModel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(newSculpModel)
        else:
            shape = mc.listRelatives(newSculpModel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr  = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]'%shape, '%s.%s'%(self.__blendShape, TGTattr), f=True)

            mc.rename(newSculpModel, selectAttr)
        mc.delete(self.__sculpmodel)
        mc.delete(self.__tempmodel)
示例#2
0
    def on_btn_FixBsEnd_clicked(self, clicked=None):
        if clicked == None:return

        #-
        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0:return

        selectAttr = self.__AttributeModel.data(selectIndexes[0], QtCore.Qt.DisplayRole)
        #-
        if not uiTool.warning('BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'%selectAttr):return


        if mc.objExists(selectAttr):
            mc.blendShape(self.__sculpmodel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(self.__sculpmodel)

        else:
            shape = mc.listRelatives(self.__sculpmodel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr  = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]'%shape, '%s.%s'%(self.__blendShape, TGTattr), f=True)
            mc.rename(self.__sculpmodel, selectAttr)

        mc.delete(self.__tempmodel)
示例#3
0
    def on_btn_FixBsBsEnd_clicked(self, clicked=None):
        if clicked == None:return

        #-
        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0:return
        selectAttr = self.__AttributeModel.data(selectIndexes[0], QtCore.Qt.DisplayRole)

        if not uiTool.warning('BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'%selectAttr):return

        #- dup model
        openCloseDeformer(self.__baseModel, 0)
        midModel = mc.duplicate(self.__baseModel, n=nameTool.compileMayaObjectName('%s_mid'%self.__baseModel.split(':')[-1]))[0]
        openCloseDeformer(self.__baseModel, 1)

        #- add blendShape
        mc.blendShape(self.__sculpmodel, self.__baseModel, midModel, w=((0, 1), (1, -1)))
        mc.delete(midModel, ch=True)


        if mc.objExists(selectAttr):
            mc.blendShape(midModel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(midModel)
        else:
            shape = mc.listRelatives(midModel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr  = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]'%shape, '%s.%s'%(self.__blendShape, TGTattr), f=True)

            mc.rename(midModel, selectAttr)
        mc.delete(self.__sculpmodel)
        mc.delete(self.__tempmodel)
    def on_btn_FixSkinBsEnd_clicked(self, clicked=None):
        if clicked == None: return

        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0: return
        selectAttr = self.__AttributeModel.data(selectIndexes[0],
                                                QtCore.Qt.DisplayRole)
        if not uiTool.warning(
                'BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'
                % selectAttr):
            return

        openCloseDeformer(self.__baseModel, 0, ('skinCluster'))
        newSculpModel = cvShapeInverterCmds.invert(self.__baseModel,
                                                   self.__sculpmodel,
                                                   self.progressBar)
        mc.delete(newSculpModel, ch=True)
        openCloseDeformer(self.__baseModel, 1, ('skinCluster'))

        if mc.objExists(selectAttr):
            mc.blendShape(newSculpModel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(newSculpModel)
        else:
            shape = mc.listRelatives(newSculpModel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]' % shape,
                           '%s.%s' % (self.__blendShape, TGTattr),
                           f=True)

            mc.rename(newSculpModel, selectAttr)
        mc.delete(self.__sculpmodel)
        mc.delete(self.__tempmodel)
    def on_btn_FixBsEnd_clicked(self, clicked=None):
        if clicked == None: return

        #-
        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0: return

        selectAttr = self.__AttributeModel.data(selectIndexes[0],
                                                QtCore.Qt.DisplayRole)
        #-
        if not uiTool.warning(
                'BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'
                % selectAttr):
            return

        if mc.objExists(selectAttr):
            mc.blendShape(self.__sculpmodel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(self.__sculpmodel)

        else:
            shape = mc.listRelatives(self.__sculpmodel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]' % shape,
                           '%s.%s' % (self.__blendShape, TGTattr),
                           f=True)
            mc.rename(self.__sculpmodel, selectAttr)

        mc.delete(self.__tempmodel)
def mirrorDrivenkeyByControls():
    if not uiTool.warning(message='Mirror face control\'s drivenKeys? ?'):
        return
    controls = mc.ls('L_*_ctl_*', type='transform')
    for src in controls:
        dst = src.replace('L_', 'R_')
        if not mc.objExists(dst):
            continue
        mirrorDrivenkeys(src, dst)
def mirrorDrivenkeyByControls():
    if not uiTool.warning(message='Mirror face control\'s drivenKeys? ?'):
        return
    controls = mc.ls('L_*_ctl_*', type='transform')
    for src in controls:
        dst = src.replace('L_', 'R_')
        if not mc.objExists(dst):
            continue
        mirrorDrivenkeys(src, dst)
示例#8
0
    def on_btn_RepalceBlendShape_clicked(self, clicked=None):
        if clicked == None:return
        selModel = mc.ls(sl=True)
        if len(selModel) == 0:return
        shape = mc.listRelatives(selModel, s=True, path=True)[0]

        if len(self.listView_attributeList.selectedIndexes()) == 0:return
        selectAttr = self.__AttributeModel.data(self.listView_attributeList.selectedIndexes()[0], QtCore.Qt.DisplayRole)
        if not uiTool.warning('BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'%selectAttr):return

        weightID = self.__AttributeDT2.get(selectAttr, None)
        TGTattr  = self.__IGTAttributeDT.get(weightID, None)
        mc.connectAttr('%s.worldMesh[0]'%shape, '%s.%s'%(self.__blendShape, TGTattr), f=True)
    def on_btn_FixBsBsEnd_clicked(self, clicked=None):
        if clicked == None: return

        #-
        selectIndexes = self.listView_attributeList.selectedIndexes()
        if len(selectIndexes) == 0: return
        selectAttr = self.__AttributeModel.data(selectIndexes[0],
                                                QtCore.Qt.DisplayRole)

        if not uiTool.warning(
                'BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'
                % selectAttr):
            return

        #- dup model
        openCloseDeformer(self.__baseModel, 0)
        midModel = mc.duplicate(
            self.__baseModel,
            n=nameTool.compileMayaObjectName(
                '%s_mid' % self.__baseModel.split(':')[-1]))[0]
        openCloseDeformer(self.__baseModel, 1)

        #- add blendShape
        mc.blendShape(self.__sculpmodel,
                      self.__baseModel,
                      midModel,
                      w=((0, 1), (1, -1)))
        mc.delete(midModel, ch=True)

        if mc.objExists(selectAttr):
            mc.blendShape(midModel, selectAttr, w=((0, 1)))
            mc.delete(selectAttr, ch=True)
            mc.delete(midModel)
        else:
            shape = mc.listRelatives(midModel, s=True, path=True)[0]

            weightID = self.__AttributeDT2.get(selectAttr, None)
            TGTattr = self.__IGTAttributeDT.get(weightID, None)
            mc.connectAttr('%s.worldMesh[0]' % shape,
                           '%s.%s' % (self.__blendShape, TGTattr),
                           f=True)

            mc.rename(midModel, selectAttr)
        mc.delete(self.__sculpmodel)
        mc.delete(self.__tempmodel)
示例#10
0
    def on_btn_RepalceBlendShape_clicked(self, clicked=None):
        if clicked == None: return
        selModel = mc.ls(sl=True)
        if len(selModel) == 0: return
        shape = mc.listRelatives(selModel, s=True, path=True)[0]

        if len(self.listView_attributeList.selectedIndexes()) == 0: return
        selectAttr = self.__AttributeModel.data(
            self.listView_attributeList.selectedIndexes()[0],
            QtCore.Qt.DisplayRole)
        if not uiTool.warning(
                'BlendShape\'s shape on attribute "%s" will be changed,\nand it can\'t to undo, \ncontinue? ?'
                % selectAttr):
            return

        weightID = self.__AttributeDT2.get(selectAttr, None)
        TGTattr = self.__IGTAttributeDT.get(weightID, None)
        mc.connectAttr('%s.worldMesh[0]' % shape,
                       '%s.%s' % (self.__blendShape, TGTattr),
                       f=True)