Katana-使用Python赋值Node属性

在Katana的Pipeline的开发中,节点的操作是很常见的,Katana的API中支持Python,所以可以用Python操作节点的属性,以下是具体的写法。

 

使用Python API创建一个Katana节点:

1 standardNode = NodegraphAPI.CreateNode('ArnoldShadingNode', NodegraphAPI.GetRootNode())
2 standardNode.getParameter('name').setValue("NewNode", 0)
3 NodegraphAPI.SetNodePosition(standardNode, (0, 0))
4 standardNode.getParameter('nodeType').setValue("MayaPlace2DTexture", 0)
5 standardNode.checkDynamicParameters()

 

这段代码官方的开发文档就有,但是文档中没有的是怎么对不同类型的属性赋值,如下图:
 
上图中的参数coverage是一个list格式的值而参数rotateFrame是float格式。

 

list格式的参数赋值:

1 standardNode.getParameter('parameters.attribute.enable').setValue(1, 0)
2 standardNode.getParameter('parameters.attribute.value.i1').setValue(value,0)
3 standardNode.getParameter('parameters.attribute.value.i2').setValue(value,0)

float参数的赋值:

1 standardNode.getParameter('parameters.attribute.enable').setValue(1, 0)
2 standardNode.getParameter('parameters.attribute.value').setValue(value,0)

string参数的赋值:

1 standardNode.getParameter('parameters.attribute.enable').setValue(1, 0)
2 standardNode.getParameter('parameters.attribute.value').setValue(str(value),0)

 


开发环境:Python 2.7

应用软件:the Foundry Katana v2.5

posted @ 2016-08-31 17:43  Iceprincefounder  阅读(606)  评论(0)    收藏  举报