【UE5】动画混合空间的基本用法

项目资源文末百度网盘自取

什么是动画混合空间

混合空间分为两种:

  1. 通过一个数值控制
  2. 通过两个数值控制

下面通过演示让大家更直观地了解
Character文件夹中单击右键,选择动画(Animation),选择旧有混合空间1D
在这里插入图片描述

然后选择骨骼动画是基于骨骼显示的,所以需要选择为哪个骨骼创建动画),选择SK_Female_Skeleton(骨骼)
在这里插入图片描述
命名为BS_Test1D
在这里插入图片描述

打开
在左上角可以看到轴设置,由于我们创建的是一维混合空间,所以这里只有一个水平轴
在这里插入图片描述

名称就是变量名,设置名称为Speed,表示这个水平轴是速度值
在这里插入图片描述
动画图表中可以看到这个值
在这里插入图片描述
这个是划分格子的数量,默认是4个格子,在动画图表中,我们可以看到从0-100被分割为4个部分
在这里插入图片描述


轴设置完成后,就可以开始设置动画序列
右侧有一个资源面板,包含与该骨骼相关的所有动画序列
可以通过搜索关键字缩小范围
在这里插入图片描述
拖动两处分界线使动画序列全称可见
在这里插入图片描述
在资源面板选择AS_Normal_Stand_Idle

在这里插入图片描述

拖入非持枪站立待机动画到值为0的位置
在这里插入图片描述
在资源面板选择AS_Normal_Stand_Walk_Fwd
在这里插入图片描述
拖入非持枪站立行走动画到值为50的位置
在这里插入图片描述
补充:
如果无法定位到50,拖入后可以修改动画序列的位置
方法一(推荐):
选中想要修改的动画序列对应的点,修改左上角的Speed值为50
在这里插入图片描述
方法二:
选中想要修改的动画序列对应的点,鼠标右键显示详情,双击Speed数值框,修改值为50
在这里插入图片描述

在资源面板选择AS_Normal_Stand_Run_Fwd
在这里插入图片描述

拖入非持枪站立奔跑动画到值为100的位置
在这里插入图片描述
这个绿色的点就是输入值 / 预览点,通过变化这个值可以改变动画状态


接下来看二维混合空间的用法
创建一个二维混合空间,命名为BS_Test2D
在这里插入图片描述
在这里插入图片描述
打开
轴设置中,除了水平轴,多了一个垂直轴
在这里插入图片描述
设置水平轴为Direction,最小值为**-180.0**,最大值180.0
设置垂直轴为Speed
在这里插入图片描述

在搜索栏中输入Stand,拖入待机动画方向为0且速度为0的位置
在这里插入图片描述
拖入向前行走动画方向为0.0速度为50.0的位置
在这里插入图片描述
拖入向左走动画方向为-90.0速度为50.0的位置
在这里插入图片描述

通过设置方向速度值,可以改变动画状态

以上就是动画混合空间的基本用法

项目资源:
链接:https://pan.baidu.com/s/1nQHvZXC4BDsfbFWDYZqEfA?pwd=bsvx
提取码:bsvx

### 关于Unreal Engine 5 中实现动画过渡平滑的方法 在 Unreal Engine 5 (UE5) 中,为了实现更平缓的动画过渡效果,开发者可以通过调整动画蓝图中的参数以及使用内置的功能来优化动画表现。以下是具体方法: #### 使用 Velocity 参数进行动画平滑 Velocity 是 UE5 提供的一个重要参数,在处理角色移动时尤其有用。它能够帮助定义当前角色的速度矢量,并将其应用于动画混合树中以实现更加自然和平滑的过渡效果[^3]。 ```cpp // 示例代码展示如何获取并应用速度向量到动画节点上 FVector CurrentVelocity = GetCharacterMovement()->GetLastUpdateVelocity(); SetFloatParameter("Speed", FVector::DotProduct(CurrentVelocity, GetActorForwardVector())); ``` 上述代码片段展示了如何通过计算角色前向速度分量并将该值传递给动画蓝图中的浮点变量 `Speed` 来影响最终输出的动画状态。 #### 调整 Transition Settings 实现自定义过渡时间 除了利用预设功能外,还可以进一步微调每一对动画之间的切换行为。这通常涉及修改 **Transition Rules** 和设置具体的条件语句与持续时间段数。例如,在两个行走方向之间增加淡入淡出的时间间隔可以让动作显得更为连贯而不突兀[^1]。 进入 Animation Blueprint Editor 后找到对应的 State Machine ,双击打开其中任意一条路径连接线即可看到其属性面板。在此处可设定 Maximum Transition Time 或者 Minimum Transition Time 的数值范围从而达到理想的效果。 另外值得注意的是,当涉及到复杂的多层混合情况时,则可能需要用到 Blend Space 技术。Blend Spaces 可以让多个不同类型的姿势依据权重比例动态组合起来形成新的复合型态,这对于模拟跑步加速减速过程特别有效果[^2]。 #### 总结 综上所述,要使 UE5 中的角色动画变得更加流畅自然,可以从以下几个方面入手:合理运用 velocity 数据源;精心设计 transition rule 的逻辑判断标准及时长控制策略;必要时候引入 blend space 工具辅助完成高级别的交互需求。 ```python def set_transition_time(blueprint_node, min_time=0.2, max_time=0.8): """ Sets the minimum and maximum transition times for an animation state machine node. Args: blueprint_node (object): The reference to the specific transition line or condition block within your AnimBP graph. min_time (float): Desired minimal duration of time spent transitioning between states. max_time (float): Upper limit on how long transitions should last before fully switching animations. Returns: None """ blueprint_node.SetMinTime(min_time) blueprint_node.SetMaxTime(max_time) # Example usage inside a custom function call during setup phase set_transition_time(myAnimStateConnectionNode) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜菜_tu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值