PM的操作界面

本文开始介绍PM的操作界面。
        将PM导入到unity以后,等待一个短暂的编译时间后,可以发现在unity的菜单栏多出了“PlayMaker”的字样:
Image title
        点击这个菜单,然后选择“PlayMaker Editor”
PM编辑窗口
Image title
        上图就是PM的编辑界面,大多数时候使用PM制作逻辑,都是在这里完成的。
1:工具栏
Image title
1.1:历史选择,向前,向后,最近历史记录。
1.2:当前选中的具有PlayMakerFSM的gameobject。
1.3:在当前gameobject上选中的一个FSM。注意:一个对象身上面可以拥有多个FSM。
Image title
        这个对象上就拥有3个FSM,可以通过下拉列表选择对应的FSM。

1.4:锁定,将当前选中的对象锁定,锁定后再选择其他的gameobject,PM编辑窗口中显示的内容将不会被切换。注意:在完成这个编辑之后,最后取消锁定,以免自己忘记,导致后续的编辑出错。
1.5:选中拥有当前FSM的这个gameobject。
Image title
        在较新版本的PM中,针对预设中的FSM选择方式。可以选择预设本身,也可以将这个预设实例化到场景中。
Image title
        假如所选中的FSM对象是一个实例,点击选择按钮会弹出上图的列表。
Select Game Object:在场景里选中这个预设的实例。
Revert To Prefab:还原所有针对这个FSM预设的更改。
Select Prefab:选中这个实例得预设(在Project里面选中)。


1.6:在编辑区中是否启用导航图。

2:编辑视图--在此编辑状态以及各种跳转
编辑视图
2.1:所选中的对象名称,以及此对象上的FSM名称。
2.2:画布,可视化的工作区,主要的状态编辑工作就在此完成。
2.3:导航图,是整个FSM的概览图,可以点击导航图上的区域来移动到对应的视角。
2.4:导航图开关。
2.5:水印,表示FSM的一个图标,可以自定义。

        视图操作:可以按下鼠标中间拖动画布,使用鼠标滚轮缩放画布。按下F键可以回到默认视角。
        选择状态:鼠标左键点击一个状态,便可选中它;可以框选多个状态选中它们;按下Shift键加选/Alt键减选状态;点击画布中的空白区域可以取消选择所有状态。
        移动状态:鼠标拖动所有选择的状态即可移动它们;画布会在你移动状态的时候自动扩展。
        添加状态:有下列几种方式增加新的状态
                ●在画布上点击鼠标右键增加
                ●复制-粘贴已经存在的状态
                ●粘贴一个模板(前提是已经建立过该模板)
                ●从Action Browser(动作浏览器)里直接拖拽一个action到画布里,可以新建为一个状态
                ●按下Ctrl点击鼠标左键可以快速的创建一个状态

        添加跳转(Transition变换)事件:有下列几种方式可以添加
                ●右键点击一个状态,选择“Add Transition”
                ●邮件点击一个状态,选择“Add Global(全局) Transition”
                ●按住Ctrl键点击一个状态来
        在两个状态之间建立连接:有以下两种方式
                ●从一个状态的Transition事件拖拽一根线连接到另外一个状态
                ●按住Ctrl键从Transition事件拖拽一个连线到空白处松开,可以自动创建出一个状态并且连接上

3:检视器工具栏
检视器工具栏

3.1:FSM检视器
FSM Inspector
3.1.1:FSM的名字,可以自定义。
3.1.2:使用模板
3.1.3:可以自定义此FSM的描述,非常有用,方便自己在今后查看梳理逻辑,在制作之前可以根据需要写下描述,例如此FSM的工作流程是如何的,它具有什么功能,还与其他什么东西进行交互等等。
3.1.4:你可以创建一个网页文档,并在这里链接它。
3.1.5:FSM运行时的行为。
        ●Max Loop Override:有时候在链接状态的时候,很可能会出现一个死循环(无限循环)。PM在运行的时候回打断这些循环避免Unity崩溃。在默认情况下,一个通常的Update里如果状态超过了1000次循环,PM会认为此程序处在了一个死循环中。调整这个参数的值可以调整检测死循环的上限值。如果设置为0,表示使用默认的极限值。
        ●Reset On Disable:通常情况下,当一个FSM被屏蔽,或者被启用的时候,它就会被重置。然而在某些情况下,你需要FSM在被屏蔽以后记住自己的状态数据,取消勾选这个项目。
