Language:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

蓝图接口

概述

Blueprint Interface(蓝图接口) 是一个函数或多个函数的集合,仅有函数名称,没有函数实现,该接口可以添加到 其他 蓝图 中。任何具有该 接口蓝图 ,都一定会具备这些函数。在每个添加了接口的蓝图中,都可以 提供 接口 的这些函数的功能。从本质上讲,这和一般编程中的 接口的概念一样,允许通过一个公共接口来共享及访问 多种不同类型的对象。简单地讲, Blueprint Interfaces(蓝图接口) 允许不同的 Blueprints(蓝图) 间彼此共享及发送数据。

蓝图接口 的创建和其他蓝图类似,可以通过编辑器中的内容创建器进行创建, 但它们有一些局限性,因为它们不能:

  • 添加新变量

  • 编辑图表

  • 添加 组件

使用 蓝图接口 ,允许您通过一种通用方法,来和具有某些特定功能的多种不同类型的对象 进行交互。这意味着您可以具有属于完全不同类型但又共有一些特性的对象,比如一辆汽车和一棵树, 它们都可以受到武器的射击,并且都会受到伤害。通过创建一个包含 OnTakeWeaponFire
函数的 蓝图接口 ,并让汽车和树都实现那个 蓝图接口 , 当汽车或树两者中任何一个被射中时,您可以把它们看成相同的类型,仅需简单地调用 OnTakeWeaponFire 函数即可。关于 如何实现 蓝图接口的 ,请参照实现蓝图接口 页面。

创建蓝图接口

在内容浏览器中创建蓝图接口非常简单,仅需右击并从关联菜单中选择Blueprint Interface(蓝图接口),然后命名您的新接口即可。

CreateInterface.gif

CreatedBlueprintInterface.gif

一旦创建了蓝图接口后,您可以编辑该接口中的函数。

编辑蓝图接口

蓝图 是在一个特殊版本的 蓝图编辑器 中进行编辑的。因为您不能创建您自己的变量、图表或组件,所以编辑接口的过程和编辑标准蓝图的过程有很大差别。

当您第一次打开一个没有函数的接口时,编辑器如下所示:

InterfaceEditor.png

注意,没有图表视图。这是因为此时图表还没有函数。

添加函数

函数是接口的主要组成部分。接口函数没有实现。它们的存在仅是简单地定义输入和输出。这些函数可以用于通过接口发送数据,或者可以被任何实现那个接口的蓝图所重写。

要想添加一个新函数:

  1. 点击button_AddFunction.png按钮。

  2. 我的蓝图 面板中,输入该新函数的名称。

    RenameMyFunction.png

  3. 新的图表区域将会出现,并具有该新函数。注意,该函数既没有输入也没有输出。

    NewFunctionCreated.png

编辑函数签名

由于接口函数没有实现,作为设计师,您所能做的就是指定一系列的具有特定类型的输入和输出。

要想编辑函数的签名:

  1. 在详细信息选卡中,滚动到 Inputs(输入类目) 并点击 button_New.png 按钮来创建一个新的输入参数。

    Details_Signature.png

  2. 根据需要,设置 Input Name(输入名称) 和Type(类型)。您也可以通过名称旁边的 button_DropdownArrow.png 按钮展开该输入,从设置一个Default Value(默认值)。

    FloatInput.png MyFunctionGraph.png

  3. 添加输出的方式也是一样的。注意观察图表是如何自动更新来显示所添加的输出的。

    OutputBool.png InputWithOutput.png

其他注意事项

  • 在任何输入或输出参数上,您可以点击 button_X_Remove.png 按钮来删除那个参数。

  • 输入参数可以通过参数名称文本框下面的小文本框设置一个默认值,但是您必须在 详细信息 面板中展开该属性项来查看它。

  • 当参数属性处于展开状态时,您可以使用 详细信息 选卡中的 button_moveUp.pngbutton_moveDown.png 按钮来修改出现在节点上的输入参数和输出参数。

  • 对于任何包含了需要通过服务器进行复制的函数的接口,您可以为其应用Replicates(复制)复选框。通过首先点击 BlueprintProps.png按钮,可以在 详细信息 选卡中找到该复选框。