The DAG hierarchy (also known as an object hierarchy) refers to the parent-child relationships of all nodes that make up an object. DAG stands for directed acyclic graph. In essence, the DAG is a breakdown of how an instance of an object is constructed from a piece of geometry.
An object's DAG hierarchy always includes two types of nodes: transforms and shapes.
When you create a polygon sphere, for example, you can see in the Attribute Editor that it includes a shape node and a transform node. The shape node has attributes to define the geometry, while the transform node contains attributes that control the sphere's position, scale, or rotation. The shape node is the child of the transform node.
Note: Compare DAG hierarchy nodes to Dependency Graph (DG) nodes in the Maya API. These are related but different systems, used for different purposes. Unlike DAG nodes, dependency graph nodes can be cyclic, meaning they can pass information both directions.
You can also view the DAG information in hierarchy form in the Hypergraph window.
- Transform nodes
- Transform nodes contain transformation information (translation, rotation, scale) as well as parenting information. Transform nodes can have multiple child nodes grouped underneath them. Node grouping allows the same shape to be shared among multiple DAG paths. (A DAG Path represents the hierarchical links between nodes, defining the direction from the beginning of the hierarchy down to the furthest node).
For example, if you model a hand and you want to apply a single transformation to rotate the palm and fingers (rather than rotating each individually), you can use a common parent transformation node for the palm and fingers.
- Shape nodes
- Shape nodes describe the geometry and contain no parenting or transformation information. Geometry cannot be below a transform node. This means that any piece of geometry requires two DAG nodes above it, a shape node immediately above it, and a transform node above the shape node.
You can also see the DAG hierarchy at work when you open the
Outliner window and select
DAG Objects Only