[可视化编程] PlayMaker可视化插件教程 第一人称飞机控制学习

查看:5591 |回复:32 | 2013-11-5 00:20:47

您需要 登录 才可以下载或查看,没有账号?注册

x
f11f3a292df5e0feaa02d8485d6034a85edf7264.jpg
嘿,我是Coyote。今天我们正式来开始编写playmaker了,准备好了没,小朋友们。
    准备好一台电脑,一个unity3d,一个playmaker包,和一个飞机模型或者任何模型也行,然后我们就开始把。
在开始前,我必须说的一个建议,个人认为很重要的建议,你得事先构思好你要创造的对象具有什么功能,可以做什么事情,这样的话你在学习pm的时候才能更快的掌握。好了,今天我们的思路是:一个飞机模型处于第一人称视角,通过按键来控制它的前后左右移动。
   那开始把,所有工作准备好,界面也设置好(如果你不会,请参考之前的教程,这里就不在啰嗦了),把飞机模型拖拽到场景中,设置好你理想的问题移动摄像机到飞机模型前面,然后在hierarchy视图赋予他们的父子层级关系 141905v71rwlccy3x93zw3.jpg
,这样游戏就处于第一人称视角了,然后我们选择飞机模型(first person controller)在playmaker状态机图表右键添加fsm
然后修改它的状态名和描述(写不写无所谓,但在状态多的情况下,这会是一个很好理清机制的方法)
然后点击右下角的action browser弹跳出行为浏览器,在浏览器上上搜索你想要的行为,这里我们搜索按钮按下抬起行为,点击所需要的行为拖拽到当前状态上,行为就添加进来了(还可以选中行为按回车键,或者按右下角add action state按钮,勾选preview可以预览当前选择行为的功能模块)
我们添加以下两个行为
然后点选events,添加如下事件
这些事件是用于我们状态之间过渡的一个桥梁,然后更改刚才添加的行为
,然后你就会发现添加完这些事件后,当前状态出现了这样的错误
会出现这样错误的原来是因为我们还没在当前状态添加这个过渡事件

当添加完过渡事件,行为不报错,换状态报错了,这是因为我们没有状态来接收这两个事件,就像有两桶水,装满了,要放进水缸里,没有两个水缸我装,水就一直留在水桶里,所以我们现在要来创建两个水缸,即状态,mac电脑按住cmd+鼠标在图表上左击就创建了一个状态,windows好像是alt+鼠标左键,大家不懂可以按f1显示快捷说明,创建好两个状态后,更改其名称和描述,然后我们点击idle状态的过渡事件,鼠标左键按住,往外拖,你会发现会一条线出来,这条线就是所谓的过渡线,箭头所指的就是你要传达的地点,然后我们链接好过渡线
你会发现两个状态也添加了过渡事件,并过渡线返回idle状态,因为我们想执行完两个状态里任一状态行为,根据条件返回到idle的状态,然后我们点选froward状态,选择行为浏览器,为其添加以下行为
这两个行为的作用是监测w键是否被抬起(就是没按下)发送事件go_to_idle到idle状态,在根据idle状态里的get key down判断w键是否按下,按下即发送forward事件到当前状体,执行add force行为,这里我们设置向z轴作用5n(牛顿)的力,space选择为自身,你也可以选择为世界,看个人项目要求,作用力的模式也是看个人要求,这里我就不一一介绍,(添加Add Force时会在行为上报出一个错误,就是缺少Rigidbody组件,只需单击红色报错区域就能自动添加这个组件到当前的游戏对象上,这样就不会报错了)自己可以试试,接下来我们按住shift键加鼠标左键点选这两个行为,右键选择copy selected actions
,然后点选brake状态,在状态里右键选择paste action
,然后更改这两个行为如下
然后播放游戏,整个playmaker图表边框呈现浅绿色,idle呈现绿色就标示当前在执行这个状态的行为,然后我们可以按住alt键加左键单机任一状态,它就会执行状态里面的行为,这就是单独状态调试。接下来我们在为其游戏对象添加另个fsm来控制左右移动,首先先拷贝当前的fsm
接着点选fsm
然后在另个fsm状态图表里右键弹出一个对话框,点击yes即可
,然后修改事件名与状态名
并修改fsm名与描述来区分之前的fsm
然后点选idle状态添加两个按键行为
接着在left状态里添加get key up和translate行为,设置如下
记住要勾选per second 和every frame,因为我们想按下a键时随着每秒每一帧都去位移,因为是左右移动所以我们只赋值给x轴就可以了,接着拷贝这两个行为,粘贴到right状态里,修改这两个行为
这样我们的飞机前进刹车左右移动就完成了,让我们播放游戏试试,当我们按下w键时飞机随着作用力5n往前飞行,抬起w键,飞机还是一直往前,这是因为作用力的关系,当我按一下d键时,飞机就停止了,按住d键飞机就会往后倒退,接着我们按下a键,飞机就会往x轴的-2单位移动,抬起就停止移动,按下d键,飞机就会往x轴的2单位移动,抬起就停止移动。
     好了,今天的教程就讲到这,虽然有点长,本人也觉得有点啰嗦了,但针对新手啰嗦点,对以后的学习会有用处,今天根据一个飞机移动的实例简单介绍了一部分的操作和说明,当前还有很多小地方还未讲到,以后课程会慢慢更新,如果你对本人的教程有什么建义和意见,欢迎留言。

