蓝图通信的四种方式

蓝图通信的四种方法:

1直接蓝图通信;2通过事件分配器通信;3使用蓝图接口通信;4使用蓝图投射通信。

1直接蓝图通信:

关卡中存在两个Actors,需要进行相互之间的通信。

2事件分配器:

事件分配器适用于告知其他“正在倾听的”蓝图已发生事件。事件发生时,正在倾听的蓝图便会做出反应,并相互独立地执行预期的操作。事件分配器被调用时,也将执行实施事件且事件与事件分配器绑定的全部蓝图。即,事件分配器被调用时,与其绑定的所有事件也将被调用,以便从单一源同时执行多个事件。

事件分配器何时使用呢?

a.需要从角色蓝图到关卡蓝图进行通信。

例如:玩家角色升级,需要开放之前锁定的区域。

例如:玩家角色按下行动按钮,对关卡执行某种操作。

b.生成的actor执行某种操作是触发事件。

例如:生成一个boss,boss被消灭时触发事件,在事件场景中生成一个奖励。

例如:在关卡中生成一个道具,并在道具被捡起时告知道具和角色。

个人理解就是事件分配器就是调用完成之后

3蓝图接口:

通过蓝图接口可以实现与多种类型对象(有共享特定功能或者有相似的功能)形成互动的一般方法。例如汽车和树是完全不同的两种对象,但拥有一个共同点---它们均可被武器开火集中并遭到破坏。

何时使用蓝图接口呢?

1.数个蓝图中存在一些相似功能,但在调用后执行不同的效果:

例如:玩家拥有一个“use”按钮,按下按钮后可执行开门,关灯,捡起道具等操作。

例如:敌人拥有特殊能力,可以基于玩家的体力值完成变化,执行不同操作。

4蓝图投射:

蓝图通信就算是使用Cast节点,使用Cast节点,就是在尝试检查发出转换的对象是否为被转换的特定对象。

何时使用蓝图投射呢?

a.需要访问另一个蓝图的特殊版本:

角色走进火焰中,导致体力值耗尽:投射到特殊的角色蓝图,以便访问并变更体力值。

角色死亡,需要重新生成:投射到特殊的游戏模式蓝图,执行重新生成脚本。

b.需要访问相同类的多个蓝图,并以相同方法进行修改:

场景中拥有数盏灯,事件发生时需要将他们开启或关闭。

例如投射到灯蓝图中并执行函数将灯关闭。

c.需要访问一个特殊的子蓝图:

存在基于一个动物蓝图(猫,狗,鸟)的数个蓝图,需要访问其中一个动物。

投射到猫、狗、鸟,访问相应的蓝图和特有功能。

你可能感兴趣的:(蓝图通信的四种方式)