姿态图(实验性)
姿态图 是表达了姿态的产生和转变的结点图,是实现程序式动画的核心构件。
姿态图依附在动画图的其它构件中:
本节将讲述姿态图的结构。
在开始了解程序式动画之前,我们建议您阅读和 Marionette 动画系统 和动画图相关的内容。
值及类型
广泛来说,姿态图描述了值的流动。每个值都有类型,姿态图支持的值的类型如下:
类型 | 含义 |
---|---|
姿态对象 | 角色姿态。 |
浮点数 | 浮点数值。 |
整数 | 整数值。 |
三维向量 | 三维向量。 |
四元数 | 四元数。 |
其中,姿态对象无法凭空产生和指定,仅由姿态结点产生(见下文)。
结点
(姿态图)结点 描述了一项操作。结点上可能存在零或多项 输入,也可能存在零或多项 输出。有些结点的输入数量是不固定的且可以删除。目前,所有结点的输出数量都是固定的且不可删除。
姿态图的节点(Pose Node)是姿态图中用于处理程序式动画的节点,并非引擎的节点(Node)。
输入和输出都关联着类型。当结点存在某类型的输入时,表示该结点可从该输入处接受该类型的值;当结点存在某类型的输出时,表示该结点将产出该类型的值到该输出处。在求值时,结点将它输入的值作以运算,并产出结果值到输出上。
结点输出可以连接到另一结点的 同类型 输入,表示求值时,将其输出的值传递给另一结点的作为输入。有时候也称这个行为为 绑定。
注意,这样的连接是单向的——无法将输入连接到输出,这是没有意义的。
一个结点的输出可以连接到多个结点的输入上。但存在例外:姿态输出仅可以连接至一个结点。
若需要在多处引用一个姿态,请考虑使用 姿态暂存。
姿态图中存在以下几类结点:
结点分类 | 含义 | 输入 | 输出 |
---|---|---|---|
姿态图输出结点 | 作为整张姿态图的输出姿态。 | 一个姿态输入 | 无 |
姿态结点 | 输出姿态对象。 | 零或多个 | 一个姿态输出 |
变量获取结点 | 获取指定的变量并输出 | 无 | 一个输出,类型为变量的类型 |
您可以参考 姿态图节点视图 来查看如何可视化的操作姿态图节点。
姿态图输出结点
姿态图输出结点 是一种特殊的结点,代表整张姿态图的输出姿态。它内置于姿态图中,不可删除和创建。
姿态图输出结点有且仅有一项姿态输入。当有结点连接到该姿态输入时,输入的姿态成为姿态图的产出姿态。
若姿态图输出结点未被连接,姿态图产出的姿态为默认姿态。
姿态图输出结点没有输出。
姿态结点
姿态结点 是指所有输出姿态对象的结点。目前,所有姿态结点都只产生一项姿态输出。但姿态结点可根据结点本身的情况存在零或多项任意类型的输入。
姿态结点 中列举了所有类型的姿态结点。
变量获取结点
变量获取结点 获取指定的动画图变量并输出其值。该类结点没有输入,并只有一项输出,输出的类型即是变量的类型。
变量获取结点不可获取触发器变量。