首先是把下载好的插件导入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. struts2文件上传大小限制问题

    struts2默认文件上传大小为2M,如需修改默认大小,解决方法如下: <struts> <constant name="struts.multipart.maxSize& ...

  2. 利用WCF与Android实现图片上传并传参

    利用WCF与Android实现图片上传并传参 最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想 ...

  3. IceMx.Mvc 我的js MVC 框架 二、视图的数据绑定

    介绍 本人菜鸟,一些自己的浅薄见解,望各位大神指正. 本框架有以下优点 1.简单(调用简单.实现简单.不过度设计) 2.视图.控制器.模型分离(分离对于维护十分有必要) 3.组件化(每一个mvc模块儿 ...

  4. eclipse plugin 导出插件包

    当我们的插件在完成一个阶段性开发的时候,我们要发布一个1.0的版本.这个时候会碰到一个问题.如何把我们的插件打成包?有多种途径,下面具体讨论一下. 首先从插件完成到被他人(或者我们自己)使用有两个步骤 ...

  5. CF 332A Down the Hatch! 超级水题。。不过题目太长了

    A. Down the Hatch! time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  6. 用maven来创建web工程

    大约已经一个月没有写博客了,一个是最近太忙,另外啊还是人慢慢的变懒,最近在拆pool,用到了maven,因此呢把自己的一些心得记下来了,供大家参考,欢迎指正. 1.配置maven环境: 首先下载mav ...

  7. [分享]CSS美化浏览器滚动条

    今天看到一个站点的滚动条样式特别漂亮,顺便上网搜了一些相关资料,分享给大家: PS:兼容所有浏览器的滚动条样式目前是不存在的. IE下的滚动条样式 IE是最早提供滚动条的样式支持,好多年了,但是其它浏 ...

  8. 算法之prim算法

    最小生成树是数据结构中图的一种重要应用,它的要求是从一个带权无向完全图中选择n-1条边并使这个图仍然连通(也即得到了一棵生成树),同时还要考虑使树的权最小. prim算法就是一种最小生成树算法. 普里 ...

  9. 当你在试衣间试衣服,请你务必想起wait()与notify()

    在学习多线程的时候,你无法逃避sleep.wait.notify.notifyAll的关键字,我们肯定是对sleep用的最多,即使你写个Demo也要经常用到Thread.sleep(xxx)模拟等待的 ...

  10. jdk各版本新特性

    只收纳常用的新特性 jdk1.4 1.引入断言 jdk5 1.引入泛型 2.引入枚举Enum 3.可以自动拆装箱 4.引入注解Annotation 5.引入新的迭代方式foreach 6.引入静态导入 ...