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,右侧面板改状态

相关推荐
北冥没有鱼啊13 小时前
UE 滚动提示条材质制作
游戏·ue5·游戏引擎·ue4·虚幻·材质
星火撩猿3 天前
常见游戏引擎介绍与对比
unity·ue5·游戏引擎·godot
清流君3 天前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Involuter4 天前
UE5 Assimp 自用
ue5
电子云与长程纠缠4 天前
Unreal Niagara制作SubUV贴图翻页动画
学习·ue5·编辑器·贴图·niagara
子燕若水4 天前
“Daz to Unreal”将 G8 角色(包括表情)从 daz3d 导入到 UE5。在 UE5 中,我发现使用某个表情并与闭眼混合后,上眼睑出现了问题
3d·ue5
半天法师4 天前
UE5.2+VarjoXR3,Lumen、GI、Nanite无效的两种解决方案
ue5·xr·vr
ue星空4 天前
UE5摄像机画面没有填充满屏幕有黑边
ue5
李詹5 天前
游戏开发核心技术解析——从引擎架构到攻防体系的完整技能树
架构·ue5·游戏引擎·游戏程序·3dsmax·虚幻
子燕若水5 天前
UE5的 Modify Curve 蓝图节点
ue5