def Batch_Position_Fn(self):
        if self.Attr["Add_Crv_LE"] == "":
            cmds.warning(u)
            return

        ChildrenList = self.Item_Layout.children()
        for i, child in enumerate(ChildrenList):
            if i != 0:
                Base_Curve = self.Attr["Add_Crv_LE"]
                CamGrp = self.Attr["Add_Crv_LE"]
                if not cmds.setObjectName(Base_Curve): continue
                if not cmds.setObjectName(CamGrp): continue
                cmds.xform(CamGrp, cp=1)
                cmds.delete(cmds.parentConstraint(Base_Curve, CamGrp))
                Target_Curve = self.Add_Crv_LE.text()
                if not cmds.setObjectName(Target_Curve): continue
                # Note 解除曲线的锁定
                cmds.setAttr("%s.tx" % Target_Curve, lock=False)
                cmds.setAttr("%s.ty" % Target_Curve, lock=False)
                cmds.setAttr("%s.tz" % Target_Curve, lock=False)
                cmds.setAttr("%s.rx" % Target_Curve, lock=False)
                cmds.setAttr("%s.ry" % Target_Curve, lock=False)
                cmds.setAttr("%s.rz" % Target_Curve, lock=False)
                cmds.delete(cmds.parentConstraint(Base_Curve, Target_Curve))
                cmds.headsUpMessage(u"位置匹配完成")
Beispiel #2
0
    def Batch_Position_Fn(self):
        if self.Attr["Add_Crv_LE"]
        ChildrenList = self.Item_Layout.children()
        for i,child in enumerate(ChildrenList):
            if i != 0:
                Base_Curve = self.Attr["Add_Crv_LE"]
                CamGrp = self.Attr["Add_Crv_LE"]
                if not cmds.setObjectName(Base_Curve): continue
                if not cmds.setObjectName(CamGrp): continue
                cmds.xform( CamGrp,cp=1 )
                cmds.delete(cmds.parentConstraint( Base_Curve,CamGrp ))
                Target_Curve = self.Add_Crv_LE.text()
                if not cmds.setObjectName(Target_Curve): continue
                # Note 解除曲线的锁定
                cmds.setAttr("%s.tx" % Target_Curve,lock=False)
                cmds.setAttr("%s.ty" % Target_Curve,lock=False)
                cmds.setAttr("%s.tz" % Target_Curve,lock=False)
                cmds.setAttr("%s.rx" % Target_Curve,lock=False)
                cmds.setAttr("%s.ry" % Target_Curve,lock=False)
                cmds.setAttr("%s.rz" % Target_Curve,lock=False)
                cmds.delete(cmds.parentConstraint( Base_Curve,Target_Curve ))
                cmds.headsUpMessage(u"位置匹配完成")

    def Batch_Keyframe_Fn(self):
        ChildrenList = self.Item_Layout.children()
        for i,child in enumerate(ChildrenList):
            if i != 0:
                Path = child.Attr["Add_Motion_Path_LE"]
                if cmds.objExists(Path):
                    offset = cmds.keyframe(Path,q=1)[0] 
                    cmds.keyframe("%s.uValue"% Path,e=1,iub=1,r=1,o="over",tc=-offset)

    def Select_Path_Fn(self):
        cmds.select(cl=1)
        ChildrenList = self.Item_Layout.children()
        for i,child in enumerate(ChildrenList):
            if i != 0:
                if cmds.objExists(child.Attr["Add_Motion_Path_LE"]):
                    cmds.select(child.Attr["Add_Motion_Path_LE"],add=1)

        
    def Item_Add_Fn(self):
        self.Cam_Item_Num += 1
        return Cam_Item(self,self.MainWindow)
        
    def Item_Clear_Fn(self):
        self.Attr["Add_Crv_LE"] = ""
        self.Attr["Add_Motion_Path_LE"] = ""
        self.Attr["Name"] = ""
        for i,child in enumerate(self.Item_Layout.children()):
            if i != 0:
                child.deleteLater()

    def Scroll_Fn(self):
        self.Scroll_Offset = self.Cam_Item_Scroll.verticalScrollBar().value()