UE4-(蓝图)第十三课关于Actor碰撞处理(触发器)

213 篇文章 593 订阅

上一节提到使用重叠事件的缺点,物体都要显示才能出发,

触发器使用是在一个事件发生的场所,进入或离开场所时发生事件处理,且在场所范围内一直发生并进行处理。预备事件时,不紧要预备出入范围时的事件,还要预备在其范围内持续发生的事件。

一、触发器的种类:在模式面板中选择Basic有球体型触发器及盒体触发器,它们唯一不同的就是形状,基本作用及使用方法完全相同

二、创建并设置盒体触发器

1.选择盒体触发器拖拽到场景中,在世界大纲选中拖入的TriggerBox盒体触发器,在细节面板的Transform项更改位置及尺寸

2.碰撞设置

触发器已处于其所必须的默认设置状态,只需更改一部分

Simulation Generates Hit Events 本次不使用,用于碰撞触发事件

Generate Overlap Event 用于重叠事件,勾选

碰撞预设值 选择Trigger 

注意:碰撞预设值 Trigger 是触发器的专用设置。

三、蓝图使用触发器事件

选中世界大纲中的TriggerBox 盒体触发器(必须选择盒体触发器创建),打开蓝图右键选择事件节点

注:如果没有选中合体触发器,将情景关联取消,搜索On Actor Begin Overlap默认的将不是盒体触发器事件。

On Actor Begin Overlap 及 On Actor End Overlap 节点

On Actor Begin Overlap :另外一个物体开始重叠盒体触发器时调用

On Actor End Overlap:当其他物体停止(离开区域时)重叠合体触发器时调用

参数:Overlapped Actor : 获取重叠事件发生的物体Actor(示例中为 Trigger box)

Other Actor :与触发器重叠的物体Actor

运行蓝图

程序(物体从高处跌落进入触发器区域后滚动离开触发器区域)

结果:

场景:将Box_StaticMesh_1的细节Collision中的碰撞预设值更改为default

运行后:

下落进入触发器区域

离开触发器区域

总结:触发器用于指定发生碰撞事件的范围(空间)。

在触发器其范围内持续发生的事件示例,后续章节会补充上。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过以下步骤在UE4中实现这个功能: 1. 创建一个圆形的碰撞触发器作为限制区域。在场景中放置一个圆形碰撞组件或触发器组件,并调整其大小和位置以适应你想要的圆形限制区域。 2. 创建一个蓝图类来控制生成Actor的逻辑。创建一个新的蓝图类(如GameMode或ActorSpawner),并打开它。 3. 在蓝图类中实现生成Actor的逻辑。使用Spawn Actor节点来生成你想要的Actor。然后,使用Break Transform节点获取生成的Actor的位置信息。 4. 使用InSphere节点检查生成的Actor是否在圆形限制区域内。将生成的Actor的位置信息和圆形限制区域的中心位置和半径作为输入,然后将InSphere节点的返回值连接到一个分支节点。 5. 在分支节点中处理在圆形限制区域内和外的情况。如果InSphere节点返回true,表示生成的Actor在圆形限制区域内,你可以选择销毁它或采取其他操作。如果InSphere节点返回false,表示生成的Actor在圆形限制区域外,你可以在此处设置生成Actor的其他逻辑,例如设置随机位置或其他属性。 6. 在游戏中使用你创建的蓝图类。将你创建的蓝图设置为主游戏模式(GameMode)或在需要生成Actor的地方使用该蓝图类。 通过以上步骤,你可以在UE4中创建一个圆形限制区域,在圆形内禁止生成Actor,在圆形外随机生成Actor。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值