Language:
Page Info
Engine Version:
Share

2.5 - 子蓝图

blueprint_advanced_2_5.png

与创建主材质的材质实例的方式相似,你可以基于父蓝图创建子蓝图。子项自动继承父项的功能,而你可以对子项的功能进行增强、增加或者更改。在本示例中,三个可收集的拾取物蓝图都是泛型拾取物蓝图的子项。

父蓝图为 BP_Pickup_Parent_C,三个子蓝图为:

  • BP_Pickup_Child_Health

  • BP_Pickup_Child_Coin

  • BP_Pickup_Child_Cupcake

父蓝图的事件图表

单击查看大图,或者 右键单击 图片并选择“另存为”。

父蓝图 BP_Pickup_Parent 包含基本拾取物行为脚本,例如,使拾取物旋转并浮动的时间轴动画和用于收集拾取物的序列。 各子蓝图完整继承了此脚本,但是它们都具有额外脚本,以便在它们被收集时,各拾取物都具有不同的行为,尽管它们的基本特性相同。 这非常有用,因为对父蓝图的脚本进行的任何更新也将应用给其所有子蓝图。

当玩家Pawn与 拾取物触发器 球体组件重叠时,将调用 OnPickedUp 事件调度器 。每个子蓝图都将不同的事件绑定到 OnPickedUp,使得当玩家收集每个拾取物且 OnPickedUp 被调用时,输出的字符串各不相同。

子蓝图的事件图表

单击查看大图,或者 右键单击 图片并选择“另存为”。

一般来讲,蓝图图中不能包含同一事件的多个副本,因此,如果父脚本和子脚本中都包含有 ReceiveBeginPlay 事件,那么将仅触发父脚本中的该事件。要解决此问题,你可以在子脚本中 右键单击 某个事件并选择 添加对父函数的调用(Add call to parent function)。通过这种方法,你将创建一个函数,当它被调用时,将触发父脚本中的相应事件。