[玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4 主状态机详解

该教程详细介绍了UE4/UE5动画系统中的主状态机设计,包括地面主状态机MainGroundedStates的稳定与过渡状态,跳跃状态机JumpStates,以及主状态机MainMovementStates的空中、地面和扩展状态群。通过图文和视频教程,阐述了状态间的转换规则和优先级,展示了披萨模式(PizzaPattern)的设计思想。

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

本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式。教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏《玩转UE4/UE5动画系统》。教程中使用的资源及工程将以开源项目的形式更新到GitHub:玩转UE4上。

在这里插入图片描述
工程文件: 玩转UE4(GitHub)
在这里插入图片描述

1. 主状态机概要

在《[玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解》一文中,老王介绍了地面站立动作状态机(N)Locomotion States(下图蓝色区域)的构成,本文继续介绍主状态机部分(下图黄色区域)。

地面蹲伏动作状态机(CLF) Locomotion States和地面站立动作状态机逻辑相似,暂时不赘述了。

BaseLayer中状态机关系图,其中箭头表示包含关系。

篇幅的原因,本文仅着重介绍状态机的构成,状态控制参数的计算将另文介绍。

我们依旧自上而下介绍各个状态机的意义。

2. Main Grounded States:地面主状态机

Main Grounded States的主要任务是整合站立状态(N) Standing蹲伏状态(CLS) Crouching LF并实现它们之间的状态过渡。

在这里插入图片描述

状态介绍

Main Grounded States中的状态分为两类稳定状态过渡状态

Entry状态是一个空状态,主要是因为导管(Conduit)无法作为状态机的初始状态,所以使用空状态代替,下文中就不解释了。

稳定状态
  • (N) Standing状态: 包含了(N) Locomotion States(地面站立状态机)。
  • (CLS) Crouching LF状态: (CLF) Locomotion States(地面蹲伏状态机)。
过渡状态
  • (N)->(CLF) Transition: 由站到蹲的过渡动画。
  • (CLF)->(N) Transition: 由蹲到站的过渡动画。
  • From Roll: 是平滑衔接从翻滚动作到站立动作的过渡。

过渡规则

  • Interrupt Transition(共享过渡规则):每个过渡状态都有一个指向下一个稳定状态的共享过渡规则(图中绿色规则),它的作用就是当动画处于过渡状态时,一旦接收到玩家的控制命令,立刻切换到下一个稳定状态。

  • 其它过度规则: 略。

同时具有Interrupt Transition和其它过渡规则的时候,Interrupt Transition的优先级(Priority Order)要高于其它过度规则,这个不难理解。

3. Jump States:跳跃状态机

在这里插入图片描述
这个状态机比较简单,通过Feet_Position动画曲线决定(左/右)起跳脚,然后依次过渡到Jump loop(跳跃循环状态)以及Flail(下坠状态)。

4. Main Movement States:主状态机

Main Movement States的任务是整合空中状态(In Air States)和地面状态(On Ground States)以及其它扩展状态。

在这里插入图片描述

Main Movement States由三个状态群构成,它们之间由三个导管(Conduit)作为桥梁连接在一起。

4.1 空中状态群

  • Jump状态: 即跳跃状态,包含着Jump States状态机。
  • Fall状态:下落状态,指角色从高台一类位置直接下落。

从导管->InAir到Jump状态的过渡规则的优先级高于到Fall状态的过渡规则。

4.2 地面状态群

  • Land状态: 着陆即着地前一瞬间的状态。
  • Grounded状态: 包含Main Grounded States。
  • Land Movement状态: 它也包含Main Grounded States,但它是一个过渡状态,其作用主要是根据落地时的速度,添加轻/重落地时两种不同的叠加动画。

4.3 状态扩展群

用于扩展功能的部分,如果项目中要整合诸如飞行/游泳/墙体攀爬等功能,它们的状态机可以添加到这里。

这种动画机设计模式,老王称之为披萨模式(Pizza Pattern),另文详述。

5. 小结

ALS V4 主状态机介绍到此,感谢阅读。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开发游戏的老王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值