UE5 动画状态机

文章目录

简介

UE5动画状态机是一个有限状态机,由两个关键部分组成"状态" "过渡条件"

状态:即某种情况下要播放什么动画,一个状态可以是一个动画片段,也可以另一个状态机

条件:满足条件时,将会从一个状态过渡到另一个状态

创建一个动画状态机

打开动画蓝图,切换到 AnimGraph,在编辑区域里右键,船舰一个statetMachine 状态机

右键状态机节点可以重命名状态机

状态

双击状态机即可进入状态机

默认只有entry节点,这个节点代表状态机的进入点,第一个状态必须连接到这个节点才会生效

创建状态

创建方式1

右键空白处,选择添加状态,右键新状态可以名字

创建方式2

可以直接在资产浏览器里把一个动画拖进状态机,这将自动创建一个状态

状态的基本操作

一个状态节点由外圈边框和内圈组成

外圈:鼠标放到外圈边框上可以拖出执行线,将执行线连到entry或别的状态节点的外圈上即可完成连接,如下图

和Entry节点相连的状态将会成为默认状态

内圈:双击可以进入状态内部,这里时真正放动画的地方

将动画片段直接拖进来,然后将动画节点的输出节点连接到输出动画姿势节点即可

选择一个动画片段,在细节面板中可以设置为循环动画

过渡条件

创建过渡条件 并设置过渡条件

当我们连接两个状态时,会自动创建一个过渡条件,双击这个图标即可打开过渡条件

例如此处,如果玩家的移动速度大于0,则会从idle转变为Run状态

题外话:可以用这个形式来获取玩家的速度

创建第二个过渡条件

只要再连接一次两个动画节点(边缘区域拖到边缘区域),就会创建第二个动画节点

这两个动画节点,只有有一个满足,就可以执行切换

常用的条件

自动过渡

单击过渡条件,不要双击,在细节面板里,勾选这个,则当前动画播放完毕后,会自动过渡到下一个节点

当前动画播放一段时间后自动切换

此处为播放0.25秒后自动过渡

使用另一个状态机作为状态

如果单纯使用状态,过渡状态将会过多,难于管理

通过使用"缓存姿态",我们可以把状态机缓存起来,供另一个状态机使用

先创建一个状态机,命名为GroundLocomotion,用来管理在地面上的idle和run动画,这个状态机只负责在地面移动

然后返回动画图表,选择动画状态机,从小人身上拖出,选择新保存的缓存姿势

此时我们就制作了一个缓存姿势,我们重命名为OnGround

然后创建一个新的状态机,命名为Mainstate

这个新状态机用来管理地面和跳跃后的姿态,但他不关心地面上的具体是跑还是idle,他只负责把状态切换到OnGround状态

双击这里的OnGround状态,输入刚才保存的姿势缓存的名字,即可使用,当MainState切换到Onground状态时,在地面上的动画将被另一个状态机控制

相关推荐
远离UE42 天前
UE5 UV邻接 Niagara潜水模拟 学习笔记
ue5·uv
AA陈超2 天前
005 T03 — 角色基类与移动系统 详细功能设计文档
ue5
AA陈超2 天前
004 T02 - 俯视角摄像机系统 设计文档
网络·c++·ue5·虚幻引擎
AA陈超3 天前
006 T03 — 蓝图操作指南
c++·游戏·架构·ue5·github·虚幻引擎
Duo1J5 天前
【UE】Slate 编辑器工具开发01 - Slate语法 & 常用控件
ue5·编辑器·游戏引擎·ue4
朗迹 - 张伟5 天前
UE5.7 PCG从入门到精通系列课程【第五课:PCG沿一条样条线生成物体】
ue5·pcg
AA陈超5 天前
003 XiYou 西游 — P0 阶段实施计划
c++·笔记·学习·ue5
朗迹 - 张伟7 天前
UE5.7 PCG从入门到精通系列课程【第三课:程序化生成森林】
ue5·pcg
朗迹 - 张伟7 天前
UE5.7 PCG从入门到精通系列课程【第二课:使用PCG制作草地系统】
ue5·pcg
im长街8 天前
UE 课程介绍 - 1. 3DMax软件建模基础
ue5·3dsmax