当前位置:网站首页>Unity-PlayMaker
Unity-PlayMaker
2022-08-02 14:11:00 【莉萝爱萝莉】
1. 基本使用
- PlayerMaker->PlayerMaker Editor 打开面板
- 选中要应用PlayMaker的物体,在state面板中右键添加state,为其创建两个状态
- 在event中Add Event,为状态机添加两个事件。其尾部的Used表示被使用次数。
- 回到state面板,右键一个state,在 Add Transition 中为state添加一个刚才在event中添加的事件。
如果想删除这个添加的事件,可以右键事件点击Delete Transition - 点击state上添加的事件,向外拖拽箭头到另一个state,从而让事件触发时,物体状态从a转换到b
- 选中其中一个状态,点击state面板,点击Action Browser添加行为。可选GUI->GUI Button添加一个按钮行为,该按钮仅在该状态下显示。
- 修改GUI Button参数,其中 Send Event 允许在点击按钮后发送事件,注意选取自身有的事件。
- 注意:预制体想要修改可选择修改实例,或修改预制体。
2. 自定义变量
- PlayMaker 允许自定义变量。可在第四栏中配置自定义变量及其所属类型
点击设置可配置全局变量 - 在参数列表中,有等于号的地方便是可以使用变量的地方。
- 若想保存变量,可在存在
Store XXX
(如Get脚本)设置 Store 为保存的到的变量中。注意必须同一类型,且使用在赋值之后
2. 特殊事件
- FINISHED 事件:会在当前状态的所有脚本运行完毕后运行该事件
3. 特殊状态池
- Trigger Event 触发器,会监听触发器直到特定类型的物体进入触发器后,触发特定事件
- Set Visibility 设置物体的材质渲染(Mesh Renderer)是否显示.
若勾选 Reset On Exit 则会在离开状态后恢复原状态。 - Create Object 创建对象。
名称 | 描述 |
---|---|
GameObject | 游戏对象 |
Parent | 父对象 |
Spawn Point | 坐标位置,未设置默认世界坐标原点 |
Position | 偏移量 |
Rotation | 旋转角 |
- Rotate 自动旋转
名称 | 描述 |
---|---|
Angle | 单位时间旋转量,默认为帧 |
Per second | 以秒为单位 |
Every Frame | 每帧都调用 |
- Destroy 删除对象
- Set Materical Color 设置物体材质的颜色。如不指定材质则为物体上的材质。否则为本地材质。
- Set Int Value 设置变量值
- Int Add 将一个int值增加指定数值。
- Get Random Object 通过标签获得一个随机物体
- Get Mouse Button Down 鼠标按下(注意一旦触发,如未发生等待直接回到该状态时仍会继续触发。)
- Translate 控制对象的移动
- Translate Position 用物理组件控制对象的移动
- Set Position 设置位置
- Camera Fade Out 屏幕变黑
- Restart Level 重启场景
4. 事件发送
- 若想发送给不同物体上一个事件,需先定义一个全局可用的事件。只需勾选事件旁边的单选框即可设置为全局事件
- 设定事件目标为FSM状态机,确定游戏对象以及FSM状态机名称(PlayerMakerFSM组件上的),发送全局事件
| 种类 | 描述 |
|–|–|
| GameObjectFSM | 游戏对象,自己选定FSM状态机名称 |
| FSMComponent | 特定的FSM状态机 |
| BroadcastAll | 所有FSM状态机(可选包不包含自身) |
5. 事件
- Playmaker 允许将自定义事件作为起点,这时触发该事件时会跳转到该位置,优先于自身相同事件。
- Send Message 组件可给C#代码发消息,等同于Unity的发消息,写入方法名称以及参数即可。
- 以下代码可给fsm状态机发送消息。
GetComponent<PlayMakerFSM>().SendEvent("new");
5. 条件判断
- Compare组件表可比较两个值
- 勾选 Every Frame 以在某个特定的时间点触发事件
边栏推荐
猜你喜欢
随机推荐
How to reinstall Win7 system with U disk?How to reinstall win7 using u disk?
二叉树的遍历:递归法/ 迭代法/ 统一迭代法(强QAQ)
Exotic curiosity-a solution looking - bit operations
质数相关问题-小记
网络安全抓包
一篇文章彻底理解Redis的持久化:RDB、AOF
5.事务管理
二叉排序树与 set、map
关于混淆的问题
Win11 keeps popping up User Account Control how to fix it
Mapreduce环境详细搭建和案例实现
【系统设计与实现】基于flink的分心驾驶预测与数据分析系统
动态规划理论篇
General code for pytorch model to libtorch and onnx format
MATLAB绘图函数plot详解
Software Testing Basics (Back)
Test case exercises
Win11 system cannot find dll file how to fix
TCP三次握手、四次挥手
MATLAB绘图函数ezplot入门详解