首先是把下载好的插件导入Unity工程中。

▼导入完成后第一个动作就是检查下拉菜单里面是否已经增加了Playmaker的功能,如果在安装后没看到Playmaker的菜单,一般情况下直接点击菜单上的空白处即可出现。

<ignore_js_op>

▼那么要如何打开Playmaker的编辑器呢?很简单,执行 Playmaker > Playmaker Editor
即可弹出Playmaker的专用编辑器,如图所示:

<ignore_js_op>

▼为了提升Playmaker的操作效率,我们建议将Playmaker的编辑器拖曳到视图的编排里,这样在需要进行FSM(Finite State Machine)的设置时就会方便许多,如图所示,我们将Playmaker Editor与Game视图并列在一个标签位置。

<ignore_js_op>

▼Playmaker另外一个重要的功能是Action Browser, 这个选项里面列出了所有可执行的分类功能,并且在最上方提供了快速搜索功能的栏位。

<ignore_js_op>

▼同样的为了提升操作的效率,我们将Action Browser 面板拖曳到Inspector的右边位置,如此可以让我们快速的进行的功能的选择与执行。

<ignore_js_op>

▼Ok,在调整了Playmaker Editor与Action Browser的位置后,使用右上方的Save Layout将编排后的界面储存起来,例如将名称设定为Playmaker,然后再按下Save即可。

<ignore_js_op>

▼接下来我们用一个简单的案例来说明Playmaker的基本操作,如图所示,场景里面已经放置了一个蓝色的点光源与两个圆柱。只要有任何物体(或是指定的物体)从两个圆柱中间穿过,则蓝色光源转换为黄色,物体一旦离开该区域,灯光自动恢复成蓝色的效果。

<ignore_js_op>

<ignore_js_op>

▼那么要如何开始呢?首先必须在圆柱中间设置一个触发器(Trigger),选择Game Object > Create Empty创建一个空的物件,然后将这个空物件名称更改为Trigger。

<ignore_js_op>

<ignore_js_op>

▼接着在这个空物件上面添加Box Collider, 这是一种最基本触发器制作的方式,必须注意的是务必勾选Is Trigger选项,才能让Collider具备触发事件的作用。

<ignore_js_op>

▼如图所示,绿色的方框为我们使用空物件加上Collider所设置好的触发器,同时需对物件进行缩放以配合两个圆柱之间的距离。

<ignore_js_op>

▼设置好触发器的位置后,现在我们需要导入一个可移动的物件进行测试,使用Import Package > Character Controller将角色资源包直接导入。

<ignore_js_op>

▼接下来将Character Controller里面的First Person Controller添加到场景内,并将其位置移动到两个圆柱的正前方,如图所示。

<ignore_js_op>

<ignore_js_op>

▼选择Trigger物件,在Playmaker的编辑器内按下右键执行Add FSM,然后在右边的State栏位里面将名称更改为触发,在这个地方我们可以发现到Playmaker对于中文的兼容性做的算是相当的不错。

<ignore_js_op>

<ignore_js_op>

▼在Events里面添加两个事件,分别命名为“角色进入”与“角色退出”,然后将这两个事件加载到触发状态的底下,如图所示:

<ignore_js_op>

<ignore_js_op>

▼在空白处使用Ctrl +左键产生两个新的State,然后分别将名称更改为灯光变黄与灯光变蓝,再使用Ctrl+左键产生Finishedl来作为State的结束,如图所示:

<ignore_js_op>

<ignore_js_op>

▼将角色进入连接到灯光变黄,角色退出连接到灯光变蓝,从这个关系图就可以很清晰的了解到触发的作用,也就是角色在碰触到Tigger之后的点光源切换为黄色,角色离开Trigger之后灯光则回到蓝色。

<ignore_js_op>

▼接着将两个Finished同时连接到触发的起始点,这个目的是让事件执行一次后,再回到原来的状态进行判断。

<ignore_js_op>

▼关系的连接设置完成后,现在我们需要在触发的State上面加入Action,操作的方式很简单,早搜索框里面输入trigger即可出现对应的功能,再双击Trigger Event即可完成Action的添加。

<ignore_js_op>

▼如图所示,我们在触发上面添加了两个Trigger Event,分别指定了On Trigger Enter与On Trigger Exit, Send Event里面则是指定角色进入与角色退出。

<ignore_js_op>

▼在灯光变黄的State上面增加一个Set Light Color,这时会出现一个警示符号,提示在Game Object的栏位需要指定一个灯光。将Game Object的模式改换为Specify Game Object,然后将点光源(Point Light)拖曳进来,再将Light Color调整为黄色,如图所示:

<ignore_js_op>

<ignore_js_op>

设置完成后,我们还需要在另一个State上面增加相同的Set Light Color,这时可直接使用复制的方式,在Set Light Color上按右键选择Copy Selected Actions, 然后Paste到灯光变蓝的State上面,最后再将灯光的颜色更改为蓝色即可。

<ignore_js_op>

<ignore_js_op>

▼完成Playmaker的设置后,我们来测试一下触发器是否能正确的起到作用,按下Play后将First Person Controller移动到两个圆柱的中央,灯光的颜色就会由蓝色转换成黄色。

