蓝图接口的使用和用途
在 内容浏览器 中新建 Door_Interface 蓝图接口、DoorInterface_BP 蓝图类、PlayerInterface_BP 蓝图类

进入 Door_Interface 蓝图接口,可以添加函数

如果添加的函数有输出时,该接口无法被当作事件使用

返回 DoorInterface_BP 蓝图类事件图表中,选中 类设置

在 细节 面板中找到 接口 > 已实现接口 > 添加

可以找到刚刚创建的接口

添加接口之后可以在左侧 我的蓝图 中找到继承的接口

添加在 蓝图 中会根据是否有输出自动调整为 事件 、函数

在 DoorInterface_BP蓝图类事件图表中创建开关门的逻辑,并将 Can Open Door 事件连接到开关门逻辑

回到 PlayerInterface_BP 蓝图类中创建 DoorInterface_BP 对象引用类型的变量

在 DoorInterface_BP 事件图表中添加 开始重叠时将 PlayerInterface_BP 中的 Door 变量设置为自身,离开时将变量设置为空

在 PlayerInterface_BP 事件图表中创建 键盘1 监听节点并判断 Door 是否有效,如果有效则调用 DoorInterface 中的 Can Open Door 的事件

注意
本篇中并没有实际展示出蓝图接口的具体用途,只展现出蓝图接口的用法。
一般蓝图接口用于 归纳/抽象 相同代码的功能。
例如开门和开窗户,可以将开关的代码节点归纳至蓝图接口中,然后在调用该接口前后添加不同的节点。
因为开关门和开关窗均需要 时间轴 、插值 、设置Actor世界旋转 等节点,所以可以将以上节点归纳至蓝图接口中,避免过长重复的代码和节点。