UE4学习监督——基本动画

该博客介绍了如何通过C++和Blender1D来创建人物动画混合,使得人物能够根据速度从待机、行走过渡到奔跑。首先修改混合空间1D的参数,然后将不同速度对应的动画资源拖放到相应位置。接着创建HeroAnimation动画蓝图,设置变量和状态机,根据isJump和Speed变量切换不同动画。最后,通过蓝图实现动画逻辑并编译,人物成功实现动态移动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一次我们尝试学习了通过C++使人物具有基本移动能力,但是我们可以看到,此时的人物本身并不能移动,只是一个平移的模式。这次我们尝试用已有的资源让人物跑动起来。

在人物骨架网格体的文件夹下创建一个混合空间1D(Blender 1D),命名为RunDemo。双击进入,得到界面如下:
在这里插入图片描述

我们首先将水平坐标名称改为Speed,意为根据数值变化混合动画,这里特指根据速度大小播放待机、行走、奔跑的动画。再将最大轴值改为400,避免速度过快只能播放奔跑动画。

接着我们就开始混合动画,方式很简单,只需要根据你的预期将动画资源拖动到下面框中的对应位置。如下图:

在这里插入图片描述

图中三个点即代表三个动画资源speed =0的地方是待机动画,100处为行走动画,400处为奔跑动画。拖动图中的绿色光点可以预览混合效果。保存。

在这里插入图片描述

在此目录下创建新的动画蓝图。命名为HeroAnimatation。

首先创建两个变量,一个bool类型的isJump,一个float的Speed,然后通过蓝图将其与角色属性相连。如下图:

在这里插入图片描述

之后再在动画图表中搜索machine,添加新的状态机。双击进入,添加状态和转换条件。如下图:

在这里插入图片描述
剩余时间小于0.1s的蓝图

其中起跳和落地动画切换的条件都是isJump相关,为true时播放跳跃动画,为false时播放行走奔跑的动画。而下落过程中的条件为前一段动画剩余时间小于等于0.1秒时切换。逻辑编写完成,进行编译。编译完成,在人物的细节面板的动画蓝图选择HeroAnimitation。保存,运行,发现可以实现。
oAnimitation。保存,运行,发现可以实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值