文档章节

Playmaker全面实践教程之Playmaker常用工具

大学霸
 大学霸
发布于 2015/05/27 11:06
字数 4196
阅读 884
收藏 0

Playmaker全面实践教程之Playmaker常用工具

Playmaker常用工具

Playmaker插件搭载了8个工具:FSM BrowserState BrowserTemplatesToolsActionsGlobalsEventsFSM Log。熟练的使用这些工具,可以让开发者更全面的掌控当前的游戏项目,方便的查看和管理使用Playmaker创建的状态机。本章将详解介绍这些常用工具。

Playmaker查看/管理项目中的状态机

我们可以使用FSM Browser(状态机浏览器)查看/管理游戏项目中的所有状态机。单击PlayMaker|Editor Windows|FSM Browser命令,可以打开此编辑窗口,如图6-1所示。

6-1  FSM Browser

提示:本节介绍FSM Browser时,使用的示例截图来源于一个自制的游戏项目。此游戏项目包含5个游戏对象,拥有状态机的游戏对象是CubeCylinder,如图6-2所示。Cube上的状态机名为FSMCube,包含状态CubeState1CubeState2Cylinder上的状态机名为CylinderFSM,包含状态CylinderState1,如图6-3所示。

6-2  游戏场景中的游戏对象         6-3  赋予CubeCylinder对象的状态机

注意:此游戏示例不包含任何功能,只是为了清楚解释FSM Browser的使用方法和作用。

Playmaker状态机列表

FSM Browser中间的视图区域,就是状态机列表,它呈现了下面5个方面的信息:

q  2指向的复选框,决定了是否要禁用游戏项目中的此状态机;

q  3指向的字符串,显示了状态机所属的游戏对象以及状态机名;

提示:如果不希望看到状态机所属的游戏对象,可以单击6指向的按钮,然后取消对Show Full FSM Path的复选,如图6-4所示。

6-4  Show Full FSM Path  6-5  playMakerInspector Panel中,编辑状态机描述和在线资源网址的位置

q  4指向的字符串,是对被选中状态机的功能描述;

q  5指向的字符串,是一个在线资源的网址;

提示:单击8指向的图标后,浏览器会自动载入5指向的网址。

q  7指向的字符串,是状态机当前所处的状态;

提示:开发者可以直接编辑45所指向的位置,效果等同于在playMakerInspector Panel中进行编辑,如图6-5所示。


Playmaker筛选状态机

1指向的下拉列表,可以筛选FSM Browser中显示的状态机。筛选的条件有下列4个(下拉列表的4个选项),如图6-6所示。

q  All:显示全部的状态机;

q  On Selected Object:显示选中游戏对象上的状态机;

q  Recently Selected:显示近期选择过的状态机;

q  With Errors:显示有错误的状态机;

6-6  预置的4个筛选条件

Playmaker使用此工具的优点

使用FSM Browser可以查看/管理游戏项目中的状态机。具体到细节而言,使用此工具可以带来以下优点:

q  快速选中游戏项目中的状态机;

q  游戏运行时,实时查看状态机当前所处状态;

q  快速的切换状态机的可用/禁用状态;

q  直接编辑状态机的描述和链接信息;

Playmaker查看/管理状态机中的状态

使用State Browser可以查看/管理指定状态机中的状态。单击PlayMaker|Editor Windows|State Browser命令,可以打开此编辑器口,如图6-7所示。

6-7  State Browser

提示:本节介绍State Browser时,使用的示例截图来源于一个自制的游戏项目,此游戏项目与上一节相同。

Playmaker状态列表

State Browser中间的列表,就显示了指定状态机中的所有状态。

提示:也就是2所指向的区域。

Playmaker指定状态机

1指向的下拉列表,用于指定游戏项目中的状态机,如图6-8所示。而State Browser中显示的状态,则是此状态机中的所有状态。

6-8  1指向的下列列表

提示:此时的游戏项目中,Cube拥有状态机FSMCubeCylinder拥有状态机CylinderFSM

Playmaker使用此工具的优点

使用State Browser可以查看/管理状态机中的状态,具体到细节而言,使用此工具可以带来以下优点:

q  快速预览选定状态机中的所有状态;

q  快速选择状态机中的特定状态;

Playmaker查看/管理状态机模板

模板(Template)可以加快我们创建状态机的速度。在很多功能重复的状态机上,模板的作用不可小觑。Templates可以查看/管理状态机模板,单击PlayMaker|Editor Windows|Templates Browser命令,可以打开此编辑窗口。

