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"位置匹配完成")
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()