首先是把下载好的插件导入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. TFS二次开发、C#知识点、SQL知识

    TFS二次开发.C#知识点.SQL知识总结目录   TFS二次开发系列 TFS二次开发系列:一.TFS体系结构和概念 TFS二次开发系列:二.TFS的安装 TFS二次开发系列:三.TFS二次开发的第一 ...

  2. Sparse Filtering

    Sparse Filtering 当前很多的特征学习(feature learning)算法需要很多的超参数(hyper-parameter)调节, Sparse Filtering则只需要一个超参数 ...

  3. kindeditor图片上传 struts2实现

    一.kindeditor以及struts2部署搭建不再赘述,如需要请参考kindeditor使用方法 Struts2框架搭建 二.kindeditor图片上传所依赖jar包在kindeditor\js ...

  4. 跟我一起玩转Sencha Touch 移动 WebApp 开发1

    跟我一起玩转Sencha Touch 移动 WebApp 开发(一) 1.目录 移动框架简介,为什么选择Sencha Touch? 环境搭建 创建项目框架,框架文件简介 创建简单Tabpanel案例 ...

  5. urllib 源码小剖

    urllib 源码小剖 urllib 是 python 内置的网络爬虫模块,如果熟悉 python 一定能很快上手使用 urllib. 写这篇文章的目的是因为用到了它,但因为用的次数较多,又或者是具体 ...

  6. UML九种图-包图、类图

    UML九种图-包图.类图 一.包 (一)相关概念: 1.包: 一个包=一层=一个命名空间=一个文件夹 2.包的命名: 简单名:王老二 路径名:中国.河北省.廊坊市.廊坊师范学院.信息技术提高班.九期班 ...

  7. BCP导入导出MsSql

    BCP导入导出MsSql 1.导出数据 (1).在Sql Server Management Studio中: --导出数据到tset1.txt,并指定本地数据库的用户名和密码 --这里需要指定数据库 ...

  8. starling性能优化

    在项目开发的过程中总结了一下starling的性能优化方案: 1.     不要频繁的读取显示对象的宽高:调用宽高属性时会调用显示对象的getBounds()方法,该方法会遍历该对象的所有子对象,重新 ...

  9. [Android笔记1]Activity+Layout+Button

    线性布局(LinearLayout)是指view对象在父view中可按水平或垂直方向线性排列. 相对布局(RelativeLayout)是指view对象的排列依赖于各对象之间的相对位置. 下面是展示两 ...

  10. 百度地图在某架构下找不到符号.a文件的问题

    1.现象: 就是说找不到符号给i386的架构(就是模拟器).或者找不到符号给arm架构(真机). ld: warning: ignoring file /Users/pufang/xcode/demo ...