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 允许在点击按钮后发送事件,注意选取自身有的事件。
- 注意:预制体想要修改可选择修改实例,或修改预制体。
- PlayMaker 允许自定义变量。可在第四栏中配置自定义变量及其所属类型
点击设置可配置全局变量
- 在参数列表中,有等于号的地方便是可以使用变量的地方。
- 若想保存变量,可在存在
Store XXX
(如Get脚本)设置 Store 为保存的到的变量中。注意必须同一类型,且使用在赋值之后
- FINISHED 事件:会在当前状态的所有脚本运行完毕后运行该事件
- Trigger Event 触发器,会监听触发器直到特定类型的物体进入触发器后,触发特定事件
- Set Visibility 设置物体的材质渲染(Mesh Renderer)是否显示. 若勾选 Reset On Exit 则会在离开状态后恢复原状态。
- Create Object 创建对象。
- Rotate 自动旋转
- 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 重启场景
- 若想发送给不同物体上一个事件,需先定义一个全局可用的事件。只需勾选事件旁边的单选框即可设置为全局事件
- 设定事件目标为FSM状态机,确定游戏对象以及FSM状态机名称(PlayerMakerFSM组件上的),发送全局事件
| 种类 | 描述 | |–|–| | GameObjectFSM | 游戏对象,自己选定FSM状态机名称 | | FSMComponent | 特定的FSM状态机 | | BroadcastAll | 所有FSM状态机(可选包不包含自身) |
- Playmaker 允许将自定义事件作为起点,这时触发该事件时会跳转到该位置,优先于自身相同事件。
- Send Message 组件可给C#代码发消息,等同于Unity的发消息,写入方法名称以及参数即可。
- 以下代码可给fsm状态机发送消息。
GetComponent().SendEvent("new");
5. 条件判断
- Compare组件表可比较两个值
- 勾选 Every Frame 以在某个特定的时间点触发事件