【UE5.1】制作会飞的气球,并吊起其它物体

目录

效果

步骤

一、制作气球

二、将气球附加在其它物体上来吊起物体


效果

步骤

一、制作气球

  1. 新建一个工程,创建Basic关卡,添加一个第一人称游戏资源
  1. 新建一个游戏模式基础、HUD和玩家控制器

在世界场景设置中设置游戏模式、默认Pawn、HUD和玩家控制器

  1. 为了在屏幕中心标记一个点,这里打开"HUD_Player",然后添加如下节点

此时运行就可以看到视口中心有个白色的正方形

  1. 新建一个Actor蓝图,这里命名为"BP_Balloon",表示气球

打开"BP_Balloon",添加一个球形静态网格体

勾选"模拟物理",质量设置为1公斤,取消勾选"启用重力"

添加一个缆索组件

在视口中将缆索组件向下移动

将缆索组件的末端位置设置为(0,0,-100),解算器迭代设置为10,缆绳宽度设为1

添加一个物理约束组件

向下移动50cm

将静态网格体命名为"Ballon"

再次选中物理约束组件,设置组件名称2为"Balloon",这样就可以对名为"Balloon"的组件进行约束

在"Linear Limits"中设置"X运动"、"Y运动"、"Z运动"为"受限",限制值为500,表示"Balloon"在三个轴向上的运动距离都被限制在500内

在事件图表中为"Balloon"添加垂直向上的作用力

将"BP_Balloon"移入视口内

此时运行可以看到如下效果

二、将气球附加在其它物体上来吊起物体

在"BP_Balloon"的事件图表中添加一个自定义事件,命名为"AttachComponent",该事件拥有三个输入参数,名称和参数类型如下

该事件逻辑如下

  1. 打开玩家控制器"PC_Player",在事件图表中添加如下节点,表示按下F键会从第一人称摄像机发出一条射线检测
  1. 打开项目设置,新建一个检测通道,这里命名为"Trace"
  1. 回到"PC_Player"的事件图表中,设置引脚"Trace Channel"的值为"Trace"

继续添加如下节点,表示如果检测到碰撞通道为"Trace"的物体,就生成气球,然后将检测到的物体附加到气球上

  1. 为了防止玩家角色的胶囊体组件会挡住发出的检测射线,这里可以在"BP_FirstPersonCharacter"设置胶囊体组件的碰撞预设为忽视"Trace"通道的碰撞检测
  1. 接下来就可以测试气球是否可以吊起其他物体了。在场景中放置一个物体,勾选"模拟物理"

运行效果如下所示

参考视频:

https://www.bilibili.com/video/BV1HN4y1b7pC/?spm_id_from=333.999.0.0&vd_source=36a3e35639c44bb339f59760641390a8

相关推荐
AI视觉网奇8 小时前
ue 5 c++ 控制播放动画实践
ue5
AI视觉网奇13 小时前
ue5 字典 字典动画 笔记
笔记·学习·ue5
速冻鱼Kiel1 天前
GASP笔记01
笔记·ue5·游戏引擎·虚幻
速冻鱼Kiel2 天前
GASP笔记02
笔记·ue5·游戏引擎·虚幻
曼巴UE52 天前
UE5 C++ 里创造 和 使用编辑GamePlayTag
c++·ue5·ue
XR101yqm12212 天前
2026年UE5 VS ChaosVantage实测对比,哪个更适合建筑可视化?
ue5·chaosvantage
zhangzhangkeji2 天前
UE5 C++(23-3):静态网络体与骨骼网络体的继承链。动态加载资源与类的源代码
ue5
曼巴UE52 天前
UE5 C++ GameInstanceSubsystem 在学习
c++·ue5·ue
zhangzhangkeji3 天前
UE5 C++(32):进度条 Progress 的实现,在蓝图里创建进度条,其数值绑定到 c++ 里的成员变量上
ue5
zhangzhangkeji3 天前
UE5 C++(29-2):描述碰撞响应方式的枚举类 enum ECollisionResponse。代码示例
ue5