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


工程文件: 玩转UE4(GitHub)

文章目录

  • 1. 主状态机概要
  • 2. Main Grounded States:地面主状态机
    • 状态介绍
      • 稳定状态
      • 过渡状态
    • 过渡规则
  • 3. Jump States:跳跃状态机
  • 4. Main Movement States:主状态机
    • 4.1 空中状态群
    • 4.2 地面状态群
    • 4.3 状态扩展群
  • 5. 小结

1. 主状态机概要

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

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

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

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

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 主状态机介绍到此,感谢阅读。

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

  1. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 ALS V4地面站立动作状态机详解

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的 ...

  2. [玩转UE4/UE5动画系统>Control Rig篇] 之 Control Rig + Fullbody IK版的足部IK实现(附项目代码)

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...

  3. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 Foot IK系统(ALS V4实现方案详解)

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>. 教程中使 ...

  4. [玩转UE4/UE5动画系统>应用篇>功能模块] 之 布娃娃系统(ALS V4实现方案详解)

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式. 教程内容将同步免费发布于 开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>. 教程中使 ...

  5. [玩转UE4/UE5动画系统>Control Rig篇] 之 使用Control Rig实现目标偏移(Aim Offset)(附项目代码)

    本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式.教程内容将同步免费发布于开发游戏的老王(知乎|CSDN)的专栏<玩转UE4/UE5动画系统>.教程中使用的资 ...

  6. c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)

    用心分享,共同成长 没有什么比每天进步一点点更重要了 本篇文章主要讲解了一些linux常用命令,主要讲解模式是,命令介绍.命令参数格式.命令参数.命令常用参数示例.由于linux命令较多,我还特意选了 ...

  7. Kotlin——中级篇(二): 属性与字段详解

    在前面的章节中,详细的为大家讲解到了Kotlin中对类的类的定义.使用.初始化.初始化.类继承等内容,但是在一个类中,几乎上是不可能不出现属性与字段(field)的,这一篇文章就为大家奉上Kotlin ...

  8. 第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor

    第一篇supervisor集群管理工具cesi安装详解-如何安装supervisor 环境 准备 安装python3.7.4 问题 解决方法 安装supervisor 配置supervisor服务 启 ...

  9. [Python从零到壹] 五十一.图像增强及运算篇之图像灰度直方图对比分析万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 2021年大数据Kafka(四):❤️kafka的shell命令使用❤️
  2. Python的必学技术——Jupyter Notebook
  3. 【ES6】Proxy对象
  4. C#正则表达式引发的CPU跑高问题以及解决方法
  5. Linux内核I/O系统报错日志与硬盘故障对应关系
  6. 第三篇:属性_第二节:控件属性在页面及源码中的表示方式
  7. 程序员晒工资单,还是大厂香!据说大多数3年,35K还少了?
  8. VTK:图像正弦曲线用法实战
  9. Phpmyadmin安装过程
  10. 在计算机应用领域 cad的指,在计算机应用领域,CAD的指的是____
  11. AUTOSAR从入门到精通100讲(三十三)-AutoSar架构中的诊断事件管理
  12. 粉丝提问:有没有人会做彩虹表
  13. 京东总部大厦已经完成5G信号覆盖 网速是4G的20倍!
  14. 在 TableLayoutPanel 控件中对齐和拉伸控件
  15. mysql某个表被行锁了_一文搞懂MySQL行锁、表锁、间隙锁详解
  16. Structured Streaming + Kafka测试
  17. 【C#】CLR内存那点事(string)
  18. PHP SESSION
  19. 11.求二元查找树的镜像[MirrorOfBST]
  20. jdk list接口源码解析

热门文章

  1. 如何设计一个速率限制器(令牌桶/漏桶/固定窗口/滑动窗口)
  2. python计算机程序设计基础篇答案_计算机程序设计(Python)-中国大学mooc-试题题目及答案...
  3. keil勾选了create hex flie还是没有hex文件,求解答
  4. 关于javax.validation.Validator校验的使用
  5. Tackling Data Heterogeneity in Federated Learning with Class Prototypes, AAAI 2023
  6. 计算某年有多少周(周的起始日期。结束日期)
  7. vue通过axios获取json数据
  8. 网络服务器没运行,「dns网络服务器」未响应应该如何解决呢
  9. neo4j导入数据之LOAD CSV
  10. 区块链学习(3) 以太坊测试环境编译并部署智能合约(mac版)