Args Files for GenericAssign¶
As a variant of Args Files, GenericAssign XML files specify attribute
conventions and typically define node types capable of editing such attributes.
GenericAssign Args Files are loaded from GenericAssign folders within
KATANA_RESOURCES directories.
The example below registers a logFile attribute convention on
/root/world, and a LogFile node type capable of editing
that attribute:
<args format="1.0" scope="/root/world" fixedCEL="/root/world">
<string name="logFile" widget="assetIdOutput"/>
</args>
The contents above can be saved to a file named
/your/plugins/GenericAssign/LogFile.xml, and Katana launched with
KATANA_RESOURCES set to /your/plugins. With the file loaded,
Katana’s behaviour changes as follows:
- When
/root/worldis selected in the Scene Graph tab, the Attributes tab displayslogFileas a default attribute. This is used purely for informational purposes in the Attributes tab, and does not affect the scene data. - A LogFile node type becomes available in the Node Graph tab’s node creation menus. LogFile nodes have one input and one output, and feature a single logFile parameter.
- When multiple LogFile nodes are chained together, a downstream
node displays the upstream value of the
logFileattribute in its logFile parameter; this is shown alongside a state badge. This mechanism works however the upstream attribute came to be set.
Top-level <args> Attributes¶
The following XML attributes can be specified on the top-level <args>
element, and are specific to GenericAssign Args Files:
fixedCEL- If given, a GenericAssign node’s CEL parameter is not shown when
editing the node’s parameters in a Parameters tab. Instead, the
node targets locations specified by the given value of
fixedCEL. fixedCELExpression- As above, but the CEL expression is given as a parameter expression.
scope- If given, the Attributes tab shows default attributes at
locations specified by the given value of
scope, which should be a CEL expression. createGenericAssignNodeType- By default, for each GenericAssign XML file, a node type is registered, which
can be used to display and edit scene graph attributes as declared in the XML
document. This registration of a GenericAssign node type can be omitted by
specifying the
createGenericAssignNodeTypeXML attribute with a value offalse. Note that in that case, default attributes as defined in the GenericAssign XML file are still shown in the Attributes tab for locations targeted byscope. nodeFlavors- A comma-separated list of node flavors to give the node type, such as
_hideto hide the node from the Node Graph tab’s node creation menus.
Forcing Parameters to be Arrays¶
The forceArray attribute can be used to turn number and string parameters
into number array and string array parameters, even if they contain only one
value, as shown in the following example:
<args format='1.0' scope='/root' fixedCEL='/root'>
<float name='myNumber' default='0.123'/>
<string name='myString'/>
<float name='myNumberArray' default='0.123' forceArray='True'/>
<string name='myStringArray' forceArray='True'/>
</args>