当前位置:网站首页>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 以在某个特定的时间点触发事件
边栏推荐
- 【STM32学习1】基础知识与概念明晰
- 将SSE指令转换为ARM NEON指令
- 十天学习Unity3D脚本(一)九个回调
- [System Design and Implementation] Flink-based distracted driving prediction and data analysis system
- 第三十章:普通树的存储和遍历
- Happy, 9/28 scene collection
- Redis常见面试题
- 永久更改pip源
- Detailed explanation of Golang garbage collection mechanism
- Use libcurl to upload the image of Opencv Mat to the file server, based on two methods of post request and ftp protocol
猜你喜欢

Yolov5 official code reading - prior to transmission

网络安全抓包

MATLAB图形加标注的基本方法入门简介

二叉树创建之层次法入门详解

利用plot_surface命令绘制复杂曲面入门详解

Win11 system cannot find dll file how to fix

5.事务管理

Open the door of power and electricity "Circuit" (2): Power Calculation and Judgment

What is Win10 God Mode for?How to enable God Mode in Windows 10?

软件测试基础知识(背)
随机推荐
Introduction to C language function parameter passing mode
MATLAB drawing command fimplicit detailed introduction to drawing implicit function graphics
Codeforces Round #605 (Div. 3)
Detailed explanation of MATLAB drawing function fplot
STM32LL library use - SPI communication
Exotic curiosity-a solution looking - bit operations
MATLAB图形加标注的基本方法入门简介
倍增和稀疏表
线性结构,顺序结构
第二十六章:二维数组
Happy, 9/28 scene collection
1. Development community homepage, register
背包问题-动态规划-理论篇
Golang 垃圾回收机制详解
Use tencent cloud builds a personal blog
KiCad Common Shortcuts
3.用户上传头像
Summarize computer network super comprehensive test questions
Yolov5 official code reading - prior to transmission
第三十一章:二叉树的概念与性质