def rigUpdate(self):
#disable refresh until the rig update is complete
cmds.refresh(su=True)
rigNodeFound = False
try:
rigGuiNode = self.scene.sceneNodes["Rig"]
rigNodeFound = True
except KeyError:
rigNodeFound = False
if rigNodeFound:
#kill all script jobs created by controllers to avoid
#an update loop which the rig is updated
for jobNum in self.scriptJobNumbers:
if jobNum != globals.currentScriptJobNum:
cmds.scriptJob(k=jobNum)
self.scriptJobNumbers = []
rigGuiNode.updateVersion += 0.1
rootElem = self.recursiveGetXML(rigGuiNode)
self.indent(rootElem)
tree = xml.ElementTree(rootElem)
file = open(self.updateXmlPath, 'w')
tree.write(file)
file.close()
self.recursiveZeroOutControllers(rigGuiNode)
if rigGuiNode.metaNodeName is not None and rigGuiNode.metaNodeName != "":
self.rootNodeName = mel.eval("updateMetaDataManager -n \""+rigGuiNode.metaNodeName+"\";")
else:
self.rootNodeName = mel.eval("loadRig -p \""+self.updateXmlPath+"\";")
cmds.select(cl=True)
self.recursiveUpdateMetaNodes(rigGuiNode,self.rootNodeName)
self.recursiveSetupScriptJobs(rigGuiNode)
cmds.refresh(su=False)
RigNodeEditor.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录