ue4蓝图碰撞检测的类型_蓝图之间通信的几种常用方式

本文介绍了UE4蓝图之间通信的四种常见方法:直接拾取、类型转换、获取指定蓝图类成员及接口。同时强调了碰撞检测作为蓝图通信的重要应用,并提供了详细的操作步骤和应用场景分析,帮助开发者理解如何有效地在蓝图间建立联系和实现功能。
摘要由CSDN通过智能技术生成

蓝图之间通信的几种常用方式

1. 直接拾取

打开变量小眼睛

在变量中打开小眼睛使这个变量成为公有变量,此actor放入场景后,

吸取场景中的对象

选中它,在细节面板可以看到框中新加的属性,可以点击吸管去选择场景中的其他蓝图,该蓝图类型是你在变量中设定好的变量类型。这样两者之间就有了关联。

特点:直接,简单,但有特异性一对一不灵活。

适用于简单粗暴的功能。

2. 类型转换

类型转换

Castto到其他蓝图类型这样就与其他这个类型的蓝图或者继承这个类型的蓝图都有了联系。

特点:可以指定单个或者一类蓝图,但工程中过多使用会造成不必要的浪费,性能损耗。

适用于最初设定时转换一个大类。但学习中常常用于简单粗暴的碰撞检测。

注:碰撞检测也是蓝图之间通信的一种常用方式。

3.得到指定蓝图类的成员

得到场景中指定类型的成员

GetAllActorsOfClass再从这个类中遍历得到指定的对象(实例),此对象必须与这个蓝图对象在同一个场景里,如果场景里有不止一个这类对象则返回最后一个。

添加判断

如果场景里有不止一个这类对象,可以添加判断来指定到数组的哪一个对象。

特点:可以指定单个或者一类蓝图对象实例,但要找到场景中所有包含此类的对象较为损耗性能,且数组遍历较慢,最好不要用于Tick事件。

适用于单个事件。

3. 接口

创建接口

接口图标,命名

接口函数

创建蓝图接口,并在接口里创建函数

类设置

添加接口

接口事件

调用接口

接收接口的蓝图内,类设置细节面板添加接口。

接收接口的蓝图内添加接口事件。

发送接口的蓝图内添加接口消息

特点:发送方与接收方无引用关系,只有在需要时才会触发,有利于搭建功能性框架和重复调用。

适用于所有规范性蓝图框架搭建。

注:上图中,因为接口之间没有引用,就不会报错,如果的Tree没有被玩家检测到就不会触发相应的接口事件。因此举例一种通信方式:

得到与玩家碰撞器重叠的Actor

每帧检测与玩家碰撞器所重叠的Actors,遍历

筛选使用此接口的Actor

筛选有此接口的蓝图实例并保存起来,这样就找到了Tree。

调用接口的其他一些判断

截完所有节点。

这时候把数组遍历放到Tick事件是游戏功能的需求,它限定了寻找范围是与玩家碰撞器重叠的Actor,因此也不会损耗太多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值