t2013100201_UXP.jpg
2013-11-5 00:20:47  
 赞 赞 1

使用道具 登录

32个回答,把该问题分享到群,邀请大神一起回答。
2#
看了楼主的帖子,我只想说一句很好很强大!学习
回复 收起回复
2014-4-24 16:55:16   回复
 赞 赞 1

使用道具 登录

3#
看了楼主的帖子,我只想说一句很好很强大!
回复 收起回复
2014-4-24 16:58:00   回复
 赞 赞 1

使用道具 登录

5#
不明觉厉
回复 收起回复
2014-6-24 13:04:31   回复
 赞 赞 1

使用道具 登录

6#
看了楼主的帖子,我只想说一句很好很强大!
回复 收起回复
2014-7-12 00:22:39   回复
 赞 赞 1

使用道具 登录

7#
难得一见的绝世好贴!
回复 收起回复
2014-7-23 20:59:35   回复
 赞 赞 1

使用道具 登录

8#
不错~
回复 收起回复
2014-8-31 10:39:55   回复
 赞 赞 1

使用道具 登录

9#
{:1_151:}
回复 收起回复
2015-2-10 12:46:45   回复
 赞 赞 1

使用道具 登录

10#
谢谢楼主分享哈
回复 收起回复
2015-7-20 11:31:09   回复
 赞 赞 1

使用道具 登录

11#
元素帖子强,满满正能量!
回复 收起回复
2015-7-21 21:23:50   回复
 赞 赞 1

使用道具 登录

12#
正是本尊想要的!
回复 收起回复
2015-8-14 10:10:27   回复
 赞 赞 1

使用道具 登录

13#
为了元素币,拼了!
回复 收起回复
2016-6-26 17:21:51   回复
 赞 赞 1

使用道具 登录

14#
为了元素币,拼了!
回复 收起回复
2016-6-26 17:21:53   回复
 赞 赞 1

使用道具 登录

15#
为了元素币,拼了!
回复 收起回复
2016-6-26 17:21:55   回复
 赞 赞 1

使用道具 登录

16#
厉害
回复 收起回复
2016-7-31 19:34:29   回复
 赞 赞 1

使用道具 登录

17#
感谢分享
回复 收起回复
2016-10-16 07:24:23   回复
 赞 赞 1

使用道具 登录

18#
感谢分享
回复 收起回复
2016-11-14 08:18:50   回复
 赞 赞 1

使用道具 登录

19#
666
回复 收起回复
2018-1-17 09:21:47   回复
 赞 赞 1

使用道具 登录

20#
23123414
回复 收起回复
2018-2-19 20:30:32   回复
 赞 赞 1

使用道具 登录

CG 游戏行业专业问题

PlayMaker可视化脚本节点
12下一页
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表