最近一些做设计的朋友询问了Playmaker这套插件是否好用的问题,他们的需求只是要制作一些简单的交互功能,而对于代码是一窍不通的情况下,Playamker能否达到他们的要求?
我们将通过以下的案例来说明Playmaker的巧妙之处,首先是找到Playmaker v 1.6.2 版本的下载位置:
http://www.narkii.com/club/thread-297438-1.html
▼导入资源包是我们注意到右上方的Playmaker鼠标部分与之前的版本略有不同:
▼导入后的目录里面同时提供了Photon Unity Networking的相关设置,这个额外的功能对于开发网络游戏来说确实很方便。
▼安装完成后第一个动作就是检查下拉菜单里面是否已经增加了Playmaker的功能,如果在安装后没看到Playmaker的菜单,一般情况下直接点击菜单上的空白处即可出现。
▼那么要如何打开Playmaker的编辑器呢?很简单,执行 Playmaker > Playmaker Editor
即可弹出Playmaker的专用编辑器,如图所示:
▼为了提升Playmaker的操作效率,我们建议将Playmaker的编辑器拖曳到视图的编排里,这样在需要进行FSM(Finite State Machine)的设置时就会方便许多,如图所示,我们将Playmaker Editor与Game视图并列在一个标签位置。
▼Playmaker另外一个重要的功能是Action Browser, 这个选项里面列出了所有可执行的分类功能,并且在最上方提供了快速搜索功能的栏位。
▼同样的为了提升操作的效率,我们将Action Browser 面板拖曳到Inspector的右边位置,如此可以让我们快速的进行的功能的选择与执行。
▼Ok,在调整了Playmaker Editor与Action Browser的位置后,使用右上方的Save Layout将编排后的界面储存起来,例如将名称设定为Playmaker,然后再按下Save即可。
▼接下来我们用一个简单的案例来说明Playmaker的基本操作,如图所示,场景里面已经放置了一个蓝色的点光源与两个圆柱。只要有任何物体(或是指定的物体)从两个圆柱中间穿过,则蓝色光源转换为黄色,物体一旦离开该区域,灯光自动恢复成蓝色的效果。
▼那么要如何开始呢?首先必须在圆柱中间设置一个触发器(Trigger),选择Game Object > Create Empty创建一个空的物件,然后将这个空物件名称更改为Trigger。
▼接着在这个空物件上面添加Box Collider, 这是一种最基本触发器制作的方式,必须注意的是务必勾选Is Trigger选项,才能让Collider具备触发事件的作用。
▼如图所示,绿色的方框为我们使用空物件加上Collider所设置好的触发器,同时需对物件进行缩放以配合两个圆柱之间的距离。
▼设置好触发器的位置后,现在我们需要导入一个可移动的物件进行测试,使用Import Package > Character Controller将角色资源包直接导入。
▼接下来将Character Controller里面的First Person Controller添加到场景内,并将其位置移动到两个圆柱的正前方,如图所示。
▼选择Trigger物件,在Playmaker的编辑器内按下右键执行Add FSM,然后在右边的State栏位里面将名称更改为触发,在这个地方我们可以发现到Playmaker对于中文的兼容性做的算是相当的不错。
▼在Events里面添加两个事件,分别命名为“角色进入”与“角色退出”,然后将这两个事件加载到触发状态的底下,如图所示:
▼在空白处使用Ctrl +左键产生两个新的State,然后分别将名称更改为灯光变黄与灯光变蓝,再使用Ctrl+左键产生Finishedl来作为State的结束,如图所示:
▼将角色进入连接到灯光变黄,角色退出连接到灯光变蓝,从这个关系图就可以很清晰的了解到触发的作用,也就是角色在碰触到Tigger之后的点光源切换为黄色,角色离开Trigger之后灯光则回到蓝色。
▼接着将两个Finished同时连接到触发的起始点,这个目的是让事件执行一次后,再回到原来的状态进行判断。
▼关系的连接设置完成后,现在我们需要在触发的State上面加入Action,操作的方式很简单,早搜索框里面输入trigger即可出现对应的功能,再双击Trigger Event即可完成Action的添加。
▼如图所示,我们在触发上面添加了两个Trigger Event,分别指定了On Trigger Enter与On Trigger Exit, Send Event里面则是指定角色进入与角色退出。
▼在灯光变黄的State上面增加一个Set Light Color,这时会出现一个警示符号,提示在Game Object的栏位需要指定一个灯光。将Game Object的模式改换为Specify Game Object,然后将点光源(Point Light)拖曳进来,再将Light Color调整为黄色,如图所示:
设置完成后,我们还需要在另一个State上面增加相同的Set Light Color,这时可直接使用复制的方式,在Set Light Color上按右键选择Copy Selected Actions, 然后Paste到灯光变蓝的State上面,最后再将灯光的颜色更改为蓝色即可。
▼完成Playmaker的设置后,我们来测试一下触发器是否能正确的起到作用,按下Play后将First Person Controller移动到两个圆柱的中央,灯光的颜色就会由蓝色转换成黄色。
我们将通过以下的案例来说明Playmaker的巧妙之处,首先是找到Playmaker v 1.6.2 版本的下载位置:
http://www.narkii.com/club/thread-297438-1.html
▼导入资源包是我们注意到右上方的Playmaker鼠标部分与之前的版本略有不同:
![1.jpg 1.jpg](https://i-blog.csdnimg.cn/blog_migrate/2b67134b048a96df4a66bdb5340e4981.jpeg)
▼导入后的目录里面同时提供了Photon Unity Networking的相关设置,这个额外的功能对于开发网络游戏来说确实很方便。
![2.jpg 2.jpg](https://i-blog.csdnimg.cn/blog_migrate/60da08b3b9fc1d151f077be1ec937b8d.jpeg)
▼安装完成后第一个动作就是检查下拉菜单里面是否已经增加了Playmaker的功能,如果在安装后没看到Playmaker的菜单,一般情况下直接点击菜单上的空白处即可出现。
![3.jpg 3.jpg](https://i-blog.csdnimg.cn/blog_migrate/aa4d02c65fcaf0de163427e2860444b9.jpeg)
▼那么要如何打开Playmaker的编辑器呢?很简单,执行 Playmaker > Playmaker Editor
即可弹出Playmaker的专用编辑器,如图所示:
![4.jpg 4.jpg](https://i-blog.csdnimg.cn/blog_migrate/1267b8a5f6306b8752a29d3ac50ee9d2.jpeg)
▼为了提升Playmaker的操作效率,我们建议将Playmaker的编辑器拖曳到视图的编排里,这样在需要进行FSM(Finite State Machine)的设置时就会方便许多,如图所示,我们将Playmaker Editor与Game视图并列在一个标签位置。
![5.jpg 5.jpg](https://i-blog.csdnimg.cn/blog_migrate/7a2fc119c446cf362b9183c3ac6326b7.jpeg)
▼Playmaker另外一个重要的功能是Action Browser, 这个选项里面列出了所有可执行的分类功能,并且在最上方提供了快速搜索功能的栏位。
![6.jpg 6.jpg](https://i-blog.csdnimg.cn/blog_migrate/1a40730a981cfb4f0080cd98916c29cd.jpeg)
▼同样的为了提升操作的效率,我们将Action Browser 面板拖曳到Inspector的右边位置,如此可以让我们快速的进行的功能的选择与执行。
![7.jpg 7.jpg](https://i-blog.csdnimg.cn/blog_migrate/646d2750a7efa884464e911cbb146200.jpeg)
▼Ok,在调整了Playmaker Editor与Action Browser的位置后,使用右上方的Save Layout将编排后的界面储存起来,例如将名称设定为Playmaker,然后再按下Save即可。
![8.jpg 8.jpg](https://i-blog.csdnimg.cn/blog_migrate/0ae5791e7cf32af20103d7ddc4fc845b.jpeg)
▼接下来我们用一个简单的案例来说明Playmaker的基本操作,如图所示,场景里面已经放置了一个蓝色的点光源与两个圆柱。只要有任何物体(或是指定的物体)从两个圆柱中间穿过,则蓝色光源转换为黄色,物体一旦离开该区域,灯光自动恢复成蓝色的效果。
![9.jpg 9.jpg](https://i-blog.csdnimg.cn/blog_migrate/a447b25bced853c6d1a5f6308f881940.jpeg)
![10.jpg 10.jpg](https://i-blog.csdnimg.cn/blog_migrate/b98e5bab7b73bb62bfefd745900cf954.jpeg)
▼那么要如何开始呢?首先必须在圆柱中间设置一个触发器(Trigger),选择Game Object > Create Empty创建一个空的物件,然后将这个空物件名称更改为Trigger。
![11.jpg 11.jpg](https://i-blog.csdnimg.cn/blog_migrate/4d4e0c0dd964a5401d21110815809388.jpeg)
![12.jpg 12.jpg](https://i-blog.csdnimg.cn/blog_migrate/309bec66770045ac61bb1bc2dc18d690.jpeg)
▼接着在这个空物件上面添加Box Collider, 这是一种最基本触发器制作的方式,必须注意的是务必勾选Is Trigger选项,才能让Collider具备触发事件的作用。
![14.jpg 14.jpg](https://i-blog.csdnimg.cn/blog_migrate/4f332afe4e6d5a3348f3c42272abaabb.jpeg)
▼如图所示,绿色的方框为我们使用空物件加上Collider所设置好的触发器,同时需对物件进行缩放以配合两个圆柱之间的距离。
![15.jpg 15.jpg](https://i-blog.csdnimg.cn/blog_migrate/732ba31a8bb47e8013a7b7d29c59f411.jpeg)
▼设置好触发器的位置后,现在我们需要导入一个可移动的物件进行测试,使用Import Package > Character Controller将角色资源包直接导入。
![16.jpg 16.jpg](https://i-blog.csdnimg.cn/blog_migrate/a85123a03fb11a3f6fa8b1535f9a8f70.jpeg)
▼接下来将Character Controller里面的First Person Controller添加到场景内,并将其位置移动到两个圆柱的正前方,如图所示。
![17.jpg 17.jpg](https://i-blog.csdnimg.cn/blog_migrate/0bb59300ffa2e53acab028ad9bb4b669.jpeg)
![18.jpg 18.jpg](https://i-blog.csdnimg.cn/blog_migrate/f688c6c3631eee567dff9ccedb3648dc.jpeg)
▼选择Trigger物件,在Playmaker的编辑器内按下右键执行Add FSM,然后在右边的State栏位里面将名称更改为触发,在这个地方我们可以发现到Playmaker对于中文的兼容性做的算是相当的不错。
![19.jpg 19.jpg](https://i-blog.csdnimg.cn/blog_migrate/8f4920b5ba9d7d5dd741049ecf0c7c61.jpeg)
![20.jpg 20.jpg](https://i-blog.csdnimg.cn/blog_migrate/f996eed1baae52af67a1b09238527c78.jpeg)
▼在Events里面添加两个事件,分别命名为“角色进入”与“角色退出”,然后将这两个事件加载到触发状态的底下,如图所示:
![21.jpg 21.jpg](https://i-blog.csdnimg.cn/blog_migrate/bf49237c7df2a078f2041e52c5e65910.jpeg)
![23.jpg 23.jpg](https://i-blog.csdnimg.cn/blog_migrate/5c36c8ad86466dc76d22c8a297868548.jpeg)
▼在空白处使用Ctrl +左键产生两个新的State,然后分别将名称更改为灯光变黄与灯光变蓝,再使用Ctrl+左键产生Finishedl来作为State的结束,如图所示:
![24.jpg 24.jpg](https://i-blog.csdnimg.cn/blog_migrate/fa73dac68231d60641285dd53dbb5d02.jpeg)
![25.jpg 25.jpg](https://i-blog.csdnimg.cn/blog_migrate/4eab81558466f1e94a98cb530c46b455.jpeg)
▼将角色进入连接到灯光变黄,角色退出连接到灯光变蓝,从这个关系图就可以很清晰的了解到触发的作用,也就是角色在碰触到Tigger之后的点光源切换为黄色,角色离开Trigger之后灯光则回到蓝色。
![26.jpg 26.jpg](https://i-blog.csdnimg.cn/blog_migrate/c9283036ad3d58bcf883d8f1725101fd.jpeg)
▼接着将两个Finished同时连接到触发的起始点,这个目的是让事件执行一次后,再回到原来的状态进行判断。
![27.jpg 27.jpg](https://i-blog.csdnimg.cn/blog_migrate/d0ecbf20590bc1fc8b982843f2770572.jpeg)
▼关系的连接设置完成后,现在我们需要在触发的State上面加入Action,操作的方式很简单,早搜索框里面输入trigger即可出现对应的功能,再双击Trigger Event即可完成Action的添加。
![28.jpg 28.jpg](https://i-blog.csdnimg.cn/blog_migrate/d9ca200971b666946846be94cd3aac55.jpeg)
▼如图所示,我们在触发上面添加了两个Trigger Event,分别指定了On Trigger Enter与On Trigger Exit, Send Event里面则是指定角色进入与角色退出。
![29.jpg 29.jpg](https://i-blog.csdnimg.cn/blog_migrate/4dda944b4f0b584f14a68ab9aaffb5ca.jpeg)
▼在灯光变黄的State上面增加一个Set Light Color,这时会出现一个警示符号,提示在Game Object的栏位需要指定一个灯光。将Game Object的模式改换为Specify Game Object,然后将点光源(Point Light)拖曳进来,再将Light Color调整为黄色,如图所示:
![30.jpg 30.jpg](https://i-blog.csdnimg.cn/blog_migrate/8560c09a835bde80e99b8a3fd6ae6995.jpeg)
![31.jpg 31.jpg](https://i-blog.csdnimg.cn/blog_migrate/898d856d2b9d23536e19256a2ec01850.jpeg)
设置完成后,我们还需要在另一个State上面增加相同的Set Light Color,这时可直接使用复制的方式,在Set Light Color上按右键选择Copy Selected Actions, 然后Paste到灯光变蓝的State上面,最后再将灯光的颜色更改为蓝色即可。
![32.jpg 32.jpg](https://i-blog.csdnimg.cn/blog_migrate/9959ba9e1ee0184e23f655dea294a6d4.jpeg)
![33.jpg 33.jpg](https://i-blog.csdnimg.cn/blog_migrate/6a21c71c106036fb514adcd494c92723.jpeg)
▼完成Playmaker的设置后,我们来测试一下触发器是否能正确的起到作用,按下Play后将First Person Controller移动到两个圆柱的中央,灯光的颜色就会由蓝色转换成黄色。
![34.jpg 34.jpg](https://i-blog.csdnimg.cn/blog_migrate/2f052f99c54de954e95a058c4cbd37fe.jpeg)
![35.jpg 35.jpg](https://i-blog.csdnimg.cn/blog_migrate/074ad4b4b3a5fb770a142a6ddccc7a2f.jpeg)
从上面的操作方式来看,Playmaker可以很快的将我们需要的功能制作出来,尤其对于刚接触Unity的设计人员来说,Playmaker直觉的操作无疑的带来了许多的便利,同时在创作游戏的雏形也会有相当大的帮助。
另外一个可以实现鼠标任意拖动的例子见:http://www.narkii.com/club/thread-259695-1.html