提示:本节的操作,依然建立在上一节游戏项目的基础之上。

Playmaker创建模板

假设FSMCube状态机里,状态CubeState1CubeState2构成的功能,其它状态机也同样需要,那么就无需在其它状态机里再次构建,因为使用模板是最快捷的方法。请按照下面的步骤操作,学习创建模板的方法:

1FSMCube状态机及其状态,如图6-9所示。现在需要将状态CubeState1CubeState2创建为模板。

6-9  FSMCube状态机及其状态

2我们需要同时选中状态CubeState1CubeState2,然后右击并选择Save Template命令,再为“模板”资源指定文件名和存储路径以后,模板就创建成功了。

提示:默认情况下,模板都被存储在Project视图的PlayMaker/Templates路径下,如图6-10所示。本示例创建了两个版本template1template2

6-10  模板资源的默认存储路径

Playmaker为模板分类

在了解为模板分类的方法之前,首先来看Templates的列表视图区域。Template编辑窗口,如图6-11所示。

6-11  Templates

提示:Templates编辑窗口列出了开发者创建的所有模板。

q  1表示模板的分类;

提示:单击这个表示模板分类的按钮,可以展开所有此分类下的模板。

q  2表示模板;

在选中一个具体的模板以后,编辑3指向的文本框,即可“新建模板分类”或者“指定模板分类”!而4指向的位置,则用于为模板添加描述信息。

Playmaker使用模板

假设状态机CylinderFSM要用到我们之前创建的模板。请按照下面的步骤来操作,学习使用模板的方法。

1状态机CylinderFSM里现有的状态,如图6-12所示。

6-12  状态机CylinderFSM,及其状态

2在状态机编辑窗口编辑区域的空白处右击,然后选择Paste Template命令,从此菜单项中找到创建的模板,然后单击目标模板即可。例如,本示例创建的模板位于Gengeral分类下,如图6-13所示。

6-13  Paste Template   6-14  在状态机CylinderFSM中使用模板template1

3完成以上操作以后,模板template1就被添加到状态机CylinderFSM中了,如图6-14所示。

 

Playmaker注意事项

创建和使用模板时,需要注意以下几点:

q  创建模板时,被选中状态所使用的变量和事件,也会一并被“保存”到模板中;

q  使用模板时,模板状态中的变量和事件,也会一并被“添加”到状态机中;

Playmaker状态机常用操作(过时)

编辑状态机的时候,很多操作都是十分常用的,如添加状态、添加过渡等等。旧版本的Playmaker收集、整理了这些常用操作,最后集成到了Tools中。单击PlayMaker|Editor Windows|Edit Tool Window命令,可以打开此编辑窗口,如图6-15所示。

提示:因为这一工具已经过时,所以本节只会简要介绍这一工具。

6-15  Tools

Tools中的内容会依据开发者在playMaker编辑器中的选择而发生变化。它会显示出与当前选择相关的按钮。

注意:本节介绍的工具的功能已经被集成到了playMaker的上下文菜单中。

Playmaker编辑状态机

当开发者选中了一个状态机,Tools中的内容如图6-16所示。此时Tools认为开发者打算编辑状态机。

提示:现在这一功能已被集成到playMaker的上下文菜单中,右击playMaker的空白处,如图6-17所示。

6-16  编辑状态机           6-17  上下文菜单

Playmaker编辑状态

当开发者选中了一个状态,Tools中的内容如图6-18所示。此时Tools认为开发者打算编辑状态。

提示:现在这一功能已被集成到playMaker的上下文菜单中,右击状态,如图6-19所示。

6-18  编辑状态                 6-19  上下文菜单

Playmaker编辑过渡事件

当开发者选中了一个过渡事件,Tools中的内容如图6-20所示。此时Tools认为开发者打算编辑过渡事件。

提示:现在这一功能已经被集成到playMaker的上下文菜单中,右击过渡事件,如图6-21所示。

6-20  编辑过渡事件                6-21  上下文菜单

Playmaker查看/添加动作

Playmaker插件预置了大量的动作,我们可以使用Actions查看/添加这些动作。单击PlayMaker|Editor Windows|Action Browser命令,可以打开此编辑窗口,如图6-22所示。

6-22  Actions(太长,截成两段展示)

本节将以Input动作分类中的Any Key动作为例,说明Actions编辑器窗口的使用方法,如图6-23所示。

