专题:Interface接口

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)

6068b324852745fab6fa16d9efd9b922.png

 鼠标的显示与隐藏

568232c2a4584d79ac3b010c758f0619.png

 输入模式

新建一个文件夹UI,右键新建一个widget 蓝图重命名为W_InGame

7aa189a63fc6453db1d20a371d68e6d0.png

2f5a40d450d34374bbb2883049b65e63.png

c78e896246c6436cb794bfc4b9f94919.png

479aead88f7f436ba11983e8fe1fba77.png

 创建拾取接口并实现

eef9e567f4e3406a91b0030586da1306.png

 新建一个接口蓝图BPI_CLickable

1cdad71b76a84beaa130462bba8e4833.png

 打开,右边新建一个OnMouseClicked

84ebfa6894a24bfcbf82dd25dd5baf53.png

 新建一个actor命名为BP_X,里面放入一个立方体(立方体做根组件,没有null父级)

89cdeda572d6427caefab358b793f8de.png

在classs setting里放入刚创立的接口

5e38a9963b364842aa0116c67ac876b6.png

 在BP_X中

273dc0db418d4b42af3b923bc372afb3.png

 在角色蓝图里实现(如果鼠标点击触发了就调用接口)

f7de32425fe5425ab74833aad3af2581.png

不同类型的接口函数 

1.输入

新建一个接口,输入向量变量TracePoint

7b27c697c45f4fdc8690bde1680ae7c2.png

同样的方法放入函数、调用接口

e1d1d8c68ada453fbe17b4537a10cc87.pngeee8fc835bb2446a867231a2ff4c2903.png

2.输出

6c5436e0a39e49e6ab7c31769a202b1e.png

65380d6b03ab46fbb1d3039b5026ab0c.png

ca47a6f2f4914f8b93b04f7b5b766e17.png

 不能移动位移的时候(有阻挡的时候)会输出false

 78e5166dd10d4470b9f7014ce0802201.png

 鼠标拾取案例

 对三个物体做以下变换:

BP_X旋转

BP_Y上下浮动

BP_Z大小跳动缩放

038cd13713954cc6bb2004c26a0dfe56.gif

先复制出BP_Y、BP_Z

在BP_X里写蓝图

f5d2a68537de4436809dfe809ae71d94.png

66bb2d6cef5d439da6d729f0c19793db.png

 BP_Y

963d6b6c547f48549c384f86aefcfb96.png

5766bdb384384a94a34596d2efb1f42c.png

  BP_Z

ed4f7ad8c0b34e63bb17b9073067aa3d.png

6b4a2370f415456999a1be58c0c01fc2.png

 火把的点火与熄火

复制一份蓝图,里面改成火把与支架

96dc7a24533c4cecad41016b8e93e716.png

 465f8d436b054bff9d908c4765735b17.png

 来到蓝图

9bada8a691174e46837a32d156ac4e33.png

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值