Unity3D的Mecanim动画系统之动画混合树(五)

用于允许通过按不同程度组合所有动画的各个部分来平滑混合多个动画。

1. 一维混合 (1D Blending)

顶部的示意图显示随着参数在其最小值与最大值之间变化,各个子运动的影响力。各个运动显示为蓝色小棱锥型(第一个和最后一个仅显示一半),如果单击其中一个并按住鼠标左键,则对应运动会在下面的运动列表中突出显示。各个棱锥型的顶点定义运动具有完全影响力时的参数值,这表示其动画权重为 1,而其他动画的权重为 0。这也称为运动的阈值 (Threshold)。

过渡图

红色垂直条指示参数 (Parameter) 的值。如果在检视器 (Inspector) 底部的预览中按播放并在示意图中左右拖动红色条,则可以看到参数的值如何控制不同运动的混合。

属性

属性:

功能:

参数 (Parameter)

控制混合动画的参数。

动画片段 (Motion)

混合树需要的动画片段。Threshold表示该片段运动的阈值,表示动画速度,表示是否启用镜像。

自动化阀值 (Automate Thresholds)

启用该复选框会将运动的阈值在参数范围内平均分布。例如,如果有五个剪辑并且参数范围为 -90 至 +90,则阈值会按顺序设置为 -90、-45、0、+45 和 +90。

计算阀值 (Compute Thresholds)

通过从动画片段 (Animation Clip) 中的根运动获取的数据选择来设置阈值。可供选择的数据有速度 (speed)、速率 (velocity) x、速率 (velocity) y 或速率 (velocity) z 以及角速度 (angular speed)(以度或弧度为单位)。

调整时间尺度 (Adjust Time Scale)

可重新调整片段的速度。

2. 二维混合 (2D Blending)

过渡图

属性

混合类型:

功能:

二维简单方向 (2D Simple Directional)

最适用于运动表示不同方向时,如“向前行走”、“向后行走”、“向左行走”和“向右行走”或是“向上瞄准”、“向下瞄准”、“向左瞄准”和“向右瞄准”。可以选择包括位置 (0, 0) 处的单个运动,如“空闲”或“笔直瞄准”。在简单方向 (Simple Directional) 类型中,相同方向上不应存在多个运动,如“向前行走”和“向前奔跑”。

二维任意方向 (2D Freeform Directional)

此混合类型也在运动表示不同方向时使用,但是可以在相同方向上具有多个运动,例如“向前行走”和“向前奔跑”。在任意方向 (Freeform Directional) 类型中,运动集应始终包括位置 (0, 0) 处的单个运动,如“空闲”。

二维任意笛卡尔 (2D Freeform Cartesian)

最适用于运动不表示不同方向时。使用任意笛卡尔 (Freeform Cartesian) 时,X 参数和 Y 参数可以表示不同概念,如角速度和线速度。示例包括“向前行走而不转弯”、“向前奔跑而不转弯”、“向前行走并右转”、“向前奔跑并右转”等运动。

直接混合 (Direct)

可直接设置混合树子树的权值。