先就这样吧!第二栏功能已经写好了。期待第三栏的后续更新吧!
Setup_Color
#-*- coding:utf-8 -*-
# Author:RDS
# QQ:872876319
from PySide2 import QtCore, QtGui, QtWidgets
import maya.cmds as cmds
import maya.mel as mel
# by wangdonghao
from PySide2.QtCore import *
from PySide2.QtWidgets import *
from shiboken2 import wrapInstance
import maya.OpenMayaUI as mui
import maya.cmds as cmds
import maya.mel as mel
def getMayaWindow():
main_window_ptr = mui.MQtUtil.mainWindow()
return wrapInstance(long(main_window_ptr), QWidget)
# wangdonghao done
class Ui_RDS_rigging(object):
def setupUi(self, RDS_rigging):
RDS_rigging.setObjectName("RDS_rigging")
RDS_rigging.setWindowModality(QtCore.Qt.NonModal)
RDS_rigging.setEnabled(True)
RDS_rigging.resize(302, 550)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(RDS_rigging.sizePolicy().hasHeightForWidth())
RDS_rigging.setSizePolicy(sizePolicy)
RDS_rigging.setMinimumSize(QtCore.QSize(0, 0))
RDS_rigging.setMaximumSize(QtCore.QSize(302, 550))
RDS_rigging.setStyleSheet("color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(202, 118, 59, 255), stop:1 rgba(182, 189, 205, 255));frame{border:1px solid rgb(0,255,0)};\n"
"")
self.verticalLayout = QtWidgets.QVBoxLayout(RDS_rigging)
self.verticalLayout.setContentsMargins(1, 1, 1, 1)
self.verticalLayout.setObjectName("verticalLayout")
self.Color_Card = QtWidgets.QFrame(RDS_rigging)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Color_Card.sizePolicy().hasHeightForWidth())
self.Color_Card.setSizePolicy(sizePolicy)
self.Color_Card.setMinimumSize(QtCore.QSize(0, 0))
self.Color_Card.setMaximumSize(QtCore.QSize(300, 200))
self.Color_Card.setStyleSheet("QFrame#Color_Card{\n"
" background-color: rgb(180, 180, 180);\n"
" border-radius:5px;\n"
"}\n"
"\n"
"Line#line,Line#line_1,QLabel#label{\n"
" background-color: rgb(180, 180, 180);\n"
"}\n"
"\n"
"\n"
"QPushButton#color01{background-color: rgb(0, 0, 0);}\n"
"QPushButton#color02{background-color: rgb(64, 64, 64);}\n"
"QPushButton#color03{background-color: rgb(128, 128, 128);}\n"
"QPushButton#color04{background-color: rgb(151, 0, 40);}\n"
"QPushButton#color05{background-color: rgb(0, 4, 96);}\n"
"QPushButton#color06{background-color: rgb(0, 0, 255);}\n"
"QPushButton#color07{background-color: rgb(0, 70, 25);}\n"
"QPushButton#color08{background-color: rgb(38, 0, 67);}\n"
"QPushButton#color09{background-color: rgb(200, 0, 200);}\n"
"QPushButton#color10{background-color: rgb(138, 72, 51);}\n"
"QPushButton#color11{background-color: rgb(63, 35, 31);}\n"
"QPushButton#color12{background-color: rgb(153, 38, 0);}\n"
"QPushButton#color13{background-color: rgb(255, 0, 0);}\n"
"QPushButton#color14{background-color: rgb(0, 255, 0);}\n"
"QPushButton#color15{background-color: rgb(0, 65, 153);}\n"
"QPushButton#color16{background-color: rgb(255, 255, 255);}\n"
"QPushButton#color17{background-color: rgb(255, 255, 0);}\n"
"QPushButton#color18{background-color: rgb(100, 220, 255);}\n"
"QPushButton#color19{background-color: rgb(67, 255, 163);}\n"
"QPushButton#color20{background-color: rgb(255, 176, 176);}\n"
"QPushButton#color21{background-color: rgb(228, 172, 121);}\n"
"QPushButton#color22{background-color: rgb(255, 255, 99);}\n"
"QPushButton#color23{background-color: rgb(0, 153, 84);}\n"
"QPushButton#color24{background-color: rgb(161, 105, 48);}\n"
"QPushButton#color25{background-color: rgb(159, 161, 48);}\n"
"QPushButton#color26{background-color: rgb(104, 161, 48);}\n"
"QPushButton#color27{background-color: rgb(48, 161, 93);}\n"
"QPushButton#color28{background-color: rgb(48, 161, 161);}\n"
"QPushButton#color29{background-color: rgb(48, 103, 161);}\n"
"QPushButton#color30{background-color: rgb(111, 48, 161);}\n"
"QPushButton#color31{background-color: rgb(161, 48, 105);}\n"
"\n"
"QPushButton#color01,QPushButton#color02,QPushButton#color03,QPushButton#color04,QPushButton#color05,QPushButton#color06,QPushButton#color07,QPushButton#color08,QPushButton#color09,QPushButton#color10,\n"
"QPushButton#color11,QPushButton#color12,QPushButton#color13,QPushButton#color14,QPushButton#color15,QPushButton#color16,QPushButton#color17,QPushButton#color18,QPushButton#color19,QPushButton#color20,\n"
"QPushButton#color21,QPushButton#color22,QPushButton#color23,QPushButton#color24,QPushButton#color25,QPushButton#color26,QPushButton#color27,QPushButton#color28,QPushButton#color29,QPushButton#color30,\n"
"QPushButton#color31,QPushButton#color_off{\n"
" border-radius:5px;\n"
" border-style: outset;\n"
" border-width: 1px;\n"
" border-radius: 5px;\n"
" border-color: beige;\n"
" min-width: 4em;\n"
" padding: 3px;\n"
"}\n"
"QPushButton#color01:pressed,QPushButton#color02:pressed,QPushButton#color03:pressed,QPushButton#color04:pressed,QPushButton#color05:pressed,QPushButton#color06:pressed,QPushButton#color07:pressed,QPushButton#color08:pressed,QPushButton#color09:pressed,QPushButton#color10:pressed,\n"
"QPushButton#color11:pressed,QPushButton#color12:pressed,QPushButton#color13:pressed,QPushButton#color14:pressed,QPushButton#color15:pressed,QPushButton#color16:pressed,QPushButton#color17:pressed,QPushButton#color18:pressed,QPushButton#color19:pressed,QPushButton#color20:pressed,\n"
"QPushButton#color21:pressed,QPushButton#color22:pressed,QPushButton#color23:pressed,QPushButton#color24:pressed,QPushButton#color25:pressed,QPushButton#color26:pressed,QPushButton#color27:pressed,QPushButton#color28:pressed,QPushButton#color29:pressed,QPushButton#color30:pressed,\n"
"QPushButton#color31:pressed,QPushButton#color_off:pressed{\n"
" \n"
" background-color: rgb(115, 115, 115);\n"
" \n"
" border-style: inset;\n"
"}")
self.Color_Card.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.Color_Card.setFrameShadow(QtWidgets.QFrame.Raised)
self.Color_Card.setLineWidth(1)
self.Color_Card.setObjectName("Color_Card")
self.gridLayout = QtWidgets.QGridLayout(self.Color_Card)
self.gridLayout.setSpacing(3)
self.gridLayout.setContentsMargins(9, 9, 9, 9)
self.gridLayout.setObjectName("gridLayout")
self.color31 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color31.sizePolicy().hasHeightForWidth())
self.color31.setSizePolicy(sizePolicy)
self.color31.setText("")
self.color31.setObjectName("color31")
self.gridLayout.addWidget(self.color31, 11, 3, 1, 1)
self.color15 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color15.sizePolicy().hasHeightForWidth())
self.color15.setSizePolicy(sizePolicy)
self.color15.setStyleSheet("")
self.color15.setText("")
self.color15.setObjectName("color15")
self.gridLayout.addWidget(self.color15, 7, 3, 1, 1)
self.color08 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color08.sizePolicy().hasHeightForWidth())
self.color08.setSizePolicy(sizePolicy)
self.color08.setAutoFillBackground(False)
self.color08.setStyleSheet("")
self.color08.setText("")
self.color08.setObjectName("color08")
self.gridLayout.addWidget(self.color08, 5, 4, 1, 1)
self.color25 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color25.sizePolicy().hasHeightForWidth())
self.color25.setSizePolicy(sizePolicy)
self.color25.setStyleSheet("")
self.color25.setText("")
self.color25.setObjectName("color25")
self.gridLayout.addWidget(self.color25, 10, 1, 1, 1)
self.color24 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color24.sizePolicy().hasHeightForWidth())
self.color24.setSizePolicy(sizePolicy)
self.color24.setStyleSheet("")
self.color24.setText("")
self.color24.setObjectName("color24")
self.gridLayout.addWidget(self.color24, 9, 4, 1, 1)
self.color21 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color21.sizePolicy().hasHeightForWidth())
self.color21.setSizePolicy(sizePolicy)
self.color21.setStyleSheet("")
self.color21.setText("")
self.color21.setObjectName("color21")
self.gridLayout.addWidget(self.color21, 9, 1, 1, 1)
self.color05 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color05.sizePolicy().hasHeightForWidth())
self.color05.setSizePolicy(sizePolicy)
self.color05.setStyleSheet("")
self.color05.setText("")
self.color05.setObjectName("color05")
self.gridLayout.addWidget(self.color05, 5, 1, 1, 1)
self.color06 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color06.sizePolicy().hasHeightForWidth())
self.color06.setSizePolicy(sizePolicy)
self.color06.setStyleSheet("")
self.color06.setText("")
self.color06.setObjectName("color06")
self.gridLayout.addWidget(self.color06, 5, 2, 1, 1)
self.color20 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color20.sizePolicy().hasHeightForWidth())
self.color20.setSizePolicy(sizePolicy)
self.color20.setStyleSheet("")
self.color20.setText("")
self.color20.setObjectName("color20")
self.gridLayout.addWidget(self.color20, 8, 4, 1, 1)
self.line_1 = QtWidgets.QFrame(self.Color_Card)
self.line_1.setStyleSheet("")
self.line_1.setFrameShape(QtWidgets.QFrame.HLine)
self.line_1.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_1.setObjectName("line_1")
self.gridLayout.addWidget(self.line_1, 0, 0, 1, 5)
self.color09 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color09.sizePolicy().hasHeightForWidth())
self.color09.setSizePolicy(sizePolicy)
self.color09.setStyleSheet("")
self.color09.setText("")
self.color09.setObjectName("color09")
self.gridLayout.addWidget(self.color09, 6, 1, 1, 1)
self.color17 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color17.sizePolicy().hasHeightForWidth())
self.color17.setSizePolicy(sizePolicy)
self.color17.setStyleSheet("")
self.color17.setText("")
self.color17.setObjectName("color17")
self.gridLayout.addWidget(self.color17, 8, 1, 1, 1)
self.color03 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color03.sizePolicy().hasHeightForWidth())
self.color03.setSizePolicy(sizePolicy)
self.color03.setStyleSheet("")
self.color03.setText("")
self.color03.setObjectName("color03")
self.gridLayout.addWidget(self.color03, 4, 3, 1, 1)
self.color14 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color14.sizePolicy().hasHeightForWidth())
self.color14.setSizePolicy(sizePolicy)
self.color14.setStyleSheet("")
self.color14.setText("")
self.color14.setObjectName("color14")
self.gridLayout.addWidget(self.color14, 7, 2, 1, 1)
self.color28 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color28.sizePolicy().hasHeightForWidth())
self.color28.setSizePolicy(sizePolicy)
self.color28.setText("")
self.color28.setObjectName("color28")
self.gridLayout.addWidget(self.color28, 10, 4, 1, 1)
self.color26 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color26.sizePolicy().hasHeightForWidth())
self.color26.setSizePolicy(sizePolicy)
self.color26.setText("")
self.color26.setObjectName("color26")
self.gridLayout.addWidget(self.color26, 10, 2, 1, 1)
self.color07 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color07.sizePolicy().hasHeightForWidth())
self.color07.setSizePolicy(sizePolicy)
self.color07.setStyleSheet("")
self.color07.setText("")
self.color07.setObjectName("color07")
self.gridLayout.addWidget(self.color07, 5, 3, 1, 1)
self.color11 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color11.sizePolicy().hasHeightForWidth())
self.color11.setSizePolicy(sizePolicy)
self.color11.setStyleSheet("")
self.color11.setText("")
self.color11.setObjectName("color11")
self.gridLayout.addWidget(self.color11, 6, 3, 1, 1)
self.color19 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color19.sizePolicy().hasHeightForWidth())
self.color19.setSizePolicy(sizePolicy)
self.color19.setStyleSheet("")
self.color19.setText("")
self.color19.setObjectName("color19")
self.gridLayout.addWidget(self.color19, 8, 3, 1, 1)
self.color_off = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color_off.sizePolicy().hasHeightForWidth())
self.color_off.setSizePolicy(sizePolicy)
self.color_off.setStyleSheet("color: rgb(0, 0, 0);")
self.color_off.setObjectName("color_off")
self.gridLayout.addWidget(self.color_off, 11, 4, 1, 1)
self.color13 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color13.sizePolicy().hasHeightForWidth())
self.color13.setSizePolicy(sizePolicy)
self.color13.setStyleSheet("")
self.color13.setText("")
self.color13.setObjectName("color13")
self.gridLayout.addWidget(self.color13, 7, 1, 1, 1)
self.color22 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color22.sizePolicy().hasHeightForWidth())
self.color22.setSizePolicy(sizePolicy)
self.color22.setStyleSheet("")
self.color22.setText("")
self.color22.setObjectName("color22")
self.gridLayout.addWidget(self.color22, 9, 2, 1, 1)
self.color04 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color04.sizePolicy().hasHeightForWidth())
self.color04.setSizePolicy(sizePolicy)
self.color04.setStyleSheet("")
self.color04.setText("")
self.color04.setObjectName("color04")
self.gridLayout.addWidget(self.color04, 4, 4, 1, 1)
self.color16 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color16.sizePolicy().hasHeightForWidth())
self.color16.setSizePolicy(sizePolicy)
self.color16.setAutoFillBackground(False)
self.color16.setStyleSheet("")
self.color16.setText("")
self.color16.setAutoDefault(False)
self.color16.setObjectName("color16")
self.gridLayout.addWidget(self.color16, 7, 4, 1, 1)
self.color30 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color30.sizePolicy().hasHeightForWidth())
self.color30.setSizePolicy(sizePolicy)
self.color30.setText("")
self.color30.setObjectName("color30")
self.gridLayout.addWidget(self.color30, 11, 2, 1, 1)
self.color29 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color29.sizePolicy().hasHeightForWidth())
self.color29.setSizePolicy(sizePolicy)
self.color29.setText("")
self.color29.setObjectName("color29")
self.gridLayout.addWidget(self.color29, 11, 1, 1, 1)
self.color02 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color02.sizePolicy().hasHeightForWidth())
self.color02.setSizePolicy(sizePolicy)
self.color02.setStyleSheet("")
self.color02.setText("")
self.color02.setDefault(False)
self.color02.setObjectName("color02")
self.gridLayout.addWidget(self.color02, 4, 2, 1, 1)
self.color01 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color01.sizePolicy().hasHeightForWidth())
self.color01.setSizePolicy(sizePolicy)
self.color01.setToolTip("")
self.color01.setToolTipDuration(1)
self.color01.setStyleSheet("")
self.color01.setText("")
self.color01.setCheckable(False)
self.color01.setChecked(False)
self.color01.setObjectName("color01")
self.gridLayout.addWidget(self.color01, 4, 1, 1, 1)
self.color12 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color12.sizePolicy().hasHeightForWidth())
self.color12.setSizePolicy(sizePolicy)
self.color12.setStyleSheet("")
self.color12.setText("")
self.color12.setObjectName("color12")
self.gridLayout.addWidget(self.color12, 6, 4, 1, 1)
self.color23 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color23.sizePolicy().hasHeightForWidth())
self.color23.setSizePolicy(sizePolicy)
self.color23.setStyleSheet("")
self.color23.setText("")
self.color23.setObjectName("color23")
self.gridLayout.addWidget(self.color23, 9, 3, 1, 1)
self.color10 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color10.sizePolicy().hasHeightForWidth())
self.color10.setSizePolicy(sizePolicy)
self.color10.setStyleSheet("")
self.color10.setText("")
self.color10.setObjectName("color10")
self.gridLayout.addWidget(self.color10, 6, 2, 1, 1)
self.color27 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color27.sizePolicy().hasHeightForWidth())
self.color27.setSizePolicy(sizePolicy)
self.color27.setLayoutDirection(QtCore.Qt.LeftToRight)
self.color27.setText("")
self.color27.setAutoDefault(False)
self.color27.setDefault(False)
self.color27.setFlat(False)
self.color27.setObjectName("color27")
self.gridLayout.addWidget(self.color27, 10, 3, 1, 1)
self.color18 = QtWidgets.QPushButton(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.color18.sizePolicy().hasHeightForWidth())
self.color18.setSizePolicy(sizePolicy)
self.color18.setStyleSheet("")
self.color18.setText("")
self.color18.setObjectName("color18")
self.gridLayout.addWidget(self.color18, 8, 2, 1, 1)
self.line = QtWidgets.QFrame(self.Color_Card)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.line.sizePolicy().hasHeightForWidth())
self.line.setSizePolicy(sizePolicy)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.gridLayout.addWidget(self.line, 2, 0, 1, 5)
self.label = QtWidgets.QLabel(self.Color_Card)
self.label.setEnabled(False)
self.label.setStyleSheet("color: rgb(0, 0, 0);")
self.label.setIndent(-10)
self.label.setOpenExternalLinks(False)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 1, 0, 1, 5)
self.verticalLayout.addWidget(self.Color_Card)
self.line_5 = QtWidgets.QFrame(RDS_rigging)
self.line_5.setMaximumSize(QtCore.QSize(16777215, 2))
self.line_5.setFrameShape(QtWidgets.QFrame.HLine)
self.line_5.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_5.setObjectName("line_5")
self.verticalLayout.addWidget(self.line_5)
self.Create_Jnt = QtWidgets.QFrame(RDS_rigging)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Create_Jnt.sizePolicy().hasHeightForWidth())
self.Create_Jnt.setSizePolicy(sizePolicy)
self.Create_Jnt.setMaximumSize(QtCore.QSize(300, 180))
self.Create_Jnt.setStyleSheet("QFrame#Create_Jnt{\n"
"background-color: rgb(180, 180, 180);\n"
"border-radius:5px;\n"
"}\n"
"\n"
"QSpinBox#JointNumber_spinBox,QLineEdit#JointName_lineEdit{\n"
" background-color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QSlider#JointNumber_slider,Line#line_6{\n"
" background-color: rgb(180, 180, 180);\n"
" color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QRadioButton#JointName_radioButton1,QRadioButton#JointName_radioButton2,QSpinBos#JointNumber_spinBox,QLabel#label_2,QLabel#label_3,QLabel#label_4,Line#line_2\n"
"{color: rgb(0, 0, 0);background-color: rgb(180, 180, 180)}\n"
"\n"
"QPushButton#CurveJoint_pushButton,QPushButton#JointCtrl_pushButton,QPushButton#CurveCtrl_pushButton{\n"
" color: rgb(0, 0, 0);\n"
" background-color: rgb(120, 120, 120)\n"
"}\n"
"\n"
"QPushButton#CurveJoint_pushButton,QPushButton#JointCtrl_pushButton,QPushButton#CurveCtrl_pushButton{\n"
" border-radius:5px;\n"
" border-style: outset;\n"
" border-width: 1px;\n"
" border-radius: 5px;\n"
" border-color: beige;\n"
" min-width: 4em;\n"
" padding: 3px;\n"
"}\n"
"\n"
"QPushButton#CurveJoint_pushButton:pressed,QPushButton#JointCtrl_pushButton:pressed,QPushButton#CurveCtrl_pushButton:pressed\n"
"{\n"
" background-color: rgb(100, 100, 100);\n"
" border-style: inset;\n"
"\n"
"}\n"
"")
self.Create_Jnt.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.Create_Jnt.setFrameShadow(QtWidgets.QFrame.Raised)
self.Create_Jnt.setObjectName("Create_Jnt")
self.gridLayout_3 = QtWidgets.QGridLayout(self.Create_Jnt)
self.gridLayout_3.setObjectName("gridLayout_3")
self.JointName_lineEdit = QtWidgets.QLineEdit(self.Create_Jnt)
self.JointName_lineEdit.setEnabled(False)
self.JointName_lineEdit.setFrame(True)
self.JointName_lineEdit.setObjectName("JointName_lineEdit")
self.gridLayout_3.addWidget(self.JointName_lineEdit, 2, 4, 1, 1)
self.CurveJoint_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
self.CurveJoint_pushButton.setObjectName("CurveJoint_pushButton")
self.gridLayout_3.addWidget(self.CurveJoint_pushButton, 3, 0, 1, 5)
self.JointCtrl_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
self.JointCtrl_pushButton.setObjectName("JointCtrl_pushButton")
self.gridLayout_3.addWidget(self.JointCtrl_pushButton, 4, 0, 1, 5)
self.label_2 = QtWidgets.QLabel(self.Create_Jnt)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
self.label_2.setSizePolicy(sizePolicy)
self.label_2.setMaximumSize(QtCore.QSize(16777215, 20))
self.label_2.setContextMenuPolicy(QtCore.Qt.NoContextMenu)
self.label_2.setObjectName("label_2")
self.gridLayout_3.addWidget(self.label_2, 0, 0, 1, 3)
self.label_4 = QtWidgets.QLabel(self.Create_Jnt)
self.label_4.setObjectName("label_4")
self.gridLayout_3.addWidget(self.label_4, 1, 0, 1, 2)
self.JointNumber_spinBox = QtWidgets.QSpinBox(self.Create_Jnt)
self.JointNumber_spinBox.setMinimum(1)
self.JointNumber_spinBox.setMaximum(1000)
self.JointNumber_spinBox.setProperty("value", 5)
self.JointNumber_spinBox.setObjectName("JointNumber_spinBox")
self.gridLayout_3.addWidget(self.JointNumber_spinBox, 1, 2, 1, 2)
self.label_3 = QtWidgets.QLabel(self.Create_Jnt)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_3.sizePolicy().hasHeightForWidth())
self.label_3.setSizePolicy(sizePolicy)
self.label_3.setObjectName("label_3")
self.gridLayout_3.addWidget(self.label_3, 2, 0, 1, 1)
self.JointName_radioButton1 = QtWidgets.QRadioButton(self.Create_Jnt)
self.JointName_radioButton1.setChecked(True)
self.JointName_radioButton1.setObjectName("JointName_radioButton1")
self.gridLayout_3.addWidget(self.JointName_radioButton1, 2, 1, 1, 2)
self.JointName_radioButton2 = QtWidgets.QRadioButton(self.Create_Jnt)
self.JointName_radioButton2.setEnabled(True)
self.JointName_radioButton2.setCheckable(True)
self.JointName_radioButton2.setChecked(False)
self.JointName_radioButton2.setObjectName("JointName_radioButton2")
self.gridLayout_3.addWidget(self.JointName_radioButton2, 2, 3, 1, 1)
self.line_6 = QtWidgets.QFrame(self.Create_Jnt)
self.line_6.setFrameShape(QtWidgets.QFrame.HLine)
self.line_6.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_6.setObjectName("line_6")
self.gridLayout_3.addWidget(self.line_6, 5, 0, 1, 5)
self.CurveCtrl_pushButton = QtWidgets.QPushButton(self.Create_Jnt)
self.CurveCtrl_pushButton.setObjectName("CurveCtrl_pushButton")
self.gridLayout_3.addWidget(self.CurveCtrl_pushButton, 6, 0, 1, 5)
self.verticalLayout.addWidget(self.Create_Jnt)
self.line_4 = QtWidgets.QFrame(RDS_rigging)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.line_4.sizePolicy().hasHeightForWidth())
self.line_4.setSizePolicy(sizePolicy)
self.line_4.setMaximumSize(QtCore.QSize(16777215, 2))
self.line_4.setFrameShape(QtWidgets.QFrame.HLine)
self.line_4.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_4.setObjectName("line_4")
self.verticalLayout.addWidget(self.line_4)
self.Adjustment = QtWidgets.QFrame(RDS_rigging)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Maximum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Adjustment.sizePolicy().hasHeightForWidth())
self.Adjustment.setSizePolicy(sizePolicy)
self.Adjustment.setMaximumSize(QtCore.QSize(300, 130))
self.Adjustment.setStyleSheet("QFrame#Adjustment\n"
"{\n"
" background-color: rgb(180, 180, 180);\n"
" border-radius:5px;\n"
"}\n"
"\n"
"Line#line_2,Line#line_7\n"
"{\n"
" background-color: rgb(180, 180, 180);\n"
"}\n"
"\n"
"\n"
"QSlider#JointSize_horizontalSlider,QSlider#ControlSize_horizontalSlider,QLabel#label_5,QLabel#label_6,QLabel#label_7\n"
"{\n"
" background-color: rgb(180, 180, 180);\n"
" color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QDoubleSpinBox#JointSize_doubleSpinBox,QDoubleSpinBox#ControlSize_doubleSpinBox\n"
"{\n"
" \n"
" background-color: rgb(255, 255, 255);\n"
"}\n"
"\n"
"QPushButton#Enlarge_pushButton,QPushButton#Narrow_pushButton,QPushButton#Confirm_pushButton\n"
"{\n"
" color: rgb(0, 0, 0);\n"
" background-color: rgb(120, 120, 120)\n"
"}\n"
"\n"
"QPushButton#Enlarge_pushButton,QPushButton#Narrow_pushButton,QPushButton#Confirm_pushButton{\n"
" border-radius:5px;\n"
" border-style: outset;\n"
" border-width: 1px;\n"
" border-radius: 5px;\n"
" border-color: beige;\n"
" min-width: 4em;\n"
" padding: 3px;\n"
"}\n"
"\n"
"QPushButton#Narrow_pushButton:pressed,QPushButton#Enlarge_pushButton:pressed,QPushButton#Confirm_pushButton:pressed\n"
"{\n"
" background-color: rgb(100, 100, 100);\n"
" border-style: inset;\n"
"\n"
"}")
self.Adjustment.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.Adjustment.setFrameShadow(QtWidgets.QFrame.Raised)
self.Adjustment.setObjectName("Adjustment")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.Adjustment)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.label_5 = QtWidgets.QLabel(self.Adjustment)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.MinimumExpanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
self.label_5.setSizePolicy(sizePolicy)
self.label_5.setMaximumSize(QtCore.QSize(16777215, 13))
self.label_5.setObjectName("label_5")
self.verticalLayout_2.addWidget(self.label_5)
self.line_2 = QtWidgets.QFrame(self.Adjustment)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.verticalLayout_2.addWidget(self.line_2)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.label_6 = QtWidgets.QLabel(self.Adjustment)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_6.sizePolicy().hasHeightForWidth())
self.label_6.setSizePolicy(sizePolicy)
self.label_6.setObjectName("label_6")
self.horizontalLayout_3.addWidget(self.label_6)
self.JointSize_doubleSpinBox = QtWidgets.QDoubleSpinBox(self.Adjustment)
self.JointSize_doubleSpinBox.setEnabled(True)
self.JointSize_doubleSpinBox.setMaximumSize(QtCore.QSize(16777215, 25))
self.JointSize_doubleSpinBox.setMouseTracking(False)
self.JointSize_doubleSpinBox.setAcceptDrops(False)
self.JointSize_doubleSpinBox.setWrapping(False)
self.JointSize_doubleSpinBox.setFrame(True)
self.JointSize_doubleSpinBox.setAccelerated(False)
self.JointSize_doubleSpinBox.setDecimals(2)
self.JointSize_doubleSpinBox.setMinimum(0.01)
self.JointSize_doubleSpinBox.setMaximum(10.0)
self.JointSize_doubleSpinBox.setSingleStep(0.1)
self.JointSize_doubleSpinBox.setProperty("value", 1.0)
self.JointSize_doubleSpinBox.setObjectName("JointSize_doubleSpinBox")
self.horizontalLayout_3.addWidget(self.JointSize_doubleSpinBox)
self.Confirm_pushButton = QtWidgets.QPushButton(self.Adjustment)
self.Confirm_pushButton.setObjectName("Confirm_pushButton")
self.horizontalLayout_3.addWidget(self.Confirm_pushButton)
self.horizontalLayout_3.setStretch(0, 10)
self.horizontalLayout_3.setStretch(1, 10)
self.horizontalLayout_3.setStretch(2, 18)
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
self.line_7 = QtWidgets.QFrame(self.Adjustment)
self.line_7.setFrameShape(QtWidgets.QFrame.HLine)
self.line_7.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_7.setObjectName("line_7")
self.verticalLayout_2.addWidget(self.line_7)
self.label_7 = QtWidgets.QLabel(self.Adjustment)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_7.sizePolicy().hasHeightForWidth())
self.label_7.setSizePolicy(sizePolicy)
self.label_7.setObjectName("label_7")
self.verticalLayout_2.addWidget(self.label_7)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.Narrow_pushButton = QtWidgets.QPushButton(self.Adjustment)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Narrow_pushButton.sizePolicy().hasHeightForWidth())
self.Narrow_pushButton.setSizePolicy(sizePolicy)
self.Narrow_pushButton.setMaximumSize(QtCore.QSize(150, 30))
self.Narrow_pushButton.setObjectName("Narrow_pushButton")
self.horizontalLayout.addWidget(self.Narrow_pushButton)
self.Enlarge_pushButton = QtWidgets.QPushButton(self.Adjustment)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.Enlarge_pushButton.sizePolicy().hasHeightForWidth())
self.Enlarge_pushButton.setSizePolicy(sizePolicy)
self.Enlarge_pushButton.setMaximumSize(QtCore.QSize(150, 30))
self.Enlarge_pushButton.setObjectName("Enlarge_pushButton")
self.horizontalLayout.addWidget(self.Enlarge_pushButton)
self.verticalLayout_2.addLayout(self.horizontalLayout)
self.verticalLayout.addWidget(self.Adjustment)
self.retranslateUi(RDS_rigging)
QtCore.QObject.connect(self.JointName_radioButton2, QtCore.SIGNAL("toggled(bool)"), self.JointName_lineEdit.setEnabled)
QtCore.QMetaObject.connectSlotsByName(RDS_rigging)
def retranslateUi(self, RDS_rigging):
RDS_rigging.setWindowTitle(QtWidgets.QApplication.translate(u'RDS_rigging', u'RDS', None, -1))
self.color_off.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'OFF', None, -1))
self.label.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'set_color', None, -1))
self.CurveJoint_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¹Ç÷À', None, -1))
self.JointCtrl_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'Ϊ¹Ç÷À´´½¨¿ØÖÆÆ÷', None, -1))
self.label_2.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¹Ç÷À:', None, -1))
self.label_4.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'´´½¨¹Ç÷À¶ÎÊý£º', None, -1))
self.label_3.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¹Ç÷ÀÃû³Æ', None, -1))
self.JointName_radioButton1.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'ÇúÏßÃû³Æ', None, -1))
self.JointName_radioButton2.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'×Ô¶¨Òå', None, -1))
self.CurveCtrl_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¸ù¾ÝÇúÏß´´½¨¿ØÖÆÆ÷', None, -1))
self.label_5.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'µ÷Õû£º', None, -1))
self.label_6.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¹Ç÷À´óС£º', None, -1))
self.Confirm_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'OK', None, -1))
self.label_7.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'¿ØÖÆÆ÷Ëõ·Å£º', None, -1))
self.Narrow_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'ËõС', None, -1))
self.Enlarge_pushButton.setText(QtWidgets.QApplication.translate(u'RDS_rigging', u'·Å´ó', None, -1))
class ui(QtWidgets.QDialog, Ui_RDS_rigging):
def __init__(self, parent):
self.window_name = u'Ui_RDS_rigging'
if cmds.window(self.window_name, exists=True):
cmds.deleteUI(self.window_name)
super(ui, self).__init__(parent=parent)
self.setupUi(self)
#self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
self.color01.clicked.connect(self.color001)
self.color02.clicked.connect(self.color002)
self.color03.clicked.connect(self.color003)
self.color04.clicked.connect(self.color004)
self.color05.clicked.connect(self.color005)
self.color06.clicked.connect(self.color006)
self.color07.clicked.connect(self.color007)
self.color08.clicked.connect(self.color008)
self.color09.clicked.connect(self.color009)
self.color10.clicked.connect(self.color010)
self.color11.clicked.connect(self.color011)
self.color12.clicked.connect(self.color012)
self.color13.clicked.connect(self.color013)
self.color14.clicked.connect(self.color014)
self.color15.clicked.connect(self.color015)
self.color16.clicked.connect(self.color016)
self.color17.clicked.connect(self.color017)
self.color18.clicked.connect(self.color018)
self.color19.clicked.connect(self.color019)
self.color20.clicked.connect(self.color020)
self.color21.clicked.connect(self.color021)
self.color22.clicked.connect(self.color022)
self.color23.clicked.connect(self.color023)
self.color24.clicked.connect(self.color024)
self.color25.clicked.connect(self.color025)
self.color26.clicked.connect(self.color026)
self.color27.clicked.connect(self.color027)
self.color28.clicked.connect(self.color028)
self.color29.clicked.connect(self.color029)
self.color30.clicked.connect(self.color030)
self.color31.clicked.connect(self.color031)
self.color_off.clicked.connect(self.color_OFF)
self.CurveJoint_pushButton.clicked.connect(self.CreateJointChain)
self.JointCtrl_pushButton.clicked.connect(self.JointControl)
self.CurveCtrl_pushButton.clicked.connect(self.CurveCtrl)
self.Confirm_pushButton.clicked.connect(self.Confirm)
self.Narrow_pushButton.clicked.connect(self.Narrow)
self.Enlarge_pushButton.clicked.connect(self.Enlarge)
def color001(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 1)
def color002(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 2)
def color003(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 3)
def color004(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 4)
def color005(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 5)
def color006(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 6)
def color007(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 7)
def color008(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 8)
def color009(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 9)
def color010(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 10)
def color011(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 11)
def color012(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 12)
def color013(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 13)
def color014(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 14)
def color015(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 15)
def color016(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 16)
def color017(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 17)
def color018(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 18)
def color019(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 19)
def color020(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 20)
def color021(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 21)
def color022(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 22)
def color023(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 23)
def color024(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 24)
def color025(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 25)
def color026(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 26)
def color027(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 27)
def color028(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 28)
def color029(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 29)
def color030(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 30)
def color031(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 1)
cmds.setAttr(ii + u'.overrideColor', 31)
def color_OFF(self):
select_obj = cmds.ls(sl=True)
for i in select_obj:
select_obj_shape = cmds.listRelatives(i, shapes=True)
for ii in select_obj_shape:
cmds.setAttr(ii + u'.overrideEnabled', 0)
def CreateJointChain(self):
select_curve = cmds.ls(sl=True)
select_curve_shape = cmds.listRelatives(select_curve, shapes=True)
select_curve_type = cmds.nodeType(select_curve_shape)
if select_curve_type == u'nurbsCurve':
if len(select_curve) == 1:
locator_obj = cmds.spaceLocator(position=(0, 0, 0))
motionPath_JD = cmds.createNode(u'motionPath') # ´´½¨¶¯×÷·¾¶½Úµã
cmds.setAttr(motionPath_JD + u'.fractionMode', True)
cmds.connectAttr(select_curve_shape[0] + u'.worldSpace[0]', motionPath_JD + u'.geometryPath')
# ½«²ÎÊý´«µ½locatorµÄXÖáÉÏ
addDoubleLinear01_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.xCoordinate', addDoubleLinear01_JD + u'.input1')
cmds.connectAttr(addDoubleLinear01_JD + u'.output', locator_obj[0] + u'.translateX')
# ½«²ÎÊý´«µ½locatorµÄYÖáÉÏ
addDoubleLinear02_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.yCoordinate', addDoubleLinear02_JD + u'.input1')
cmds.connectAttr(addDoubleLinear02_JD + u'.output', locator_obj[0] + u'.translateY')
# ½«²ÎÊý´«µ½locatorµÄZÖáÉÏ
addDoubleLinear03_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.zCoordinate', addDoubleLinear03_JD + u'.input1')
cmds.connectAttr(addDoubleLinear03_JD + u'.output', locator_obj[0] + u'.translateZ')
jntNumber = self.JointNumber_spinBox.value()
if self.JointName_radioButton1.isChecked():
for i in range(jntNumber + 1):
cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber)) # locatorÔÚÇúÏߵĵȷÖλÖÃ
locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True,
translation=True) # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
jntobj = cmds.joint(name=select_curve[0] + u'_' + str(i) + u'_jnt',
position=(locator_transform[0], locator_transform[1], locator_transform[2]))
if i == 0:
firstJnt = jntobj
if i == jntNumber:
lastJnt = jntobj
elif self.JointName_radioButton2.isChecked():
jntName = str(self.JointName_lineEdit.text())
for i in range(jntNumber + 1):
cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber)) # locatorÔÚÇúÏߵĵȷÖλÖÃ
locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True,
translation=True) # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
jntobj = cmds.joint(name=jntName + u'_' + str(i) + u'_jnt',
position=(locator_transform[0], locator_transform[1], locator_transform[2]))
if i == 0:
firstJnt = jntobj
if i == jntNumber:
lastJnt = jntobj
cmds.delete(motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD,locator_obj) # ɾ³ý²»ÓõĽڵã
cmds.select(firstJnt)
cmds.joint(e=True, orientJoint='xyz', secondaryAxisOrient='yup', children=True, zeroScaleOrient=True) # µ÷Õû¹Ç÷ÀµÄÖáÏò
cmds.joint(lastJnt, e=True, orientation=(0, 0, 0))
else:
print(u'ÇëÑ¡ÔñÒ»¸ùÇúÏß')
else:
print(u'ÇëÑ¡ÔñÇúÏß')
def JointControl(self):
list_select = cmds.ls(selection=True, dag=True, type='joint')
if self.JointName_radioButton1.isChecked():
if len(list_select) > 0:
for i,_ in enumerate(list_select):
create_curve_fk = cmds.curve(point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),
(-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072), \
(-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
(-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16), \
(8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),
(2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072), \
(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(list_select[i], i+1, u'fk_ctrl'))
curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)
cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
create_curve_ik = cmds.curve(point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
(-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092), \
(-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
(-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16), \
(6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
(1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092), \
(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(list_select[i], i+1, u'ik_ctrl'))
curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)
cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
cmds.parent(curve_ik_name, curve_fk_name)
drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(list_select[i], i+1, u'drve'))
grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(list_select[i], i+1, u'grp'))
grp_transfrom = cmds.parentConstraint(list_select[i], grpName)
cmds.delete(grp_transfrom)
cmds.parentConstraint(curve_ik_name, list_select[i])
cmds.scaleConstraint(curve_ik_name, list_select[i])
if i>0:
cmds.parent(grpName, u'{}_{}_{}'.format(list_select[i-1], i, u'fk_ctrl'))
else:
print u'ÇëÑ¡Ñ¡Ôñ¹Ç÷À,²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡'
elif self.JointName_radioButton2.isChecked():
jinName = str(self.JointName_lineEdit.text())
if len(list_select) > 0:
for i, _ in enumerate(list_select):
#fkÇúÏß
create_curve_fk = cmds.curve(point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),
(-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072), \
(-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
(-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16), \
(8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),
(2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072), \
(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15), \
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(jinName, i+1, u'fk_ctrl'))
curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True)
cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
#ikÇúÏß
create_curve_ik = cmds.curve(point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
(-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092), \
(-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
(-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16), \
(6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
(1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092), \
(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15), \
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True)
curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(jinName, i+1, u'ik_ctrl'))
curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True)
cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
cmds.parent(curve_ik_name, curve_fk_name)
#drve×éºÏ grp×é
drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(jinName, i+1, u'drve'))
grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(jinName, i+1, u'grp'))
grp_transfrom = cmds.parentConstraint(list_select[i], grpName)
cmds.delete(grp_transfrom)
cmds.parentConstraint(curve_ik_name, list_select[i])
cmds.scaleConstraint(curve_ik_name, list_select[i])
if i>0:
cmds.parent(grpName, u'{}_{}_{}'.format(jinName, i, u'fk_ctrl'))
else:
print u'ÇëÑ¡Ñ¡Ôñ¹Ç÷À,²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡'
def CurveCtrl(self):
select_curve = cmds.ls(sl=True)
select_curve_shape = cmds.listRelatives(select_curve, shapes=True)
select_curve_type = cmds.nodeType(select_curve_shape)
if select_curve_type == u'nurbsCurve':
if len(select_curve) == 1:
locator_obj = cmds.spaceLocator(position=(0, 0, 0))
motionPath_JD = cmds.createNode(u'motionPath') #´´½¨¶¯×÷·¾¶½Úµã
cmds.setAttr(motionPath_JD + u'.fractionMode', True)
cmds.connectAttr(select_curve_shape[0] + u'.worldSpace[0]', motionPath_JD + u'.geometryPath')
# ½«²ÎÊý´«µ½locatorµÄXÖáÉÏ
addDoubleLinear01_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.xCoordinate', addDoubleLinear01_JD + u'.input1')
cmds.connectAttr(addDoubleLinear01_JD + u'.output', locator_obj[0] + u'.translateX')
# ½«²ÎÊý´«µ½locatorµÄYÖáÉÏ
addDoubleLinear02_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.yCoordinate', addDoubleLinear02_JD + u'.input1')
cmds.connectAttr(addDoubleLinear02_JD + u'.output', locator_obj[0] + u'.translateY')
# ½«²ÎÊý´«µ½locatorµÄZÖáÉÏ
addDoubleLinear03_JD = cmds.createNode(u'addDoubleLinear')
cmds.connectAttr(motionPath_JD + u'.zCoordinate', addDoubleLinear03_JD + u'.input1')
cmds.connectAttr(addDoubleLinear03_JD + u'.output', locator_obj[0] + u'.translateZ')
jntNumber = self.JointNumber_spinBox.value()
if self.JointName_radioButton1.isChecked():
for i in range(jntNumber + 1):
cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber)) # locatorÔÚÇúÏߵĵȷÖλÖÃ
cmds.tangentConstraint(select_curve, locator_obj[0]) #ÇÐÏßÔ¼Êø
#locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True, translation=True) # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
create_curve_fk = cmds.curve(
point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),\
(-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072),\
(-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
(-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16),\
(8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),\
(2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072),\
(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True) #´´½¨fk¿ØÖÆÆ÷
curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(select_curve[0], i + 1, u'fk_ctrl')) #fk¿ØÖÆÆ÷µÄÃû×Ö
curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True) #fk¿ØÖÆÆ÷µÄshape½Úµã
cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
create_curve_ik = cmds.curve(
point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
(-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092),\
(-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
(-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16),\
(6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
(1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092),\
(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True) #´´½¨ik¿ØÖÆÆ÷
curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(select_curve[0], i + 1, u'ik_ctrl'))
curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True) #ik¿ØÖÆÆ÷µÄshape½Úµã
cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
cmds.joint(curve_ik_name, name='{}_{}_{}'.format(select_curve[0], i+1, u'jnt')) #´´½¨¹Ç÷À²¢½«ikÇúÏßÉèΪ¸¸¼¶
cmds.parent(curve_ik_name, curve_fk_name) # ½«ikÇúÏß·ÅÔÚfkÇúÏßÏÂ
drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(select_curve[0], i + 1, u'drve')) #¶ÔfkÇúÏß´ò×é
grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(select_curve[0], i + 1, u'grp')) #¶Ôµ±È»drve_grp´ò×é
grp_transfrom = cmds.parentConstraint(locator_obj[0], grpName)
cmds.delete(grp_transfrom)
if i > 0:
cmds.parent(grpName, u'{}_{}_{}'.format(select_curve[0], i, u'fk_ctrl'))
cmds.delete(locator_obj, motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD)
elif self.JointName_radioButton2.isChecked():
ctrlName = str(self.JointName_lineEdit.text())
for i in range(jntNumber + 1):
cmds.setAttr(motionPath_JD + u'.uValue', float(i) / float(jntNumber)) # locatorÔÚÇúÏߵĵȷÖλÖÃ
cmds.tangentConstraint(select_curve, locator_obj[0]) #ÇÐÏßÔ¼Êø
#locator_transform = cmds.xform(locator_obj[0], q=True, worldSpace=True, translation=True) # ²éѯlocatorµ±Ç°µÄÊÀ½ç×ø±êµÄλÖÃ
create_curve_fk = cmds.curve(
point=[(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698),\
(-2.220446049250313e-16, 2.70026978334916e-16, -1.37967591403072),\
(-2.220446049250313e-16, -0.9755781946508696, -0.9755781946508706),\
(-1.1102230246251565e-16, -1.37967591403072, -4.440892098500626e-16),\
(8.448078459892098e-17, -0.9755781946508703, 0.9755781946508698),\
(2.220446049250313e-16, -4.920715832599473e-16, 1.37967591403072),\
(2.220446049250313e-16, 0.9755781946508699, 0.9755781946508713),\
(1.1102230246251565e-16, 1.3796759140307204, 1.7763568394002505e-15),\
(-8.448078459892102e-17, 0.9755781946508705, -0.9755781946508698)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True) #´´½¨fk¿ØÖÆÆ÷
curve_fk_name = cmds.rename(create_curve_fk, u'{}_{}_{}'.format(ctrlName, i + 1, u'fk_ctrl')) #fk¿ØÖÆÆ÷µÄÃû×Ö
curve_fk_shape = cmds.listRelatives(curve_fk_name, shapes=True) #fk¿ØÖÆÆ÷µÄshape½Úµã
cmds.setAttr(curve_fk_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_fk_shape[0] + u'.overrideColor', 17)
cmds.setAttr(curve_fk_shape[0] + u'.lineWidth', 2)
create_curve_ik = cmds.curve(
point=[(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411),\
(-1.968856427627792e-16, 1.7605766151916942e-16, -0.9826292559384092),\
(-1.968856427627792e-16, -0.6948238102663409, -0.6948238102663415),\
(-9.84428213813896e-17, -0.9826292559384092, -5.455873044871823e-16),\
(6.016868865167587e-17, -0.6948238102663417, 0.6948238102663414),\
(1.968856427627792e-16, -1.5700924586837754e-16, 0.9826292559384092),\
(1.968856427627792e-16, 0.6948238102663411, 0.694823810266342),\
(9.84428213813896e-17, 0.9826292559384099, 1.3417918373755837e-15),\
(-6.016868865167597e-17, 0.6948238102663415, -0.6948238102663411)],\
knot=[-2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ], periodic=True) #´´½¨ik¿ØÖÆÆ÷
curve_ik_name = cmds.rename(create_curve_ik, u'{}_{}_{}'.format(ctrlName, i + 1, u'ik_ctrl'))
curve_ik_shape = cmds.listRelatives(curve_ik_name, shapes=True) #ik¿ØÖÆÆ÷µÄshape½Úµã
cmds.setAttr(curve_ik_shape[0] + u'.overrideEnabled', 1)
cmds.setAttr(curve_ik_shape[0] + u'.overrideColor', 13)
cmds.setAttr(curve_ik_shape[0] + u'.lineWidth', 1)
cmds.joint(curve_ik_name, name='{}_{}_{}'.format(ctrlName, i+1, u'jnt')) #´´½¨¹Ç÷À²¢½«ikÇúÏßÉèΪ¸¸¼¶
cmds.parent(curve_ik_name, curve_fk_name) # ½«ikÇúÏß·ÅÔÚfkÇúÏßÏÂ
drve_grp = cmds.group(curve_fk_name, name='{}_{}_{}'.format(ctrlName, i + 1, u'drve')) #¶ÔfkÇúÏß´ò×é
grpName = cmds.group(drve_grp, name='{}_{}_{}'.format(ctrlName, i + 1, u'grp')) #¶Ôdrve_grp´ò×é
grp_transfrom = cmds.parentConstraint(locator_obj[0], grpName)
cmds.delete(grp_transfrom)
if i > 0:
cmds.parent(grpName, u'{}_{}_{}'.format(ctrlName, i, u'fk_ctrl'))
cmds.delete(locator_obj, motionPath_JD, addDoubleLinear01_JD, addDoubleLinear02_JD, addDoubleLinear03_JD)
else:
print(u'ÇëÑ¡ÔñÒ»¸ùÇúÏߣ¡£¡£¡=_=''')
else:
print (u'ÇëÑ¡ÔñÇúÏߣ¬²»Òªµ÷Ƥ³¢ÊÔÑ¡ÔñÆäËûÎïÌ壡£¡£¡=_=')
def Confirm(self):
JointSize = float(self.JointSize_doubleSpinBox.value())
cmds.jointDisplayScale(JointSize, a=True )
def Narrow(self):
mel.eval(u'selectCurveCV ("all");')
cmds.scale(0.85, 0.85, 0.85, a=1)
def Enlarge(self):
mel.eval(u'selectCurveCV ("all");')
cmds.scale(1.15, 1.15, 1.15, a=1)
u = ui(parent=getMayaWindow())
u.show()