PlayMaker — 核心概念
有限状态机(Finite State Machines)
一个有限状态机(FSM)将行为组织成一些离散的状态。
开、关、开启、关闭、行走、空闲、攻击、防御...
Playmaker 使用事件驱动的有限状态机来控制Unity:
1. 开始事件( Start Event)
当有限状态机(FSM)启动时会发送一个开始事件(Start Event)。
这个start事件(event)会激活第一个状态(state),也就是Start State。
2. 状态( State)
同一刻仅能有一个状态是激活的。
激活的状态会执行动作(Action) 并接收事件(Event)。
3. 过渡事件( Transition Event)
事件触发过渡(transition)转到另一个状态。
事件可以由Unity发出(碰撞、触发器、鼠标输入、动画事件...)
或者由动作(Action)发出(距离检测、定时设置、游戏逻辑...)
4. 过渡( Transition)
激活的状态"退出"并且新的状态"进入"。
图形视图(Graph View)可以很方便地建立和调试这些过渡(transition)。
5.全局过渡(Global Transition)
全局过渡可以在任何时候被触发,无论当前是哪个激活状态。
在上面的例子中,角色在任何时候都可以被撞倒,所以我们使用了一个全局过渡。
全局过渡可以减少需要显式定义的过渡(transition)的数量来简化有限状态机(FSM)。
动作(Actions)
当前激活的状态会执行动作(Actions)。动作有一些参数可以在动作编辑器(Action Editor)来编辑,就好像在Unity监视窗里编辑脚本参数一样。
变量(Variables)
变量(Variables)是一个值的命名容器。动作编辑器(Action Editor)允许你将动作参数(Action parameters)与变量(Variables)挂钩从而代替常量。例如,"numberOfLives" 来代替 3, "health"来代替100。
如果一个值需要随着时间改变,你应该使用一个变量,而不是硬编码的值。
事件(Events)
所有的状态之间的过渡都是由事件(Events)触发的。
译文源自:https://hutonggames.fogbugz.com/default.asp?W133
PlayMaker — 核心概念相关推荐
- Playmaker Input篇教程之引入的核心概念
Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机.动作.变量和事件.了解它们是学习操作Playmaker ...
- 2021年大数据ELK(五):Elasticsearch中的核心概念
全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Elasticsearch中的核心概念 一.索引 index 二 ...
- Sg.js框架核心概念
Sg.js框架核心概念: 1)所有变量.方法.类对象全部都是从属于$g主树,由$g分支出很多$g.变量名.$g.方法.$g.对象id.$g.类: 2)获取控件内部属性必须使用公开的get方法获取,禁止 ...
- 学习 JavaScript (四)核心概念:操作符
JavaScript 的核心概念主要由语法.变量.数据类型.操作符.语句.函数组成,前面三个上一篇文章已经讲解完了.后面三个内容超级多,这篇文章主要讲解的是操作符. 操作符 什么叫做操作符? 这是一种 ...
- Go modules基础精进,六大核心概念全解析(下)
Go 语言做开发时,路径是如何定义的?Go Mudules又为此带来了哪些改变?本文将会全面介绍Go Modules六大核心概念,包括了设计理念与兼容性原则等,掌握这些技术点对于管理和维护Go 模块有 ...
- Go modules基础精进,六大核心概念全解析(上)
Go 语言做开发时,路径是如何定义的?Go Mudules又为此带来了哪些改变?本文将会全面介绍Go Modules六大核心概念,包括了设计理念与兼容性原则等,掌握这些技术点对于管理和维护Go 模块有 ...
- Maven学习总结(四)——Maven核心概念
2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(四)--Maven核心概念 一.Maven坐标 1.1.什么是坐标? 在平面几何中坐标(x,y)可以标识平 ...
- [k8s] 第一章 十分钟带你理解Kubernetes核心概念
本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念.组件和工作原理. 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...
- cocos2d-x一些核心概念介绍
cocos2d-x一些核心概念介绍 Cocos2d-x中有很多概念,这些概念很多来源于动画.动漫和电影等行业,例如:导演.场景和层等概念,当然也有些有传统的游戏的概念.Cocos2d-x中核心概念:导 ...
最新文章
- python线程执行带有参数的任务(args、kwargs)
- 不懂 Zookeeper?没关系,看这篇就够了
- proj4经纬度bl转换xy_多种坐标系之间的转换之Proj.NET_转载
- 利用SQL Server 2005特性删除表中重复数据
- 你真的理解内存分配吗?
- 编程题走迷宫_C++程序算法题----迷宫(一)
- rabbit和mysql事务_分布式事务原理及SpringBoot整合RabbitMQ实现可靠事件,TCC事务模型及接口幂等性...
- Ajax工作原理和原生JS的ajax封装
- Matlab多种群遗传算法
- 972_MISRA C 2004规范解读1
- Android 分贝测试仪功能,挥泪整理面经
- Shiro记住我无效,被拦截;
- composer错误
- 如何在直播中解决黑屏、花屏、闪屏问题 | 直播疑难杂症排查
- django http 收发_django的日志发往http server
- 关于Idea合并不同分支代码你怎么看
- 求问R语言 分层抽样 合并两个数据框为什么出现了空集
- html表单元素占位符是,HTML各种表单元素模板及写法
- Web 前端基础知识面试大全
- 知识图谱基础知识之三——知识图谱的构建过程
热门文章
- GPRS模块中CSQ信号值相关
- 神策数据java开发工程师校招面经
- unplug / plug PDBS
- uestc 宝贵资源 1265 (水)
- 【MyBatis】防止sql注入
- English语法_基数词
- Python 解答火车排序的问题:火车单向行驶:从左到右,一次标号每辆火车,入口出口只能被占用一次、那么如图所示。需要几列火车轨道满足要求?
- 一网打尽、详解面试最常被问到的几种 Python 设计模式
- 中国代步平衡车市场销售态势与消费趋势预测报告(2022-2027年)
- jdb java_利用JDB附加调试JAVA程序 | 学步园