3.1.6 Controls:这里显示的是在FSM里面所暴露出来的变量,并且能直接在此编辑变量。
Image title

        ●Variables 变量:在Variable Manager(变量管理器)中可以创建变量。
        ●Event 事件:在这里暴露出来的事件,看起来像是个按钮的样子。在运行的时候按下这个按钮就可以发送事件。注意:你可以将变量进行分类,以便更好的对其进行管理,如上图所示。

3.1.7 Network Sync:显示FSM里面将会通过网络同步的变量,可以再变量管理器中设置。
3.1.8 Debug 调试
        ●Show State Label in Game View 在Game视图里显示状态标签
            状态标签是一个GUI Box,在拥有此FSM的对象上被绘制出来。对于调试非常有用,但是有很多刚接触PM的朋友想把状态标签显示关掉,却找不到地方,去掉勾选本项即可。
            注意:状态标签需要有PlayMakerGUI组件存在于场景中,PM会自动生成一个对象名称如上述,请勿将其删除。
        ●Enable Breakpoints 启用断点:没错,断点调试,非常有用。
        ●Enable Debug Flow 启用调试工作流:这是一个高级调试选项。开启后可以保存FSM变量的历史记录,当暂停游戏的时候可以在FSM Log里面查看他们的变化情况。

3.1.9 Password 密码:设置一个密码,当需要修改FSM的时候需要输入密码才可以编辑。请牢记你的密码

3.2 状态检视器
Image title
3.2.1:状态名。在FSM里面状态名是必须存在的,而且不能存在相同的名称。
3.2.2:设置菜单。状态检视器的一些设置,还有工具,请往下看。
设置菜单

            ●Action Sequuence 动作序列:当选中时,每一个Action会同时执行直到FINISHED。下面是详解。
            动作序列可以控制动作的执行方式,通常情况下,动作的执行方式是从上至下每一帧执行。
动作序列
            使用动作序列的执行顺序为:
            等待0.5秒-->播放声音-->等待1秒发送事件

            不适用动作序列的执行顺序为:
            立即播放声音-->等待1秒后发送事件          (第一个等待同时也在执行了,但是他的时长比下面的等待时长要短,所以并不能察觉)

            ●Show State Description 显示状态说明:使用状态说明来描述你的状态是如何工作的。
            ●Show Action Parameters 显示动作参数:显示/隐藏状态的参数。
            ●Dim Unused Parameters :将未使用的参数变灰,可以更好的过滤掉无用的信息,击中在有用的参数上。
           ●Set State Color: 设置状态颜色。
            ●Select All Actions:选中此状态里的所有动作。
            ●Copy Selected Actions/Paste Actions:复制/粘贴选中的动作。
            ●Delete All Actions:快速删除状态上的所有动作。
            ●Action Browser :打开动作浏览器。
            ●Online Help:在线帮助,可以查看论坛以及文档之类。

3.2.3 Action:动作,每一个状态可以包含有一个或者多个action,根据自己的需要来确定加入什么动作,每一个动作就是一个行为。
3.2.4 Debug:调试。显示状态里面所有使用到的变量值,在运行的时候调试非常有用。
3.2.5 Hide Unused:隐藏未使用的对象,可以在PM的UI里面隐藏一切未使用的参数。
3.2.6 Action Browser:打开动作浏览器。

关于状态检视器的一些小技巧:
        拖拽
        ●可以通过拖拽动作的标题移动它们进行排序
        ●可以从动作浏览器里面直接把动作拖拽到状态检视器
        ●可以直接把unity对象的组件拖拽到状态监视器中进行Get/Set Property操作,非常好用,屡试不爽

        运行周期
        ●所有的动作从上至下逐帧执行
        ●执行完成的动作会被跳过
        ●当状态中所有的动作都执行完成以后会发送FINISHED事件
        ●当游戏运行的时候,被激活的动作会绿色高亮;执行完毕的动作变灰
        ●每一个动作有自己的默认名字,但是也可以重命名,但是需要有一个良好的命名规则能表述清楚,以免产生混乱

3.3 Events Manager 事件管理器
事件管理器
3.3.1:事件以及事件名。
3.3.2:是否转换为全局事件,勾选以后转换为全局事件,全局事件可以在FSM之间发送。
3.3.3:事件管理器设置菜单,请往下看
事件管理器设置菜单
        ●Remove Unused Events:移除当前FSM里面所有未使用的事件。
        ●Event Browser:打开事件浏览器。
        ●Online Help:在线帮助。

