1 DAG结构
maya中,一个直接非循环图(directed acyclic graph,DAG),定义了元素的位置,旋转以及比例。DAG由两类的DAG节点组成,transform(空间位置信息)和shape(模型网格信息)。
Transform节点维护了转置信息,包括位置、旋转、伸缩比例以及父级节点的对应信息。Shape节点存放的是模型几何数据的引用。
在最简单的情形中,DAG描述了一个对象的实例是如何从一块几何物体里构造而来的,比如创建一个球的时候,就同时创建了shape节点和transform节点,shape节点是对应的transform节点的子节点。
2 节点
转置节点可以有多个子节点,这个时候这些子节点相当于在该转置节点下面形成一个组,节点成组允许他们共享转置信息,当做一个单元对待。
实例化(Instancing)
转置节点和形状节点也可以有多个父节点,这个时候这些节点被实例化。实例化用于减少模型的几何数据。例如创建一颗树的时候,需要创建上千片树叶,假如直接为每片树叶创建单独的模型的话,将会占用太多的内存空间。这个时候可以先创建一个树叶的模型,然后将它实例化上千遍,这个时候可以显示上千片树叶但是真实的模型数据只有一片树叶的大小,但是它们的朝向和位置各不相同。