您当前的位置: 首页 >  ue4

开发游戏的老王

暂无认证

  • 2浏览

    0关注

    803博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

开发游戏的老王 发布时间:2021-08-21 21:36:26 ,浏览量:2

本教程采用图文教程+视频教程的多元化形式,我会为不同的知识点选择适当的表达方式。教程内容将同步免费发布于 开发游戏的老王(知乎|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和地面站立动作状态机逻辑相似,暂时不赘述了。

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

关注
打赏
1656935939
查看更多评论
立即登录/注册

微信扫码登录

0.0403s