纳金网

标题: 【Playmaker教程】Playmaker 基础使用与案例操作 [打印本页]

作者: 艾西格亚    时间: 2013-7-8 13:17
标题: 【Playmaker教程】Playmaker 基础使用与案例操作
本帖最后由 艾西格亚 于 2013-7-8 13:20 编辑

最近一些做设计的朋友询问了Playmaker这套插件是否好用的问题,他们的需求只是要制作一些简单的交互功能,而对于代码是一窍不通的情况下,Playamker能否达到他们的要求?

我们将通过以下的案例来说明Playmaker的巧妙之处,首先是找到Playmaker v 1.6.2 版本的下载位置:
http://www.narkii.com/club/thread-297438-1.html

▼导入资源包是我们注意到右上方的Playmaker鼠标部分与之前的版本略有不同:

1.jpg

▼导入后的目录里面同时提供了Photon Unity Networking的相关设置,这个额外的功能对于开发网络游戏来说确实很方便。

2.jpg

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

3.jpg

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

4.jpg

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

5.jpg

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

6.jpg

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

7.jpg

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

8.jpg

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

9.jpg

10.jpg

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

11.jpg

12.jpg

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

14.jpg

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

15.jpg

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

16.jpg

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

17.jpg

18.jpg

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

19.jpg

20.jpg

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

21.jpg

23.jpg

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

24.jpg

25.jpg

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

26.jpg

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

27.jpg

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

28.jpg

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

29.jpg

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

30.jpg

31.jpg

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

32.jpg

33.jpg

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

34.jpg

35.jpg

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




作者: libufan    时间: 2013-7-8 17:04
谢谢楼主分享
作者: 我没有过去    时间: 2013-7-8 21:04
感谢版主分享[
作者: animan    时间: 2013-7-9 08:25
感谢无私分享。。。
作者: 王者再临    时间: 2013-7-13 23:53
这个跟U脚本里面的制作比较起来是简单的多了
作者: lanzhixing    时间: 2013-7-14 22:00
学习了!
作者: snake163    时间: 2013-7-16 22:06
还是自己写舒服~
作者: kangjie1    时间: 2013-9-25 16:02
感谢版主分享[
作者: shian3    时间: 2013-11-23 18:56
好棒的插件~感謝分享!
作者: may    时间: 2013-11-26 23:41
Playmaker的用户貌似最近多了起来
作者: nianhua2008    时间: 2013-12-28 23:51
呵呵,学习了!
作者: 川流游戏    时间: 2014-2-12 11:50
感谢版主分享
作者: 王者再临    时间: 2014-2-12 13:13
Playmaker在国外的用户似乎不少,国内就没啥动静
作者: aoikalin    时间: 2014-2-12 14:47
一直不太会用这种可视化编辑器
作者: gxf5168    时间: 2014-2-24 02:46
好棒的教程~感謝分享
作者: BlueGem    时间: 2014-2-24 16:10
感谢分享
作者: killerdeity    时间: 2014-2-28 14:02
这个很不错噢,感谢分享
作者: run0006    时间: 2014-9-23 21:06
感謝分享!
作者: Memerium    时间: 2014-9-25 17:32
头像超赞
作者: yweidong    时间: 2014-10-25 09:35
太好了,想要就有,多谢多谢!
作者: gxf5168    时间: 2014-10-25 22:26
感谢无私分享。。。
作者: hibaby1001    时间: 2014-12-23 00:04
不错的教程,学习中
作者: seanar    时间: 2015-1-31 09:15
感谢版主分享
作者: seanar    时间: 2015-1-31 09:16
感谢版主分享
作者: jiang8w    时间: 2017-4-14 00:12
感谢版主分享[                  




欢迎光临 纳金网 (http://old.narkii.com/club/) Powered by Discuz! X2.5