Playmaker 基础使用与案例操作
首先是把下载好的插件导入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直觉的操作无疑的带来了许多的便利,同时在创作游戏的雏形也会有相当大的帮助。