【UE5.1】Chaos物理系统基础——02 场系统的应用

目录

步骤

一、运用临时场(外部张力)破裂几何体集

二、使用构造场固定几何体集

三、使用持久场禁止碎块乱动


步骤

一、运用临时场(外部张力)破裂几何体集

在上一篇中(【UE5.1】Chaos物理系统基础------01 创建可被破坏的物体)我们已经创建了可被破碎的几何体集,在最后我们防止几何体集自动破碎,接下来我们需要通过场系统施加外力,达到几何体集的伤害阈值,从而触发破碎效果。

  1. 新建一个蓝图类,父类选择"FieldSystemActor(场系统actor)"

这里命名为"BP_ForceField"

打开"BP_ForceField",在事件图表中添加如下节点,表示2s后会产生一个由中心点向外爆发的张力

添加一个球形碰撞组件和径向衰减组件

继续添加如下节点,表示临时场的衰减幅度为500000,衰减半径为球形碰撞组件的半径

  1. 我们将"BP_ForceField"放置到几何体集的旁边

此时运行可以看到2s后,几何体集被破裂开

二、使用构造场固定几何体集

当我们控制的角色碰到几何体集时会推动几何体集,如下所示:

如果我们不希望角色能够移动几何体集,我们可以通过场系统固定住几何体集的底部,几何体集的上部任然可以破碎。

  1. 新建一个蓝图类,父类选择"FieldSystemActor"

这里命名为"BP_AnchorField"

打开"BP_AnchorField",添加一个盒体碰撞组件、剔除域、统一整数、盒体衰减组件

添加一个变量,这里命名为"ObjectState",变量类型为"E对象状态类型"

默认值设置为"静态"

在构造脚本中添加如下节点,创建了一个构造场,并剔除盒体碰撞区域外的构造场

  1. 将"BP_AnchorField"放在几何体集的底部
  1. 选中场景中的几何体集,添加一个初始化场,设置初始化场为"BP_AnchorField"

此时我们再运行就可以发现角色无法推动几何体集了。

三、使用持久场禁止碎块乱动

破碎的石块在地面上经常会乱动而且会消耗电脑性能,我们可以使用禁止场解决这个问题。

  1. 新建一个蓝图,父类选择"FieldSystemActor"

这里命名为"BP_DisableField"

打开"BP_DisableField",添加盒体碰撞、两个盒体衰减、剔除域组件

将两个盒体衰减组件分别命名为"BoxFalloff_Out"和"BoxFalloff_In"

在事件图表中先移除默认的持久场,然后添加一个持久场,物理类型设置为"已禁用阈值"(如果粒子的线性速度和角速度小于阈值就将其禁用),

添加如下节点,表示如果在盒体碰撞范围内盒体衰减的幅度为50000就将其禁用

  1. 将"BP_DisableField"放置在场景中

此时运行可以看到石柱破裂后的碎块并没有乱动

相关推荐
开发游戏的老王1 小时前
UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法
ue5·游戏引擎·虚幻·虚幻引擎·rider·ue5.7·target.cs
AA陈超9 小时前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云9 小时前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
AA陈超17 小时前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超19 小时前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra
电子云与长程纠缠1 天前
UE5打光技巧02(新手向)
ue5
AA陈超1 天前
UE5笔记:GetWorld()->SpawnActorDeferred()
c++·笔记·学习·ue5·虚幻引擎
AA陈超2 天前
ASC学习笔记0025:移除所有属性集
c++·笔记·学习·ue5·虚幻引擎
AA陈超3 天前
ASC学习笔记0007:用于与GameplayAbilities系统交互的核心ActorComponent
c++·笔记·学习·ue5·虚幻引擎
AA陈超3 天前
UE5笔记:OnComponentBeginOverlap
c++·笔记·学习·ue5·虚幻引擎