The Dependency Graph Architecture in Maya


You will find these icons in several locations in Maya, including the Attribute Editor and the Hypershade windows:

The main thing to understand about the dependency graph in Maya is that, like many other 3D graphics programs of it's kind, Maya relies on the concept of a "scene graph" in which the information used to construct the complete scene is often comprised of many interdependent nodes passing information from one to another. In Maya, the information passed between nodes is in the form of "Attributes", and a single node may have a large number of attributes that it can pass along, or require as input.

Input Connections: The same as "Upstream Graph". By examining the incoming connections to the current node you are looking at information upon which the current node is dependent. For example, the current node may be a SphereShape, and the incoming connection might be the "createSphereShape" node that holds the instructions (creation history) for how the shape should be defined.
Input and Output Connections: This icon is seen specifically in the HyperShade. It allows the user to graph both the upstream and downstream connections simultaneously, with the current node somewhere in the middle (if it has both incoming and outgoing connections).
Output Connections: same as "Downstream Graph". The current node may be holding information that another node is dependent upon. An example might be a curve has its shape output going to a "revolve" node, and in turn, the "revolve" node would be connected to the inputs of the "revolveShape" node.

In the Hypergraph window, the display can be switched between "Scene Hierarchy" and "Input and Output Connections". With a node selected, click the circled button to graph the up- and down-stream connections, or use the "Graph" menu to select input or output graphing only.

Once graphed, the arrows between nodes indicate the direction in which connections are made. Move the mouse pointer over the connections to display the names of the connected attributes.


Where can you see all the attributes belonging to a node?

How do you access attributes in MEL scripts and expressions?