https://docs.unrealengine.com/5.0/en-US/implementing-blueprint-interfaces-in-unreal-engine/
官方文档的笔记
接口:
例如你可以拥有完全不同类型的对象,如汽车和树,但却拥有相同的事件:就像它们都可以被武器射击并受到伤害。通过
1.创建一个包含OnTakeWeaponFire函数的Blueprint接口;
2.并让汽车和树实现这个Blueprint接口;
您可以将汽车和树视为相同的类型,并且在其中任何一个被击中时调用OnTakeWeaponFire函数。
案例:鼠标拾取
在虚拟漫游时候交互功能常用到
打开第三人称模板的蓝图
拾取的基本原理
讲解了line trance by channel节点的运用
鼠标位置转移到世界空间(ConvertMouseLocationToWorldSpace)
鼠标的显示与隐藏
输入模式
新建一个文件夹UI,右键新建一个widget 蓝图重命名为W_InGame
创建拾取接口并实现
新建一个接口蓝图BPI_CLickable
打开,右边新建一个OnMouseClicked
新建一个actor命名为BP_X,里面放入一个立方体(立方体做根组件,没有null父级)
在classs setting里放入刚创立的接口
在BP_X中
在角色蓝图里实现(如果鼠标点击触发了就调用接口)
不同类型的接口函数
1.输入
新建一个接口,输入向量变量TracePoint
同样的方法放入函数、调用接口
2.输出
不能移动位移的时候(有阻挡的时候)会输出false
鼠标拾取案例
对三个物体做以下变换:
BP_X旋转
BP_Y上下浮动
BP_Z大小跳动缩放
先复制出BP_Y、BP_Z
在BP_X里写蓝图
BP_Y
BP_Z
火把的点火与熄火
复制一份蓝图,里面改成火把与支架
来到蓝图