PlayMaker

1,813 阅读3分钟

一、前言

百度百科:

PlayMaker是由第三方软件开发商Hutong Games开发完成。它的Logo是一个中文的“玩”字(PS:看来中国文化声名远播)。它既是一个可视化脚本工具,又是一个分层逻辑框架。设计师、程序员使用PlayMaker能够很快的完成游戏原型动作,既适合独立开发者,又特别适合团队合作。

它的优点:1.很多动作行为(例如:跑,跳,攻击等)只需要通过简单FSM(Finite state machine)就能实现,根本不用写一句代码;2.方便简洁的图表管理每个状态机;3.播放游戏,可以实时错误检查;4.集成的帮助,可以让我们快速查看行为说明;5.设置断点和单步6.可以编写自定义行为,让在出现在我们的行为列表(这就要求有点语言基础了)7.支持各类插件配合使用,加速开发进程

它的缺点:1.所有的功能必须对应一个状态,本来很简单的几句代码就能实行的动作,PlayMaker需要很多状态才能完成;2.虽说可以无需编写一个代码就能制作完整的游戏,但是对于制作商业级的游戏,PM就不靠谱了,太多的东西实现不了

二、自我理解

简化代码量,可能实现一个东西代码要写很多,但是playmaker却只需要手动添加状态机来实现,也就是相对于unity中的“蓝图”了,但是如果关联功能密集多的话,可能会出现相互影响功能,所以在实际项目开发中,大型项目不建议使用,平时项目开发中可以代码+playmaker结合使用。

三、playmaker实现人物的移动

1.导依赖包

这里使用的是2021版本的unity,使用的是1.9.6版本的playmaker

百度网盘链接自取:

链接:pan.baidu.com/s/1q83Mxqgv… 提取码:0ms3

2.创建状态机

2.1 player人物创建一个起始状态

image.png

2.2 Get Axis Vector

获取当前水平轴和垂直轴移动的变化值,并Store Vector保存在一个Vector3的V3_Axis变量中

image.png

2.3Controller Simple Move

一开始创建的时候需要给人物加上角色控制器,通过获取到的水平垂直轴变化的值绑定到角色控制器中,在Move Vector3中绑定V3_Axis变量,同时也可以设置1人物移动的速度

image.png

2.4 创建人物混合树

创建两个值,通过值的对应来控制上下左右,idle不同状态下的动画

通过idle:0 左右:(-1,0)(1,0);前后:(0,1)(0,-1)

image.png

2.5 Get Axis

因为Get Axis Vector获取的是一个Vector3的变量,这里我们需要单独的获取水平轴和垂直轴的值,所以使用 Get Axis分别获取,创建两个变量来记录值,勾选每一帧记录

image.png

2.6 Set Animator Float

分别记录下水平轴和垂直轴的值后,这时候需要和混合树里面的值进行关联

parameter记录的是混合树的变量名,Value绑定的是真实记录的值

image.png

2.6 Smooth Look At Direction

设置人物移动的时候,往哪个方向移动,该人物就要朝着这个方向看去

image.png

到这里我们不使用一行代码就可以实现人物的基本移动了!!!

3.效果演示:

playmaker人物移动.gif