我正在寻找一种使Unity3D应用程序能够“回滚”到先前状态的方法,以使场景与N
毫秒完全相同。
例如,假设我有一个向前移动5个单位的玩家。前景中有物体在移动,例如滚球……现在想像一下,我想“撤消”三步移动:玩家应该出现在3步之前的位置,并且滚球还应该及时向后移动。
我在这里会采取什么方法?我曾考虑过创建“状态”,每个状态都带有Time.realTimeSinceStartup
的时间戳,但是that property是readonly
。另外,我认为我可以跟踪帧数,启用V-Synch
以便渲染时间为30ms
,并回滚30ms * n_frames
,但是不幸的是,即使是与V-Synch
。
也许这类似于保存游戏然后恢复游戏?但是,保存和恢复必须非常快 ,数量级应少于10ms
。
我在这里有什么选择?