UE5-人物角色动画蓝图

这里主要从零给角色创建移动的蓝图,包含多种状态

创建

首先在角色骨骼网格体上右键创建动画蓝图

进入,在AnimGraph界面创建一个状态机(stateMachine)

Idle

进入状态机,拉出来创建一个newState,这里命名Idle

这里待机状态选择几个动画随机播放

进入上面创建的状态(State)

新建RandomSequencePlayer(随机播放序列)

在右侧窗口添加几个想要播放的动画

Walk

这边直接播放walk动画

进入Walk状态,拉入跑步动画

停步

首先要判断是否在跑步

在EventGraph中通过角色获取加速度,加速度不等于0并且速度大于0就代表在移动

在Idle状态之上创建一个停步状态

Stop里面只需要播放停步的动画即可

触发停步

在进入停步状态的条件判断中

判断当前速度大于一定值并且不是在移动即可

回到Idle

在回到Idle的状态条件判断中,判断是否在移动即可

再额外添加一个返回状态判断,勾上自动结束

发现敌人、攻击

创建一个负责控制发现敌人,播放发现动作,攻击的状态

进入并创建一个新的状态机(负责三种状态的转变)

拉入发现敌人动画和跑步动画,直接连起来

再后面创建一个状态Attack

在里面使用跟Idle一样的随机序列播放

进入从发现到跑步的条件

这里设置当发现的动作播放完百分之80就可以进入下一个(跑步)

右键搜索remain

管理状态

使用一个Enum枚举来管理不同的状态

创建枚举,添加4个状态

在AI角色蓝图中创建一个这个枚举类型的变量

在动画蓝图中,使用EventBlueprintInitializeAnimation(当初始化)来获取角色蓝图

在Update中把角色里的枚举变量设置为本地

Idle->Walk

在idle到walk的判断图表中,判断当前的枚举状态是否是walking

其余的类似

idle->Run_Attack(就判断枚举是否running)

walk->Run_Attack(判断是否running)

Run_Attack->Walk(判断是否walking)

Run_Attack里面的:

run->Attack(判断是否attack)

attack->run(判断是否running)

在行为树实现

这里因为动画蓝图是根据角色蓝图中的变量做改变,所以在行为树上要对角色蓝图的变量修改

创建一个task,创建一个上面用到的枚举变量(通时暴露在外部,可以在外面修改)

使用:直接运行这个Task,右侧面板改状态

相关推荐
吴梓穆2 天前
UE5 重新编译插件版本
ue5
HECUgauss2 天前
UE5 使用过程遇到的问题
ue5
小白学过的代码2 天前
ue5.4和webul通信
开发语言·javascript·ue5
m0_552200822 天前
《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》
c++·游戏·ue5
漫游者Nova2 天前
虚幻引擎Unreal Engine5恐怖游戏设计制作教程,从入门到精通从零开始完整项目开发实战详细讲解中英字幕
ue5·游戏引擎·虚幻·游戏开发完整教程·恐怖游戏开发
ue星空4 天前
UE5音频技术
ue5
帅_shuai_14 天前
UE5 游戏模板 —— FirstShootGame
游戏·ue5
吴梓穆15 天前
UE5 手动停止Delay定时器
ue5
AgilityBaby17 天前
UE5蓝图按键输入绑定学习笔记
笔记·学习·ue5·蓝图
涟涟涟涟17 天前
UE5错误 Linux离线状态下错误 请求失败libcurl错误:6无法解析主机名
linux·ue5