Working with Nodes¶
This section documents the various classes and functions that are available for working with nodes in Katana via Python scripting.
Introduction to Nodes¶
Nodes are the units used in the Katana interface to build the recipe for a
Katana project. Nodes feature parameters that can be used to control their
behavior. Nodes can be created and connected in Katana’s Node Graph
tab in the UI, and can also be modified via Python scripting using
NodegraphAPI
.
Katana ships with many built-in types of nodes, but custom node types can also be created via Python scripting.
There are two major groups of node types shipped with Katana:
3D nodes that produce scene graph that can be inspected in Katana’s Scene Graph tab.
3D nodes and their parameters effectively represent and control corresponding Ops that form Op graphs that are processed by Katana’s geometry library (Geolib) to generate the scene data that can be viewed and inspected in Katana’s Scene Graph and Attributes tabs.
2D nodes that produce images that can be viewed in Katana’s Monitor tab. [1]
Introduction to NodegraphAPI¶
Python package for working with nodes of a Katana project.
Node
types are registered through this package. Created nodes
have a hierarchy of Parameter
s. All nodes exist inside of a
GroupNode
and there is always a root node found with
GetRootNode
.
This module manages several of the application global states. Things like the current frame, and time increments are stored with the node graph.
Node Base Classes¶
-
class
NodegraphAPI.
Node
¶ Bases:
object
Base class for all types of nodes in Katana.
Katana nodes are created and retrieved through the node graph. A node stores parameters and both input and output ports. A
GroupNode
subclass defines nodes that can contain other nodes as children.
-
class
NodegraphAPI.
GroupNode
¶ Bases:
Node
Base class for all types of nodes that contain other nodes as children.
Katana nodes are created and retrieved through the node graph. A node stores parameters and both input and output ports. This
GroupNode
subclass defines nodes that can contain other nodes as children.
Contents of Section¶
- Creating and Retrieving Nodes
- Node Properties
- Parameters
- Introduction to Parameters
- Parameter Base Class
- Contents of Section
- Connecting Nodes
- Serializing Nodes
- Groups and LiveGroups
- Contexts
- Example Scripts
Footnotes
[1] | 2D nodes are a reminder of Katana’s historic origins at Sony Pictures Imageworks, where it started its life as a compositing application. |