UE5 动画状态机
文章目录简介创建一个动画状态机状态创建状态状态的基本操作过渡条件创建过渡条件 并设置过渡条件创建第二个过渡条件常用的条件自动过渡当前动画播放一段时间后自动切换使用另一个状态机作为状态简介UE5动画状态机是一个有限状态机由两个关键部分组成“状态” “过渡条件”状态即某种情况下要播放什么动画一个状态可以是一个动画片段也可以另一个状态机条件满足条件时将会从一个状态过渡到另一个状态创建一个动画状态机打开动画蓝图切换到 AnimGraph在编辑区域里右键船舰一个statetMachine 状态机右键状态机节点可以重命名状态机状态双击状态机即可进入状态机默认只有entry节点这个节点代表状态机的进入点第一个状态必须连接到这个节点才会生效创建状态创建方式1右键空白处选择添加状态右键新状态可以名字创建方式2可以直接在资产浏览器里把一个动画拖进状态机这将自动创建一个状态状态的基本操作一个状态节点由外圈边框和内圈组成外圈鼠标放到外圈边框上可以拖出执行线将执行线连到entry或别的状态节点的外圈上即可完成连接如下图和Entry节点相连的状态将会成为默认状态内圈双击可以进入状态内部这里时真正放动画的地方将动画片段直接拖进来然后将动画节点的输出节点连接到输出动画姿势节点即可选择一个动画片段在细节面板中可以设置为循环动画过渡条件创建过渡条件 并设置过渡条件当我们连接两个状态时会自动创建一个过渡条件双击这个图标即可打开过渡条件例如此处如果玩家的移动速度大于0则会从idle转变为Run状态题外话可以用这个形式来获取玩家的速度创建第二个过渡条件只要再连接一次两个动画节点(边缘区域拖到边缘区域)就会创建第二个动画节点这两个动画节点只有有一个满足就可以执行切换常用的条件自动过渡单击过渡条件不要双击在细节面板里勾选这个则当前动画播放完毕后会自动过渡到下一个节点当前动画播放一段时间后自动切换此处为播放0.25秒后自动过渡使用另一个状态机作为状态如果单纯使用状态过渡状态将会过多难于管理通过使用”缓存姿态“我们可以把状态机缓存起来供另一个状态机使用先创建一个状态机命名为GroundLocomotion用来管理在地面上的idle和run动画这个状态机只负责在地面移动然后返回动画图表选择动画状态机从小人身上拖出选择新保存的缓存姿势此时我们就制作了一个缓存姿势我们重命名为OnGround然后创建一个新的状态机命名为Mainstate这个新状态机用来管理地面和跳跃后的姿态但他不关心地面上的具体是跑还是idle他只负责把状态切换到OnGround状态双击这里的OnGround状态输入刚才保存的姿势缓存的名字即可使用当MainState切换到Onground状态时在地面上的动画将被另一个状态机控制