码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Animator动画状态机


    1、有限状态机

    有限状态机(Finite - state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型

    有限:表示是有限度的不是无限的
    状态:指所拥有的所有状态

    举例说明:
    假设我们人会做很多个动作,也就是有很多种状态
    这些状态包括 站立、走路、跑步、攻击、防守、睡觉等等
    我们每天都会在这些状态中切换,而且这些状态虽然多但是是有限的
    当达到某种条件时,我们就会在这些状态中进行切换
    而且这种切换时随时可能发生的

    游戏开发中有很多功能系统都是有限状态机
    最典型的状态机系统

    • 动作系统 —— 当满足某个条件切换一个动作,且动作是有限的
    • AI(人工智能)系统 —— 当满足某个条件切换一个状态,且状态时有限的

    2、简单的状态机实现

    1. //最简单的状态机实现代码就是基于switch的实现
    2. //假设我们只有一个值来控制当前玩家的状态
    3. string animName = "idle";
    4. switch (animName)
    5. {
    6. case "idle":
    7. //待机动作逻辑
    8. break;
    9. case "move":
    10. //移动动作逻辑
    11. break;
    12. case "run":
    13. //跑步动作逻辑
    14. break;
    15. case "atk":
    16. //攻击动作逻辑
    17. break;
    18. }

    3、创建动画状态机

    两种方法:

  • 相关阅读:
    (二十六)数据结构-数组
    18.Raising and Lower Indexs
    Git知识点总结
    STM32控制max30102读取血氧心率数据(keil5工程)
    【Paper】2022_切换拓扑下动态事件触发多智能体系统固定时间一致性
    linux-4.19 内存
    查找最大元素
    开源国内镜像站 操作系统、中间件、开发环境
    雾锁王国服务器一键部署教程
    如何在windows linux子系统Ubuntu 22.04.2 TLS中安装nvm
  • 原文地址:https://blog.csdn.net/Go_Accepted/article/details/128072518
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号