UE4蓝图 实现时间倒流功能

Posted maoxuyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4蓝图 实现时间倒流功能相关的知识,希望对你有一定的参考价值。

 

,       时间倒流的实现大概思路就是在一个特定的时候每帧记录这个物体的Transform并存入数组中,再触发一个时间从数组最后一个往前设置Transform。

第一步首先我创建一个Actor类,并添加组件Cube(一个模型并把它设为根组件)和一个Box Collision(检测碰撞用的),技术图片         Cube的碰撞设置为BlackAll,碰撞体默认碰撞就行。

第二步在EventBeginPlay后面让Cube开启物理技术图片或者直接在细节里物理勾上也可以。

第三步在EventTick后面,首先判断是否开启记录位置IsOpen?技术图片  ,如果为真就开启物理(保险一点,有时会有些Bug),之后创建一个Transform类型的数组,

获取Cube的世界Transform存入数组技术图片,延迟5秒把数组长度存到一个整型变量当中,并把bool值变量设为假。技术图片

 

第四步如果IsOpen为假就Delay0.0002秒后判断这个数组长度的变量Length是否为0技术图片,如果为真就把数组清空并把物理关闭。技术图片我这个Return是一个开关 ,按键后它才会实现时间倒流。

第五步如果Return为真就把物理关闭(时间倒退过程开启物理会影响效果),之后获取数组长度的变量Length-1设置给Length(这样就会从最后一个来读取数值了)技术图片最后设置这个Cube的Transform,获取TransForm数组然后Get

,Get的值是减1以后的Length技术图片

这样就基本实现了功能,触发只需要把IsOpen变量给设为真,我是用第一人称模板的子弹来触发的   然后设置个按键就可以出现效果了。技术图片

 

 

 技术图片

最后说一句,这是我第一次分享自己的笔记,可能很乱,大家将就看,有啥不理解问我。

 

以上是关于UE4蓝图 实现时间倒流功能的主要内容,如果未能解决你的问题,请参考以下文章

Ue4蓝图没有拖进场景为啥能执行

UE4中使用蓝图实现简易的游戏暂停功能

UE4学习心得:Scene Component蓝图的一个简单应用

UE4蓝图传递

14 UE4蓝图:制作门的蓝图类

UE4-碰撞事件:开关门蓝图类实现提升篇