<ignore_js_op>

<ignore_js_op>

从上面的操作方式来看,Playmaker可以很快的将我们需要的功能制作出来,尤其对于刚接触Unity的设计人员来说,Playmaker直觉的操作无疑的带来了许多的便利,同时在创作游戏的雏形也会有相当大的帮助。

转自:http://www.narkii.com/club/thread-301446-1.html

Playmaker 基础使用与案例操作的更多相关文章

  1. java基础-多线程应用案例展示

    java基础-多线程应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.两只熊,100只蜜蜂,蜜蜂每次生产的蜂蜜量是1,罐子的容量是30,熊在罐子的蜂蜜量达到20的时候 ...

  2. 版本控制,svn基础,实战案例,RPM打包

                                                   版本控制,svn基础,实战案例,RPM打包 案例1:Subversion基本操作 案例2:使用Subver ...

  3. vue.js初级入门之最基础的双向绑定操作

    首先在页面引入vue.js以及其他需要用到的或者可能要用到的插件(这里我多引用了bootstrap和jquery) 引用的时候需要注意文件的路径,准备工作这样基本就完成了,下面正式开始入门. vue. ...

  4. 基础DOM和CSS操作(三)

    CSS方法 jQuery不但提供了CSS的核心操作方法,比如.css()..addClass()等.还封装了一些特殊功能的CSS操作方法,我们分别来了解一下. width()方法 方法名 描述 wid ...

  5. 基础DOM和CSS操作(二)

    元素样式操作 元素样式操作包括了直接设置CSS样式.增加CSS类别.类别切换.删除类别这几种操作方法.而在整个jQuery使用频率上来看,CSS样式的操作也是极高的,所以需要重点掌握. CSS操作方法 ...

  6. 基础DOM和CSS操作(一)

    DOM简介 DOM是一种文档对象模型,方便开发者对HTML结构元素内容进行展示和修改.在JavaScript中,DOM不但内容庞大繁杂,而且我们开发的过程中需要考虑更多的兼容性.扩展性.在jQuery ...

  7. Hadoop基础-通过IO流操作HDFS

    Hadoop基础-通过IO流操作HDFS 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.上传文件 /* @author :yinzhengjie Blog:http://www ...

  8. Java基础-数据类型应用案例展示

    Java基础-数据类型应用案例展示 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.把long数据转换成字节数组,把字节数组数据转换成long. /* @author :yinz ...

  9. Hadoop基础-MapReduce的Join操作

    Hadoop基础-MapReduce的Join操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.连接操作Map端Join(适合处理小表+大表的情况) no001 no002 ...

随机推荐

  1. jQuery Validation让验证变得如此容易(三)

    以下代码进行对jQuery Validation的简单演示包括必填项.字符长度,格式验证 一.引入文件 <script src="js/jquery-1.8.0.min.js" ...

  2. 网络爬虫的C++程序

    [搜片神器]之DHT网络爬虫的C++程序初步开源 回应大家的要求,特地整理了一开始自己整合的代码,这样最简单,最直接的可以分析流程,至于文章里面提供的程序界面更多,需要大家自己开发. 谢谢园子朋友的支 ...

  3. ASP.NET Web API下的HttpController激活:程序集的解析

    ASP.NET Web API下的HttpController激活:程序集的解析 HttpController的激活是由处于消息处理管道尾端的HttpRoutingDispatcher来完成的,具体来 ...

  4. JAVA-读取文件部分内容计算HASH值

    对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(Str ...

  5. Java线程同步之一--AQS

    Java线程同步之一--AQS 线程同步是指两个并发执行的线程在同一时间不同时执行某一部分的程序.同步问题在生活中也很常见,就比如在麦当劳点餐,假设只有一个服务员能够提供点餐服务.每个服务员在同一时刻 ...

  6. STM8S TIM1 PWM初始化设置

    #define TIM1_DIV1 (uint16)(1-1) #define TIM1_DIV2 (uint16)(2-1) #define TIM1_DIV4 (uint16)(4-1) #def ...

  7. centos6.5 搭建nginx1.6.0 +gridfs +mongodb2.4..10环境

    一) 缘由 因为公司业务需要,需要搭建图片服务器,需求很简单:读取+上传图片,当时第一考虑用nginx来作,但考虑到单纯用nginx来作,无法水平扩展和管理,一旦遇到海量图片,就无办法 扩展.所以考虑 ...

  8. MFC控件(8):command button与syslink control

    在VS 2008里MFC多了4种控件,分别是 split buttons ,command button , syslink controls和 network address controls. s ...

  9. hdu 2828 Buy Tickets(线段树)

    一道不算复杂的线段树,就是数据处理需要好好想一下. 将输入的所有数据从后往前输入,对于最后一个值,如果它想插入第i个位置,那么他就必须在前面留下i-1个位置.对于倒数第二个人,如果他想插入j位置,那么 ...

  10. windows窗体继承问题

    窗体继承什么时候用的到呢?当我们使用三层架构来编写我们的cs程序时,我们的U层大部分是windows窗体.这个时候如果我们有一些公共变量,或者是一个窗体需要使用另一个窗体的数据.或者是有一些用于判断的 ...