Choose your operating system:
Windows
macOS
Linux
混合节点(Blend Node) 用于将多个动画混合起来。此类节点只能放置在动画蓝图的 动画图(Anim Graph) 中。每个混合节点获取多个姿势和一个阿尔法或权重值,这个值用来计算每个姿势在最终输出中的权重。一些混合节点可能更为复杂,且需要更多输入数据。
应用递增
应用递增(Apply Additive) 和 应用网格体空间递增(Apply Mesh Space Additive) 节点根据阿尔法值向基本普通动画姿势添加递增姿势。
引脚 |
说明 |
|
---|---|---|
输入引脚 |
||
基本(Base) |
要用作基础的普通姿势。 |
|
递增(Additive) |
要在基础上混合的递增姿势。 |
|
阿尔法(Alpha) |
范围[0.0, 1.0]之间的浮点值,用作阿尔法值。它确定递增姿势的作用力。值0.0表示完全没有向 基本(Base) 输入姿势添加 递增(Additive) 姿势,而值 1.0 表示向 基本(Base) 输入姿势添加了拥有完整作用力的 递增(Additive) 姿势。 |
|
输出引脚 |
||
姿势(Pose) |
应用混合后的最终姿势。 |
应用递增(Apply Additive) 节点也受到4.11中引入的 LOD阈值(LOD Threshold) 系统的影响,您可以在 应用递增(Apply Additive) 节点的"细节(Details)"面板中找到该设置。
属性 |
描述 |
---|---|
LOD阈值 |
这是此节点所允许运行的最大LOD。举例而言:如果将LOD阈值设为2,其将运行到LOD 2,但在组件LOD变为3时将自身禁用。 |
混合
标准的 混合(Blend) 节点就是两个输入姿势根据阿尔法值的混合结果。
引脚 |
说明 |
|
---|---|---|
输入引脚 |
||
A |
要混合的的第一个姿势。 |
|
B |
要混合的第二个姿势。 |
|
阿尔法(Alpha) |
范围[0.0, 1.0]之间的浮点值,用作阿尔法值。它确定两个姿势的权重。值0.0让A输入姿势获得完整权重,而值1.0让B输入姿势获得完整权重。 |
|
输出引脚 |
||
姿势(Pose) |
应用混合后的最终姿势。 |
按布尔值混合姿势
按布尔值混合姿势(Blend Poses by bool) 节点使用布尔值作为键,基于时间混合两个姿势。当布尔值为true时,使用与true输入引脚相连的姿势;当布尔值为false时,使用false姿势。每个姿势都有一个浮点值"混合时间(Blend Time)",用来控制混入这个姿势所需的时间。
引脚 |
说明 |
|
---|---|---|
输入引脚 |
||
活跃值(Active Value) |
这是用来决定要使用两个姿势中的哪个姿势的输入布尔值。 |
|
True姿势(True Pose) |
使用当布尔值设为true时将混合的姿势。 |
|
False姿势(False Pose) |
使用当布尔值设为false时将混合的姿势。 |
|
True混合时间(True Blend Time) |
定义混入true姿势所需的时间。 |
|
False混合时间(False Blend Time) |
定义混入false姿势所需的时间。 |
|
输出引脚 |
||
姿势(Pose) |
应用混合后的最终姿势。 |
In the Details panel, you can show/hide the Blend Time pins as well as set the Transition Type (Standard or Inertialization), or Blend Type.
按整数值混合姿势
按整数值混合姿势(Blend Poses by Int) 节点使用整数值作为键,基于时间混合任意数量的姿势。对于每个输入整数值,将使用与该值输入引脚关联的姿势。例如,当整数设为0时,将使用与"混合姿势0(Blend Pose 0)"相连的姿势。每个姿势都有一个浮点值"混合时间(Blend Time)",用来控制混入这个姿势所需的时间。
要创建更多混合姿势输入,需在节点上单击右键,并从上下文菜单中选择 添加混合引脚(Add Blend Pin)。
在所需输入上单击右键并选择 移除混合引脚(Remove Blend Pin) 可以移除输入。
引脚 |
说明 |
|
---|---|---|
输入引脚 |
||
活跃子索引(Active Child Index) |
该输入整数值决定要使用哪个姿势。 |
|
混合姿势X(Blend Pose X) |
使用"活跃子索引(Active Child Index)"设为X时将混合的姿势。 |
|
混合时间X(Blend Time X) |
定义混入X姿势所需的时间。 |
|
输出引脚 |
||
姿势(Pose) |
应用混合后的最终姿势。 |
按列举混合姿势
按列举混合姿势(Blend Poses by Enum) 节点将列举值用作键,并基于时间在姿势间进行混合。可使用默认姿势,也可通过 活跃列举值(Active Enum Value),在连接列举中添加已辨识值的额外姿势。此外,各姿势均具有用于控制混合到姿势所需时长的浮点值"混合时间"。
引脚 |
说明 |
|
---|---|---|
输入引脚(Input Pins) |
||
活跃列举值(Active Enum Value) |
由附加列举或索引值定义的当前选定姿势。 |
|
默认姿势(Default Pose) |
要使用的默认姿势。 |
|
附加姿势(Additional Poses) |
基于指定列举值的附加姿势。 |
|
混合时间(Blend Time) |
定义混合到指定姿势所需的时间量。 |
|
输出引脚(Output Pins) |
||
姿势(Pose) |
应用混合后的最终姿势。 |
按骨骼分层混合
按骨骼分层混合(Layered blend per bone) 节点执行遮掩混合,这种混合方式仅影响骨架中的一小部分特定骨骼。例如,如果您只想对一个角色腰部以上的部位应用动画,可以使用 按骨骼混合(Blend Per Bone) 来实现。
引脚 |
说明 |
|
---|---|---|
输入引脚 |
||
基本姿势(BasePose) |
要混合的第一个姿势。 |
|
混合姿势(BlendPose) |
要混合的第二个姿势。 |
|
混合权重(BlendWeight) |
范围[0.0, 1.0]之间的浮点值,用作阿尔法值,用来确定递增姿势的作用力。值0.0表示完全没有向 基本(Base) 输入姿势添加 递增(Additive) 姿势,而值1.0表示向 基本(Base) 输入姿势添加了拥有完整作用力的 递增(Additive) 姿势。 |
|
添加引脚(Add Pin) |
创建另一个混合姿势和混合权重输入。 |
|
输出引脚 |
||
输出姿势(OutPose) |
应用混合后的最终姿势。 |
插槽
插槽(Slot) 节点显示来自给定动画插槽的结果动画。
有关将插槽与动画蒙太奇系统结合使用的更多详细信息,请参阅动画蒙太奇。
惯性化
惯性混合是传统动画淡入淡出的高性能替代方案,可生成后期处理的自然过渡。激活惯性混合后将不再计算源姿势。相反,传统混合在过渡期间会计算源姿势和目标姿势,将其组合成混合姿势。动画图表必须包含 Inertialization 节点方可使用惯性混合。
在图表中,Inertialization节点位于惯性混合请求源 之后 的位置。Inertialization节点追踪姿势运动和曲线变化,以便在激活惯性混合后继续向目标动画移动。此节点由流入源姿势的惯性混合请求来激活。状态机过渡、混合节点、链接动画图表、链接动画层 均可触发惯性混合,如下图所示。
下图中两个 转换规则(Transition Rules) 的 混合逻辑(Blend Logic) 已设为使用惯性化。要使用惯性混合,在动画图表中,Inertialization节点必须放置在包含此类过渡的 State Machine 节点之后的位置。
欲了解在状态机中使用惯性混合的详情说明,请参见转换规则.。
下图中选择了 "Upper Body" 动画图层,详细信息(Details) 面板显示了 图表混合(Graph Blending) 选项。动画图层可混入或混出,但只能借助惯性混合。Inertialization节点必须放置在链接此动画蓝图的 Linked Anim Layer 节点之后的地方。负值表示混合时间将由另一传入或传出动画图层决定。
Inertialization节点必须在惯性混合请求源之后的位置连接,但不一定要紧挨着。将Inertialization节点尽量靠近 输出姿势(Output Pose) 连接,便能可尽可能多地延迟惯性混合。这有助于减少或消除图表中的标准混合,并提高性能。若图表缺少Inertialization节点,将在 消息日志(Message Log) 窗口中记录运行时错误。
考虑惯性混合创作动画和图表时,最好在动画仍处于运动时就开始过渡。由于惯性混合负责处理到休息姿势的自然过渡,因此无需返回中间姿势。由于惯性混合是后期处理,用于将动作过渡到目标动画,因此短混合效果最佳。惯性混合可被其他惯性混合中断,但由于可能要为了保持姿势稳定而削减后续混合时间段,因此应尽量避免导致持续中断的情况。
可根据需要在图表中放置多个Inertialization节点,各节点将处理来自源姿势的惯性混合请求。这意味着可在不同空间执行惯性混合。例如,有时需要将角色上半身和下半身的Inertialization节点分开,后跟 Layered Blend per bone 节点,接合起来形成最终姿势。应用基础姿势前,可插入Inertialization节点,将惯性混合与叠加姿势一起使用。为修复最终姿势,通常要运行惯性化后再运行IK,从而在IK空间中有效地进行惯性混合。
记住,惯性混合一旦开始,就会停止计算源姿势。由于已停止播放,因此此时不再触发源序列中的 动画通知。可能需要重构现有游戏逻辑和通知,以兼容惯性化。