Wiki
585 words
3 minutes
BlendSpace
Updated 2025-05-25

创建#

BlendSpace.png 在绿框处设置blendspace的数值范围,从右下角将动画资产拖入中间的窗口中,设置动画的融合切换

Blend Space 是什么#

Blend Space 用来根据输入参数,在多段动画之间连续混合。

最常见的用途是:

  • 待机到走路到奔跑
  • 八方向移动
  • 根据速度和方向切换移动姿态

相比“状态机里一段一段切”,Blend Space 更适合处理连续变化的参数。

1D 和 2D 的区别#

1D Blend Space#

只有一个轴,适合:

  • 速度从 0 到 600
  • 瞄准角度单轴变化

最常见的是“Idle -> Walk -> Run”。

2D Blend Space#

有两个轴,适合:

  • 速度 + 方向
  • 前后左右八方向移动
  • 速度 + 倾斜角度

角色移动动画通常会优先用 2D。

参数轴怎么设计#

设计轴时最重要的不是“参数越多越好”,而是让轴和动画语义一致。

常见设计:

  • X 轴:方向,范围 -180 ~ 180-1 ~ 1
  • Y 轴:速度,范围 0 ~ MaxWalkSpeed

要点:

  • 参数范围要和运行时输入一致
  • 不要让同一轴同时混两种语义
  • 速度轴通常要留出 0 作为待机点

采样点怎么摆#

放动画采样点时,核心是让过渡路径自然。

常见摆法:

  • 中心放 Idle
  • 上下左右或斜向摆放移动动画
  • 高速和低速分层放置

如果采样点摆得不均匀,就容易出现:

  • 某些方向突然抽搐
  • 斜向动作不自然
  • 参数变化时角色脚步发飘

和状态机的配合#

最常见的组合方式是:

  • 状态机控制“处于哪一类动画状态”
  • Blend Space 负责该状态内部的连续混合

例如:

  • Locomotion 状态里用 Blend Space 处理移动
  • Attack / Hit / Death 用状态机或 Montage 切走

也就是说,Blend Space 不是替代状态机,而是补充状态机。

实践经验#

  • 先把移动参数算准,再调 Blend Space,否则永远像在蒙
  • 方向参数常来自速度向量和朝向的夹角
  • 如果角色频繁小幅抖动,优先检查速度和方向输入是否稳定
  • 根运动项目里,Blend Space 的动画资源本身也要保持一致的运动语义
BlendSpace
https://fuwari.vercel.app/wiki/unreal/blendspace/
Author
Qingswe
Published at
2025-05-25
License
CC BY-NC-SA 4.0