Advertisement

Unity 实时记录 模拟时间倒退效果的回放

阅读量:

一些游戏具备了回退功能,在开发游戏中如何达成时间倒退的效果呢?相信会有许多人对此感到好奇。下面将为大家介绍如何达成这一效果,请一起探索下去吧。

一种基本的方法是通过Stack来记录物体的位置(Position)和旋转(Rotation)信息。当需要进行时间回溯操作时(即时间回退),我们采用Pop操作将这些数据恢复到之前的时间步。然而,在实际应用中我们希望实现拓展功能(即允许用户进行更多层次的回溯操作),例如仅允许回溯至特定时间段内的前几个时间步。为此我们需要对原始数据进行处理以消除过于久远的信息干扰。如图所示:

Unity如何实现时间倒退效果

因此我选择使用List而不是Stack。

代码(完整代码在最下面)

|1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16|//Pos Vector3 pos = this .transform.position; float horizontal = Input.GetAxis( "Horizontal" ); float `vertical = Input.Get

全部评论 (0)

还没有任何评论哟~