UE5学习笔记(十三)——蓝图基础之推动物体和物体碰撞

本文介绍了在UE5中如何通过蓝图实现推动物体并处理物体碰撞的详细步骤,包括添加碰撞体、开启物理引擎、设置碰撞事件和重叠事件。讲解了知识点如碰撞和重叠设置的区别,以及如何利用tag进行对象筛选。通过实例演示了如何让物体在碰撞到墙壁时打印物体名称,以及如何实现物体进入特定区域后触发事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、给我一个力,可以推动地球

步骤1、建立一个球体,并给予材质

步骤2、推它

【知识点1】添加碰撞和物理引擎设置

二、当地球撞向墙壁

步骤1、设置好撞击环境

步骤2、选中墙壁,添加名为wall的tag

步骤3、写蓝图

【知识点2】碰撞事件的发生设置

【知识点3】tag的使用

三、也不是一定要撞的啦

步骤1、调整为重叠设置

步骤2、写蓝图

进阶步骤3:添加触发器

【知识点4】碰撞设置与重叠设置的区别

【知识点5】碰撞事件和重叠事件


一、给我一个力,可以推动地球

【目标】向球体施加一个推力让它前进

步骤1、建立一个球体,并给予材质

之前的文章中都是使用坐标变化的方式,使物体发生移动。但是在自然界中,物体发生移动,一定有力的作用,我们如何来模拟这种自然规则呢?

首先得到我们需要的材料,一个地球。用地球是因为可以更好的看出滚动的情况。照一张世界地图的图片放入文件夹中就可以导入工程中进行使用。导入后将图片拖到物体上,就可以更换贴图,非常方便。

步骤2、推它

在推动它之前,需要设置好它的规则。这里告诉物体,你是一个成熟的球体了,需要自己遵守物理法则了。

1、添加碰撞体

右键列表中的这个物体,选择编辑,打开网格编辑器。

在菜单中选择碰撞体,选择添加简单碰撞体,即可为物体添加一个无形的框体,用于与外界接触产生反馈。

可以看到球体外部出现了绿色线框,这个框就是球体无形的支架,完成后保存。

2、开启物理引擎

离开网格编辑器,在外部选择该物体,在Detail面板中选择physics快捷跳转到物体引擎区域,将simulate physics打开,至此,你就为这个物体赋予了万有引力。

落地了!

3、施加一个力

这个地球终于不是一个漂浮在空中的球了,我们为他编写蓝图,这里用到add force的节点,是physics下的节点,如果找不到需要去掉情景关联的选项。

【知识点1】添加碰撞和物理引擎

### UE5 蓝图学习教程与笔记 #### 一、蓝图基础概念 UE5中的蓝图是一种可视化脚本系统,允许开发者通过图形界面创建游戏逻辑而无需编写传统代码。这使得开发过程更加直观高效[^1]。 #### 二、事件分发器的应用 事件分发器类似于C#编程语言里的事件与委托机制,在UE5中用于实现对象间的消息传递功能。当某个特定条件满足时触发相应的动作序列执行。例如定义一个名为`EventDispatcherExample`的自定义事件分发器,并关联多个响应函数如`Func1`, `Func2`等来处理不同类型的输入或状态变化[^2]。 ```csharp // 定义事件分发器及其绑定方法(伪代码) public delegate void EventDelegate(); private EventDelegate eventDispatcher; void BindFunctions() { eventDispatcher += Func1; eventDispatcher += Func2; } void TriggerEvents() { if (eventDispatcher != null) eventDispatcher.Invoke(); } ``` #### 三、常用节点解析 以下是几个常见的蓝图节点解释: - **Space Bar**:检测空格键是否被按下。 - **Spawn Actor BP Bullet**:实例化并生成指定的子弹Actor,其作用相当于Unity引擎内的预制体(Prefab)。 - **Add Impulse**:给定物体施加瞬时力使其移动。 - **Get Player Pawn**:检索当前场景下的默认玩家角色。 - **Get Actor Location** **Get Control Rotation**: 获取目标Actor的位置坐标以及控制视角的方向角度。 - **Get Actor Forward Vector**:计算出面向前方的标准单位向量。 - **Multiply**:执行两个数值相乘运算[^3]。 这些基本组件构成了大多数交互行为的基础框架,熟悉它们有助于更好地理解应用更复杂的蓝图结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值