maya python api 建立节点

maya python api 建立节点

ID:11272873

大小:95.00 KB

页数:9页

时间:2018-07-11

maya python api 建立节点_第1页
maya python api 建立节点_第2页
maya python api 建立节点_第3页
maya python api 建立节点_第4页
maya python api 建立节点_第5页
资源描述:

《maya python api 建立节点》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、maya python api  建立节点昨天基本上了解如果要建立自己的plug-in,最简单的就是包含一个command命令,可以使用mel或python来调用。现在来看看更高级的,建立一个自己的node节点---------------------------importmath,sysimportmaya.OpenMayaasOpenMayaimportmaya.OpenMayaMPxasOpenMayaMPxkPluginNodeTypeName="spSineNode"sineNodeId=Op

2、enMaya.MTypeId(0x8700)#NodedefinitionclasssineNode(OpenMayaMPx.MPxNode):  #classvariables  input=OpenMaya.MObject()  output=OpenMaya.MObject()  def__init__(self):    OpenMayaMPx.MPxNode.__init__(self)  defcompute(self,plug,dataBlock):    if(plug==sineNode

3、.output):      dataHandle=dataBlock.inputValue(sineNode.input)      inputFloat=dataHandle.asFloat()      result=math.sin(inputFloat)*10.0      outputHandle=dataBlock.outputValue(sineNode.output)      outputHandle.setFloat(result)      dataBlock.setClean(p

4、lug)#creatordefnodeCreator():  returnOpenMayaMPx.asMPxPtr(sineNode())  #initializerdefnodeInitializer():  #input  nAttr=OpenMaya.MFnNumericAttribute();  sineNode.input=nAttr.create("input","in",OpenMaya.MFnNumericData.kFloat,0.0)  nAttr.setStorable(1)  #o

5、utput  nAttr=OpenMaya.MFnNumericAttribute();  sineNode.output=nAttr.create("output","out",OpenMaya.MFnNumericData.kFloat,0.0)  nAttr.setStorable(1)  nAttr.setWritable(1)  #addattributes  sineNode.addAttribute(sineNode.input)  sineNode.addAttribute(sineNod

6、e.output)  sineNode.attributeAffects(sineNode.input,sineNode.output)  #initializethescriptplug-indefinitializePlugin(mobject):  mplugin=OpenMayaMPx.MFnPlugin(mobject)  try:    mplugin.registerNode(kPluginNodeTypeName,sineNodeId,nodeCreator,nodeInitializer

7、)  except:    sys.stderr.write("Failedtoregisternode:%s"%kPluginNodeTypeName)    raise    #uninitializethescriptplug-indefuninitializePlugin(mobject):  mplugin=OpenMayaMPx.MFnPlugin(mobject)  try:    mplugin.deregisterNode(sineNodeId)  except:    sys.stde

8、rr.write("Failedtoregisternode:%s"%kPluginNodeTypeName)    raise------------------------------------------------kPluginNodeTypeName="spSineNode"这段定义自己的节点的名称,当脚本写好后在maya中使用mel命令行中输入createNodespSineNode;就可以创建这个节点。sine

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。