当前位置:网站首页>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 以在某个特定的时间点触发事件
边栏推荐
- Mapreduce环境详细搭建和案例实现
- 第二十五章:一文掌握while循环
- Win10 computer can't read U disk?Don't recognize U disk how to solve?
- Failed to install using npx -p @storybook/cli sb init, build a dedicated storybook by hand
- Open the door of power and electricity "Circuit" (2): Power Calculation and Judgment
- Introduction to MATLAB drawing functions ezplot explanation
- Win11 system cannot find dll file how to fix
- 动态数组-vector
- pytorch模型转libtorch和onnx格式的通用代码
- 【离散化+前缀和】Acwing802. 区间和
猜你喜欢
Installation and configuration of Spark and related ecological components - quick recall
cmake configure libtorch error Failed to compute shorthash for libnvrtc.so
Network Security Packet Capture
pygame draw arc
How to simulate 1/3 probability with coins, and arbitrary probability?
【离散化+前缀和】Acwing802. 区间和
第二十九章:树的基本概念和性质
MATLAB图形加标注的基本方法入门简介
奇技淫巧-位运算
基于最小二乘法的线性回归分析方程中系数的估计
随机推荐
推开机电的大门《电路》(一):电压,电流,参考方向
动态规划理论篇
模板系列-并查集
2021-06-06
Redis common interview questions
基于矩阵计算的线性回归分析方程中系数的估计
【系统设计与实现】基于flink的分心驾驶预测与数据分析系统
Masters and Masters
富文本编辑
Exotic curiosity-a solution looking - bit operations
What should I do if I install a solid-state drive in Win10 and still have obvious lags?
Doubled and sparse tables
总结计算机网络超全面试题
7. Redis
第二十九章:树的基本概念和性质
二叉排序树与 set、map
pygame image rotate continuously
Project: combing the database table
专硕与学硕
剑指offer:删除链表中重复的节点