由于是第一次写博客,可能有些不足,还请大佬们指出:

在资源商店里面搜索playmaker,点击下载插件: 如果导入后出现了这个问题:

Playmaker:一些学习的理解

就打开更新的脚本:PlayMakerAutoUpdater,将:if (NeedsUpdate())里面的代码全部注释掉

Playmaker:一些学习的理解

安装完后:会出现一个playmaker选项卡:,选择第一个playmaker editor 打开编辑器

Playmaker:一些学习的理解

状态机fsm简要介绍:

Playmaker:一些学习的理解

切换状态:

由状态1切换到状态2:需要添加过度:finished

Playmaker:一些学习的理解

再添加事件:

选择过度到下一个状态的触发事件:并且选择过度目标为下一个状态

Playmaker:一些学习的理解

Playmaker:一些学习的理解

这样就会连接两个不同的状态了

例如下面列子:按下按钮后会触发过度事件on,会切换到到下一个状态

Playmaker:一些学习的理解

Finished:当动作执行完后自动跳到下一个动作

Send event:发送事件

Playmaker:一些学习的理解

触发事件:选取添加过度—》system—》触发事件

Playmaker:一些学习的理解

获取动画和播放动画:

需要组件上有animation组件,将动画放上去

Playmaker:一些学习的理解

在控制器中添加play animation动作,将拥有动画器组件的gameobject放上去,再选取将要播放的动画

Playmaker:一些学习的理解

变量:

Playmaker:一些学习的理解

创建的一个private的变量

Public变量:需要将检查面板勾选Playmaker:一些学习的理解

利用变量可以控制物体的变化:例子:利用变量链接滑条和动画时间帧

Playmaker:一些学习的理解

设置float变量初值和更改变量值(不能累加).

Playmaker:一些学习的理解

比较两个数,满足条件则触发事件

Playmaker:一些学习的理解.

累加:一次加0.5

Playmaker:一些学习的理解

设置全局变量:相当于static全局静态,可以在其他状态机上面使用

Playmaker:一些学习的理解

在改变其他状态机上面的变量可以直接调用全局变量,也可以使用set fsm float调用上面的状态机上面的变量

Playmaker:一些学习的理解

Mousedown/mouseup    :鼠标按下和鼠标弹起事件

需要添加动作

Playmaker:一些学习的理解

Wait 等待:等待多少秒,触发相应的逻辑

Playmaker:一些学习的理解

获取按钮事件:get key down/up

按下或者抬起会触发相应的事件

Playmaker:一些学习的理解

Mouse Pick

Mouse Pick会由鼠标屏幕二维坐标转换成摄影机平面二维坐标,再将这一坐标对应的三维空间位置沿着垂直于摄影机平面的方向发射一条长度为Ray Distance的ray,并返回碰撞结果为相应数据类型的变量值。

Playmaker:一些学习的理解

Mouse Pick Event发送一个鼠标的事件,图下用的全局事件hit来过度

Playmaker:一些学习的理解

全局事件:利用全局的事件进行多状态机连接

Playmaker:一些学习的理解

第一个状态机:

Playmaker:一些学习的理解

第二个状态机:

Playmaker:一些学习的理解

射线raycast

调试一定要勾上:

Playmaker:一些学习的理解

返回的碰撞事件 hit event,利用hit event连接不同的状态机,进行碰撞鉴定

碰到物体后,物体上面的那个全局事件接收到消息,过度到下一个相应的状态

 

自定义动作脚本

打开自定义动作脚本模板:

Playmaker:一些学习的理解

编辑脚本:

Playmaker:一些学习的理解

代码中:。

Owner.transform.position

Owner:代表的就是自己这个物体;

利用public 公开的变量可以进行在外部修改

Playmaker:一些学习的理解

状态机中的动作:

Playmaker:一些学习的理解

Fsmfloat这种在前面添加了fsm的类型,在外部状态机中就可以使用变量;

Playmaker:一些学习的理解

发送事件:

Playmaker:一些学习的理解

Playmaker:一些学习的理解

需要这两个对象

FsmEvent:是事件变量

FsmEventTarget:是目标变量-----game object

//发送消息

Fsm.Event(目标变量对象,事件对象);

特性:说明Playmaker:一些学习的理解

Playmaker:一些学习的理解

以上,就是我学习playmaker的学习历程,可能写的并不好,如果有哪里有问题,请告诉我,谢谢。

 

相关文章:

  • 2021-06-03
  • 2021-04-09
  • 2021-12-20
  • 2021-04-18
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2021-11-29
猜你喜欢
  • 2021-09-23
  • 2022-12-23
  • 2021-12-17
  • 2021-05-26
  • 2022-12-23
  • 2021-04-14
  • 2022-12-23
相关资源
相似解决方案