姿态图(实验性)

姿态图 是表达了姿态的产生和转变的结点图,是实现程序式动画的核心构件。

姿态图依附在动画图的其它构件中:

本节将讲述姿态图的结构。

在开始了解程序式动画之前,我们建议您阅读和 Marionette 动画系统 和动画图相关的内容。

值及类型

广泛来说,姿态图描述了值的流动。每个值都有类型,姿态图支持的值的类型如下:

类型含义
姿态对象角色姿态。
浮点数浮点数值。
整数整数值。
三维向量三维向量。
四元数四元数。

其中,姿态对象无法凭空产生和指定,仅由姿态结点产生(见下文)。

结点

nodes-type.png

(姿态图)结点 描述了一项操作。结点上可能存在零或多项 输入,也可能存在零或多项 输出。有些结点的输入数量是不固定的且可以删除。目前,所有结点的输出数量都是固定的且不可删除。

姿态图的节点(Pose Node)是姿态图中用于处理程序式动画的节点,并非引擎的节点(Node)。

输入和输出都关联着类型。当结点存在某类型的输入时,表示该结点可从该输入处接受该类型的值;当结点存在某类型的输出时,表示该结点将产出该类型的值到该输出处。在求值时,结点将它输入的值作以运算,并产出结果值到输出上。

结点输出可以连接到另一结点的 同类型 输入,表示求值时,将其输出的值传递给另一结点的作为输入。有时候也称这个行为为 绑定

注意,这样的连接是单向的——无法将输入连接到输出,这是没有意义的。

一个结点的输出可以连接到多个结点的输入上。但存在例外:姿态输出仅可以连接至一个结点。

若需要在多处引用一个姿态,请考虑使用 姿态暂存

姿态图中存在以下几类结点:

结点分类含义输入输出
姿态图输出结点作为整张姿态图的输出姿态。一个姿态输入
姿态结点输出姿态对象。零或多个一个姿态输出
变量获取结点获取指定的变量并输出一个输出,类型为变量的类型

您可以参考 姿态图节点视图 来查看如何可视化的操作姿态图节点。

姿态图输出结点

output.png

姿态图输出结点 是一种特殊的结点,代表整张姿态图的输出姿态。它内置于姿态图中,不可删除和创建。

姿态图输出结点有且仅有一项姿态输入。当有结点连接到该姿态输入时,输入的姿态成为姿态图的产出姿态。

若姿态图输出结点未被连接,姿态图产出的姿态为默认姿态。

姿态图输出结点没有输出。

姿态结点

姿态结点 是指所有输出姿态对象的结点。目前,所有姿态结点都只产生一项姿态输出。但姿态结点可根据结点本身的情况存在零或多项任意类型的输入。

姿态结点 中列举了所有类型的姿态结点。

变量获取结点

变量获取结点 获取指定的动画图变量并输出其值。该类结点没有输入,并只有一项输出,输出的类型即是变量的类型。

变量获取结点不可获取触发器变量。