本文开始介绍PM的操作界面。

        将PM导入到unity以后,等待一个短暂的编译时间后,可以发现在unity的菜单栏多出了“PlayMaker”的字样:

PM的操作界面

        点击这个菜单,然后选择“PlayMaker Editor”

PM的操作界面

PM的操作界面

        上图就是PM的编辑界面,大多数时候使用PM制作逻辑,都是在这里完成的。

1:工具栏

PM的操作界面

1.1:历史选择,向前,向后,最近历史记录。

1.2:当前选中的具有PlayMakerFSM的gameobject。

1.3:在当前gameobject上选中的一个FSM。注意:一个对象身上面可以拥有多个FSM。

PM的操作界面

        这个对象上就拥有3个FSM,可以通过下拉列表选择对应的FSM。


1.4:锁定,将当前选中的对象锁定,锁定后再选择其他的gameobject,PM编辑窗口中显示的内容将不会被切换。注意:在完成这个编辑之后,最后取消锁定,以免自己忘记,导致后续的编辑出错。

1.5:选中拥有当前FSM的这个gameobject。

PM的操作界面

        在较新版本的PM中,针对预设中的FSM选择方式。可以选择预设本身,也可以将这个预设实例化到场景中。

PM的操作界面

        假如所选中的FSM对象是一个实例,点击选择按钮会弹出上图的列表。

Select Game Object:在场景里选中这个预设的实例。

Revert To Prefab:还原所有针对这个FSM预设的更改。

Select Prefab:选中这个实例得预设(在Project里面选中)。



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


2:编辑视图--在此编辑状态以及各种跳转

PM的操作界面

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:检视器工具栏

PM的操作界面


3.1:FSM检视器

PM的操作界面

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里面所暴露出来的变量,并且能直接在此编辑变量。

PM的操作界面


        ●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 状态检视器

PM的操作界面

3.2.1:状态名。在FSM里面状态名是必须存在的,而且不能存在相同的名称。

3.2.2:设置菜单。状态检视器的一些设置,还有工具,请往下看。

PM的操作界面


            ●Action Sequuence 动作序列:当选中时,每一个Action会同时执行直到FINISHED。下面是详解。

            动作序列可以控制动作的执行方式,通常情况下,动作的执行方式是从上至下每一帧执行。

PM的操作界面

            使用动作序列的执行顺序为:

            等待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 事件管理器

PM的操作界面

3.3.1:事件以及事件名。

3.3.2:是否转换为全局事件,勾选以后转换为全局事件,全局事件可以在FSM之间发送。

3.3.3:事件管理器设置菜单,请往下看

PM的操作界面

        ●Remove Unused Events:移除当前FSM里面所有未使用的事件。

        ●Event Browser:打开事件浏览器。

        ●Online Help:在线帮助。


3.3.4:事件计数器,事件在此FSM里面被使用的次数。

3.3.5:从当前FSM里面将这个事件移除。

3.3.6:添加新事件。输入想要添加的自定义事件名称,完成后点击Add。

3.3.7:打开事件浏览器。


事件管理器的一些使用技巧

        编辑事件:选中事件,变为高亮显示

PM的操作界面


        ●Event Name:在此即可编辑它的名称,输入完成后回车,PM会自动将所有使用过这个事件的地方全部替换。

        ●Inspector:在Unity的Inspector中将事件以按钮的形式暴露出来,方便调试。

        

        双击画布中的时间可以在事件管理器中快速选中它:

PM的操作界面


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

PM的操作界面


3.4 Variable Manager:变量管理器。在此添加删除以及编辑FSM里所需要使用的变量。

PM的操作界面

3.4.1:快速查找变量。

3.4.2:变量名。

3.4.3:变量所使用的次数。

3.4.4:变量类型,可以实时更改,点开按钮会弹出下拉菜单,选择所需要的类型即可。当前PM所能使用的变量类型如下所示

PM的操作界面


3.4.5:变量管理器设置菜单,请往下看。

PM的操作界面

            ●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中的组件或者对象直接拖入变量编辑器来创建一个变量,如下所示

PM的操作界面


        如何编辑变量:

        ●在管理器中选中变量

        ●使用底部的工具栏进行编辑

PM的操作界面

        ●Edit Variable:选中变量的名字。

        ●Value:变量的初始值。

        ●Toolyip:可以在此自定义变量的提示。

        ●Category:在此自定义分类并将所有变量进行分类管理,在Inspector中暴露出的变量也会根据这个分类进行排列,非常有帮助。

        ●Inspector:是否将变量暴露在Unity Inspector上。

        ●Network Sync:是否进行网络同步。


注意:Enum(枚举),Object(对象),以及Array(数组)类型需要你去设置它们的特定类型才能使用,如下图举例所示

            以Object为例

PM的操作界面

        注意,Network Sync已经变灰,因为Unity Object无法进行网络同步。

            ●在Object Type中寻找到对应的类型。虽然比较麻烦,但是所有的类型都可以被查找到。

            ●Object Type的选择菜单是根据命名空间进行排列的。许多常用的组件在“UnityEngine”项下。大多数第三方插件会使用它们自己命名空间,可以再它们的命名空间查找到。

            ●在选择菜单中按下字母可以快速导航到对应名称的命名空间。


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

PM的操作界面



4 Debug Toolbar 调试工具

PM的操作界面

4.1:错误计数器。记录工程里的错误数量。

4.2 Debug Menu:打开调试菜单。

4.3:运行控制。与Unity本身的运行控制很相似。


        当游戏运行的时候,如下图所示

PM的操作界面

                    有下列四种运行状态:

                    PM的操作界面                                                          运行中


PM的操作界面

                                                          暂停中


PM的操作界面

                                                          断点


PM的操作界面

                                                           错误


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


                调试工作流

                    如果Debug Flow被启用(可以在Preferences里面设置),在暂停的时候会多出两个按钮:

PM的操作界面

                ●Pre:倒回上一个状态。

                ●Next:运行至下一个状态。 


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



5  Preferences 首选项

PM的操作界面

        现在饿PM里面内置有中文语言,对于首选项其实没有太多可以说的,将语言切换为中文可以看看首选项里面的内容,都是一些设置,这里就不详细介绍了。

        用户操作界面的上篇就此结束。



相关文章:

  • 2021-12-30
  • 2021-05-23
  • 2022-12-23
  • 2022-02-09
  • 2022-02-05
  • 2021-12-19
  • 2021-10-19
猜你喜欢
  • 2021-12-02
  • 2021-04-08
  • 2021-10-18
  • 2022-02-19
  • 2022-12-23
  • 2021-09-17
  • 2021-08-23
相关资源
相似解决方案