UE5 Chaos缓存蓝图使用(不使用Sequence)
Howard薛
2026年03月31日 18:45

在使用Chaos的时候想要实现回溯效果就要使用ChaosCache,而ChaosCache蓝图调用的方法网上目前都是用Sequence控制ChaosCachePlayer,整体性和复用性都很不好,主要原因就是ChaosCachePlayer为实验类,开发还不完善,对蓝图有一些限制。c++是没问题的。

研究了一下可以使用下面这个方法封装成Actor,蓝图使用起来就很方便了,主要是使用剪贴板Hack ChaosCachePlayer内的SoftReference变量。

1.新建一个蓝图继承ChaosCachePlayer

2.添加GeometryCollision组件,并配置GeometryCollision资产

3.编辑蓝图构造函数,配置类默认值

4.重点:

复制这行文本并修改GeometryCollection为刚刚创建的GeometryCollectionComponent名字,我没有重命名这里就是默认的

代码块
PlainText
自动换行
复制代码
(OtherActor="",ComponentProperty="",PathToComponent="GeometryCollection")
复制成功

然后右键粘贴在类默认值面板->刚刚添加的Observed Component的元素->SoftComponent这里

也可以按住Shift鼠标左键点击SoftComponent

之后这一行会闪一下,但右边的值不会发生变化,是正常的

不出意外的话,拖进场景里一个,然后拖动StartTime就可以预览了效果了。

5.蓝图调用:

蓝图中使用有两种方式:

1手动Timeline控制:CacheMode需要设置为Static Pose

优点:可以使用Timeline曲线调节破碎节奏,总时长可以在CCC资产里看

2事件触发控制:CacheMode需要设置为Play

只播放一次,在最后一帧定格,无法重重复触发

两种方式Start Mode都要设置为Triggered,Timed一开始就会自动播放

封装为Actor后使用就很方便了

网络同步也都可以按普通Actor一样Replicate,RPC来做了