Materials¶
Monolithic Materials¶
Type | Attribute | Description |
---|---|---|
string |
material.<renderer><ShaderCategory>Shader |
The name of the renderer-specific shader to use for the shader category with the given name, for example:
|
group |
material.<renderer><ShaderCategory>Params |
A group that contains attributes that represent the parameters of the
shader that is referenced by the
For example, a |
group |
material.ops |
See Deferred Material Ops. |
Network Materials¶
Type | Attribute | Description |
---|---|---|
group |
material.parameters |
Contains a child attribute for every Material Interface parameter of the Network Material which has been altered from its default value, for example using a Material node in edit mode. |
any |
material.parameters.<exposedParameter> |
The current value of the exposed parameter with the given name expressed as an attribute, for example:
|
group |
material.nodes |
Contains child attributes for each shading node contributing to the
Network Material represented by the material group
attribute. |
group |
material.nodes.<node> |
Contains child attributes that describe the shading node with the given
name, for example dlPrincipled25 . |
string |
material.nodes.<node>.name |
The name of the shading node, as determined by the value of the name parameter of the corresponding Katana shading node, for example:
|
string |
material.nodes.<node>.type |
The type of the shading node, as determined by the value of the nodeType parameter of the corresponding Katana shading node, referencing a particular shader that the node represents by its name, for example:
|
string |
material.nodes.<node>.target |
The name of the renderer that the shading node targets, for example:
|
string |
material.nodes.<node>.srcName |
The name of the Katana node that created this attribute, for example:
|
group |
material.nodes.<node>.parameters |
Contains a child attribute for every shader parameter of the node which has been altered from its default value. |
any |
material.nodes.<node>.parameters.<parameter> |
The altered value of the parameter with the given name expressed as an attribute, for example:
If the parameter is exposed in the Material Interface of the Network
Material (see |
group |
material.nodes.<node>.connections |
Contains a child attribute for every connection going into the node. Note that non-contributing nodes are skipped for connections expressed
by this attribute (e.g. Dot nodes and disabled nodes),
whereas |
string |
material.nodes.<node>.connections.<inputPort> |
A reference to the output port on another node, given in the format
|
group |
material.terminals |
Contains two child attributes for every terminal of the Network
Material that is represented by the material group
attribute. |
string |
material.terminals.<renderer><ShaderCategory> |
The name of the shading node connected to the terminal with the given name (which consists of the name of the renderer and the name of the shader category), for example:
|
string |
material.terminals.<renderer><ShaderCategory>Port |
The name of the output port on the shading node with the name that is
specified in the
|
group |
material.interface |
Contains child group attributes for each shader parameter that has been exposed for the Material Interface of the Network Material. |
group |
material.interface.<exposedParameter> |
Contains child attributes that describe the exposed parameter with the
given name, for example Thickness , or
Roughness . |
string |
material.interface.<exposedParameter>.src |
The path of the source parameter that the exposed parameter represents,
given in the format
|
group |
material.interface.<exposedParameter>.hints |
Contains child attributes for hints that have been set for the exposed parameter, which depend on the type of the parameter and the type of widget used for it. A couple of common parameter hints are documented below. For more information, see Widgets and Hints. |
string |
material.interface.<exposedParameter>.hints.help |
Help text that has been set for the exposed parameter, which is made available to the user in the form of a help button in the parameter’s UI. |
string |
material.interface.<exposedParameter>.hints.page |
The title of a page under which the exposed parameter is to appear, for
example "Coating" , or "Base" . |
string |
material.style |
Indicates the type of material that the For Network Materials, For Monolithic Materials, the |
string |
material.info.name |
The name of the NetworkMaterial node that created the Network Material. |
int |
material.info.layoutVersion |
The version number of the material.layout attribute
convention. |
int |
material.info.sourceLayoutVersion |
The source network’s version number of the material.layout
attribute convention. This will be zero for a legacy NetworkMaterial. |
group |
material.layout |
Added for Network Materials created by NetworkMaterialCreate nodes. See Network Material Layout Attributes section below. |
Network Material Layout Attributes¶
Note: Some attributes are equivalent to material.nodes
attributes
to ensure their availability for non-contributing nodes, e.g. Dot
nodes and disabled nodes. Those nodes do not contribute to the Network
Material’s result when it comes to rendering.
Type | Attribute | Description |
---|---|---|
group |
material.layout |
Similar to The layout information stored in |
group |
material.layout.<node> |
Contains child attributes that describe the Katana node with the given
name, for example dlPrincipled25 . |
string |
material.layout.<node>.katanaNodeType |
The name of the type of the Katana node described by the
(A shading node type name is created as
|
float[3] |
material.layout.<node>.color |
The RGB component values of a color that has been applied to the node, for example:
|
string |
material.layout.<node>.comment |
A comment that has been set for the node, which may contain multiple lines of text. |
int (bool) |
material.layout.<node>.disabled |
Boolean flag that states whether the node is disabled (
By default, nodes are enabled, and this attribute is not set. |
string |
material.layout.<node>.parent |
The name of the NetworkMaterialCreate or ShadingGroup node that contains the Katana node with the given name, for example:
|
double[2] |
material.layout.<node>.position |
The position of the Katana node as X and Y coordinates within its parent group node’s node graph, for example:
|
string[] |
material.layout.<node>.connections |
A list of descriptions of connections going into the node, each
following the format
Note that non-contributing nodes are taken into account for connections
expressed by this attribute (e.g. Dot nodes and disabled
nodes), whereas |
int (enum) |
material.layout.<node>.viewState |
|
group |
material.layout.<node>.nodeShapeAttributes |
A group containing all of the node’s shape attributes. Supported types
for child attributes are StringAttribute &
FloatAttribute . |
group |
material.layout.<node>.parameters |
A group containing a representation of all of the node’s
locally set parameters as they would appear under
material.nodes . |
group |
material.layout.<node>.parameterVars |
A group containing a representation of all the node’s parameters, detailing their enabled state, value and type (see section below). |
group |
material.layout.<node>.userParameters |
A group containing a representation of all of the node’s “user” parameters. |
group |
material.layout.<node>.nodeSpecificAttributes |
A group containing any node type-specific attributes (see section below). |
Parameter Variables Layout Attributes¶
All attributes in this section are inside the following attribute group:
material.layout.<node>.parameterVars.<parameter>
.
These attributes represent the raw parameter state before they are baked. In particular, these variables reflect what is shown in the Parameters tab.
Type | Attribute | Description |
---|---|---|
int |
.enable |
Trinary flag to indicate whether, when baked, this parameter should
forcibly use the default value (-1 ), inherit the value set
upstream (0 ), or use the locally set value (1 ). |
any |
.value |
The locally set value of this parameter. |
string |
.type |
A string representation of this parameter’s type. |
Node Type-Specific Network Material Layout Attributes¶
Note: Some attributes are equivalent to material.nodes
attributes
to ensure their availability for non-contributing nodes.
All attributes in this section are inside the following attribute group:
material.layout.<node>.nodeSpecificAttributes
Shading Node
Type | Attribute | Description |
---|---|---|
string |
.name |
The value of the name parameter of the Katana shading
node, equivalent to material.nodes.<node>.name . |
string |
.shaderType |
The value of the nodeType parameter of the Katana shading
node, equivalent to material.nodes.<node>.type
(named differently here to reduce ambiguity). |
string |
.target |
The name of the renderer that the shading node targets, equivalent to
material.nodes.<node>.target . |
string[] |
.expandedPages |
A list of names of pages that are expanded to reveal their contents, with subpages denoted by > characters. |
string[] |
.collapsedPages |
A list of names of pages that are collapsed to hide their contents, with subpages denoted by > characters. |
Dot
Type | Attribute | Description |
---|---|---|
int (bool) |
.displayAsDot |
Boolean flag that states whether to display a Dot node with
a round node shape ( By default, Dot nodes are displayed with a round node shape, and this attribute is not set. |
Backdrop
Type | Attribute | Description |
---|---|---|
double[2] |
.size |
The size of the Backdrop node as width and height. |
string |
.text |
The text of the Backdrop node. |
float |
.fontScale |
The font scale used for the Backdrop node, as a multiplier
(default: 1.0f ) of the text size used for node names. |
float |
.zDepth |
The Z order index of the Backdrop node. |
Switch
Type | Attribute | Description |
---|---|---|
int |
.size |
The value of the Switch node’s ‘in’ parameter. |
group |
.inputs |
The names and “display names” of the node’s input ports. |
ShadingNodeArrayConnector
Type | Attribute | Description |
---|---|---|
group |
.inputs |
The names and “display names” of the node’s input ports. |
VariableSwitch
Type | Attribute | Description |
---|---|---|
string |
.variableName |
The value of the VariableSwitch node’s ‘in’ parameter. |
group |
.patterns |
The names and values of the node’s “patterns” child parameters. |
group |
.inputs |
The names and display name labels of the node’s input ports. |
ShadingGroup
Type | Attribute | Description |
---|---|---|
string[] |
.expandedPages |
A list of names of pages that are expanded to reveal their contents in the external interface of the ShadingGroup node, with subpages denoted by > characters. |
string[] |
.collapsedPages |
A list of names of pages that are collapsed to hide their contents in the external interface of the ShadingGroup node, with subpages denoted by > characters. |
group |
.outputSidebar |
Group containing the page expansion state for the internal output
interface, in the form of .expandedPages and
.collapsedPages child string attributes equivalent to those
describing the external interface. |
group |
.inputSidebar |
Group containing the page expansion state for the internal input
interface, in the form of .expandedPages and
.collapsedPages child string attributes equivalent to those
describing the external interface. |
group |
.outputPorts |
Group containing an entry for every output port of the ShadingGroup node. |
string |
.outputPorts.<port>.name |
The unique identifier name of the port. |
string |
.outputPorts.<port>.displayName |
The display name label of the port. |
string[] |
.outputPorts.<port>.tags |
A list of string tag expressions for valid port connections. |
group |
.inputPorts |
Group containing an entry for every output port of the ShadingGroup node. |
string |
.inputPorts.<port>.name |
The unique identifier name of the port. |
string |
.inputPorts.<port>.displayName |
The display name label of the port. |
string[] |
.inputPorts.<port>.tags |
A list of string tag expressions for valid port connections. |
string[] |
.returnConnections |
A list of valid return connections, with each entry matching the format
<returnPort>:<sourcePort>@<sourceNode> . |
Assigning Materials¶
To assign a material to an object, set a materialAssign
string
attribute on the scene graph location that represents the object to the path of
the scene graph location of the material to assign.
Type | Attribute | Description |
---|---|---|
string |
materialAssign |
The path of the scene graph location of the assigned material, for
example /root/materials/carPaint . |
Material Underlays¶
Type | Attribute | Description |
---|---|---|
group |
material.underlayAttrs |
An attribute that, at material resolve time, is copied to the root level of the target location’s attributes, and merged underneath any existing attribute values at that location. This allows, for example, custom “default” renderer object settings to be specified for locations, which can be overridden by any locally-set values. |
group |
info.material.underlayAttrs |
This is primarily for debug purposes. After the implicit resolve these attributes are moved so that you can still see which material underlays have been processed, but are no longer at risk of being resolved again. |