6-23  ActionsInput动作分类中的Any Key动作

q  1指向的是动作分类按钮,单击此按钮可以展开此分类中的所有动作;

q  2指向的是动作;

Playmaker预览动作

使用动作前,可以在Actions里预览选中的动作。

提示:要预览选中的动作,需要确保5所指属性Preview被复选。

q  3所指字符串是动作的简要描述;

q  4所指区域是动作的属性;

Playmaker定位帮助文档

要了解所选动作的更多帮助信息(包括动作属性的意义),可以单击6所指的按钮,Playmaker会让浏览器自动定位到对应动作的在线帮助文档。例如动作Any Key,在线文档如图6-24所示。

6-24  动作Any Key的在线文档

Playmaker添加动作

要添加Actions中所选的动作到状态,可以使用下列两种方法:

q  双击Actions中所选的动作;

q  单击7所指的按钮Add Action To State

Playmaker查看/管理全局变量

全局变量存储的信息可以被游戏场景中的所有状态机共享,因此它是十分重要的。使用Globals可以查看/管理所有的全局变量,单击PlayMaker|Editor Windows|Global Variables命令,可以打开此编辑窗口,如图6-25所示。

6-25  Globals

注意:“当前游戏项目”中定义的全局变量,都会在Globals中列出。不要误以为是“当前游戏场景”。

Playmaker全局变量列表

Globals中间的视图区域,就是全局变量列表。此列表列出了当前游戏项目中所有的全局变量。其中:

q  1指向的列表示全局变量的名称;

q  2指向的列表示全局变量被使用的次数;

提示:为了让全局变量的使用次数更准确,可以手动更新,方法是单击8所指向的按钮。

q  3指向的列表示全局变量的类型;

Playmaker添加/删除全局变量

Globals下侧的部分,可以被用来添加全局变量,其中:

q  6指向的部分用来命名全局变量;

q  7指向的部分用来设置类型;

q  9指向的Add按钮用来添加全局变量;

如果对已定义的全局变量不满意,可以单击5所指向的按钮,删除指定的全局变量。

Playmaker注意事项

对于Globals编辑窗口,需要特别注意的是:

q  全局变量(资源)的存储位置是,Project视图PlayMaker/Resources路径下的PlayMakerGlobals文件中,如图6-26所示。

6-26  全局变量(资源)的存储位置

Playmaker查看/管理事件

使用Events可以查看/管理游戏项目中所有的事件。单击PlayMaker|Editor Windows|Event Browser命令,可以打开此编辑窗口,如图6-27所示。

6-27  Events

注意:“当前游戏项目”中的使用的事件,都会被Events列出。不要误以为是“当前游戏场景”。

Playmaker事件列表

Events中间的视图区域,就是事件列表。此列表列出了当前游戏项目使用的所有事件。其中:

q  1指向的列用于标识全局事件。要让一个事件成为全局事件,只需要复选此列的复选框即可;

提示:本地事件只能被当前状态机触发,而全局事件可以被外部状态机触发。

q  2指向的列表示事件的名称;

q  3指向的列表示事件被使用的次数;

Playmaker使用/删除事件

事件都被定义在状态机中,但是可以在Events中直接编辑。例如要将其删除,可以单击4指向的按钮。

单击5指向的按钮Add Selected Events To FSM,可以将选中的事件添加到状态机中,然后状态机再决定如何使用此事件。

Playmaker查看状态机执行细节

状态机在游戏运行时,执行的太快。如果希望掌握其执行细节,可以使用FSM LogFSM Log会详细记录指定状态机的执行细节。单击PlayMaker|Editor Windows|Log Window命令,可以打开此编辑窗口,如图6-28所示。

6-28  FSM Log

提示:本节使用的FSM Log截图实例,来源于本章第一节的游戏示例。而状态细节记录的是FSMCube状态机的执行,如图6-29所示。

6-29  本章FSM Log截图示例,记录的状态机,及其执行过程

Playmaker状态机执行细节列表

FSM Log中间的视图区域就是状态机执行细节列表。此列表按照时间顺序,从上到下记录了指定状态机的执行细节。其中:

q  2指向的是一个时间,表示从开始运行游戏到此执行此细节所消耗的时间;

提示:如果读者的FSM Log没有显示时间,可以手动设置。方法是单击5指向的按钮,然后选择Show TimeCode,如图6-30所示。

q  3指向的是一个“符号”,可以让我们阅读FSM Log细节列表的速度更快;