3.3.4:事件计数器,事件在此FSM里面被使用的次数。
3.3.5:从当前FSM里面将这个事件移除。
3.3.6:添加新事件。输入想要添加的自定义事件名称,完成后点击Add。
3.3.7:打开事件浏览器。

事件管理器的一些使用技巧
        编辑事件:选中事件,变为高亮显示
Image title

        ●Event Name:在此即可编辑它的名称,输入完成后回车,PM会自动将所有使用过这个事件的地方全部替换。
        ●Inspector:在Unity的Inspector中将事件以按钮的形式暴露出来,方便调试。
        
        双击画布中的时间可以在事件管理器中快速选中它:
在管理器中快速选中事件

        将事件暴露在Unity Inspector中快速调试:
Image title

3.4 Variable Manager:变量管理器。在此添加删除以及编辑FSM里所需要使用的变量。
变量管理器
3.4.1:快速查找变量。
3.4.2:变量名。
3.4.3:变量所使用的次数。
3.4.4:变量类型,可以实时更改,点开按钮会弹出下拉菜单,选择所需要的类型即可。当前PM所能使用的变量类型如下所示
Image title

3.4.5:变量管理器设置菜单,请往下看。
Image title
            ●Debug Variable Values:显示变量的值,在运行时调试非常有用。
            ●Delete Unused Variables:删除FSM里未使用的变量。
            ●Global Variables:打开全局变量窗口。后文会详细说明。
            ●Copy Variables:复制此FSM种的所有变量。
            ●Paste Variables:将之前复制的变量粘贴到一个FSM。
            ●Paste Variable Values:将变量的值粘贴到一个FSM。

3.4.6:删除变量。
3.4.7:变量编辑器。添加一个变量或者编辑变量。

            如何添加变量:
            ●输入变量名称
            ●选择变量类型
            ●点击Add完成
            ●可以将Unity Inspector中的组件或者对象直接拖入变量编辑器来创建一个变量,如下所示
Image title

        如何编辑变量:
        ●在管理器中选中变量
        ●使用底部的工具栏进行编辑
Image title
        ●Edit Variable:选中变量的名字。
        ●Value:变量的初始值。
        ●Toolyip:可以在此自定义变量的提示。
        ●Category:在此自定义分类并将所有变量进行分类管理,在Inspector中暴露出的变量也会根据这个分类进行排列,非常有帮助。
        ●Inspector:是否将变量暴露在Unity Inspector上。
        ●Network Sync:是否进行网络同步。

注意:Enum(枚举),Object(对象),以及Array(数组)类型需要你去设置它们的特定类型才能使用,如下图举例所示
            以Object为例
Image title
        注意,Network Sync已经变灰,因为Unity Object无法进行网络同步。
            ●在Object Type中寻找到对应的类型。虽然比较麻烦,但是所有的类型都可以被查找到。
            ●Object Type的选择菜单是根据命名空间进行排列的。许多常用的组件在“UnityEngine”项下。大多数第三方插件会使用它们自己命名空间,可以再它们的命名空间查找到。
            ●在选择菜单中按下字母可以快速导航到对应名称的命名空间。

            按照分类进行排列(1.8新版本功能)
Image title


4 Debug Toolbar 调试工具
Image title
4.1:错误计数器。记录工程里的错误数量。
4.2 Debug Menu:打开调试菜单。
4.3:运行控制。与Unity本身的运行控制很相似。

        当游戏运行的时候,如下图所示
Image title
                    有下列四种运行状态:
                    Image title                                                          运行中

Image title
                                                          暂停中

Image title
                                                          断点

Image title
                                                           错误

                点击断点或者错误的图标,便会跳转到对应的状态。

                调试工作流
                    如果Debug Flow被启用(可以在Preferences里面设置),在暂停的时候会多出两个按钮:
Image title
                ●Pre:倒回上一个状态。
                ●Next:运行至下一个状态。 

            注意:Debug Flow的时间是通过编辑器同步的,所以你可以选择其他的FSM,查看在那个时候他们的FSM log日志。


5  Preferences 首选项
Image title
        现在饿PM里面内置有中文语言,对于首选项其实没有太多可以说的,将语言切换为中文可以看看首选项里面的内容,都是一些设置,这里就不详细介绍了。
        用户操作界面的上篇就此结束。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值