提示:Playmaker预置了3种“符号”,如图6-31所示,分别表示“进入状态”、“警告”和“错误”。

6-30  手动设置,令FSM Log显示时间       6-31  预置的3种“符号”

q  2指向的字符串,时间后面的字符串是有固定格式的。这种格式相当于一种约定,可以让字符串更短,表示的含义更多;

提示:Playmaker预置了4种字符串“格式”,如图6-32所示。它们分别表示“状态机开始运行”、“状态机接收到事件”、“从状态退出”和“进入状态”。

6-32  Playmaker预置的4种字符串“格式”

Playmaker选择状态机

FSM Log一次只能记录一个状态机的执行细节。我们可以从1指向的下拉列表中选择要查看的状态机。例如,对于本章一直在使用的游戏示例,此下拉列表中的内容,如图6-33所示。

6-33  1指向的下列列表中选择要查看的状态机

Playmaker清除记录内容

FSM Log可以持续不断的记录很多、很长的细节。如果有很多记录细节是不需要的,可以单击4指向的按钮Clear,清除FSM Log中记录的所有内容。

本文选自:Playmaker全面实践教程Input篇大学霸资料,转载请注明出处,尊重技术尊重IT人!


© 著作权归作者所有

大学霸
粉丝 272
博文 911
码字总数 558170
作品 0
东城
程序员
私信 提问
Playmaker Input篇教程之PlayMaker菜单概述

Playmaker Input篇教程之PlayMaker菜单概述 Playmaker InputPlayMaker菜单概述 Playmaker插件被导入游戏项目以后,会自动为Unity编辑器添加一个名为PlayMaker的主菜单,如图1-14所示。熟练的...

大学霸
2015/05/22
521
0
Playmaker Input篇教程之Playmaker购买下载和导入

Playmaker Input篇教程之Playmaker购买下载和导入 Playmaker Input篇认识Playmaker Playmaker是Unity的插件,其标志如图1-1所示。开发者使用它可以快速的将自己的游戏创意实现出来,而不必纠...

大学霸
2015/05/21
860
0
Playmaker Input篇教程之引入的核心概念

Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机、动作、变量和事件。了解它们是学习操作Playmaker的前提,本节会分别介绍它们。...

大学霸
2015/05/22
499
0
Playmaker全面实践教程之playMaker编辑器

Playmaker全面实践教程之playMaker编辑器 playMaker编辑器 playMaker编辑器是制作状态机的主要视图,如图1-23所示。只有熟悉此视图,读者才能更加快捷的使用Playmaker提供的各种功能。 图1-2...

大学霸
2015/05/25
823
0
Playmaker全面实践教程之简单的使用Playmaker示例

Playmaker全面实践教程之简单的使用Playmaker示例 简单的使用Playmaker示例 通过本章前面部分的学习,相信读者已经对Playmaker有了一个整体的认识和印象了。在本章的最后,我们将以一个使用了...

大学霸
2015/05/26
13.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

学习记录 java面试题(一)

1. JDK和JRE的区别 JDK是整个JAVA的核心,包括了Java运行环境JRE,一堆Java工具和Java基础的类库。通过JDK开发人员将源码 文件(java文件)编译成字节码文件(class文件)。 JRE是Java运行环境,...

Pole丶逐
36分钟前
8
0
springboot 部署到外部tomcat

入口类继承SpringBootServletInitializer 并重写protected SpringApplicationBuilder configure(SpringApplicationBuilder builder)方法 如下 import org.springframework.boot.SpringApplic......

雷开你的门
42分钟前
5
0
hashCode和equals方法的关系

equals相等,hashcode必相等; hashCode()在哈希表中起作用,如HashSet、HashMap等。 当我们向哈希表(如HashSet、HashMap等)中添加对象object时,首先调用hashCode()方法计算object的哈希码,...

无名氏的程序员
47分钟前
7
0
技术分享 | MySQL 慢查询记录原理和内容解析

作者:高鹏 文章末尾有他著作的《深入理解 MySQL 主从原理 32 讲》,深入透彻理解 MySQL 主从,GTID 相关技术知识。 源码版本:percona 5.7.14 本文为学习记录,可能有误请谅解,也提供了一些...

爱可生
55分钟前
5
0
elementui 树型节点

节点选择时,勾选节点。 提交给后端时,传递 this.$refs.menuTree.getCheckedKeys(); 半选父节点 getHalfCheckedKeys() 不需要提交。...

东东笔记
56分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部