Can I replay, scrub, import or export the rewind data?

Chronos is not a replay plugin. It only manipulates time continuously.

Therefore, it cannot:

  • Scrub to a specific point in previous recorded data
  • Replay rewind data in a forward direction
  • Export or import rewind data to file

This article was helpful for 1 person. Is this article helpful for you?

Hey Lazlo! It's Jongwoo from Kitfox.

I'm working on a project that involves timeline manipulation and recently bought Chronos to check out the rewind system. I know you're explicitly stating here that the plugin doesn't support importing or exporting of rewind data, but is there a reason why I couldn't modify Chronos to do this for my particular project? At first glance, it looks like I just need to access the data from the snapshot list.

Thanks!

Hey Jongwoo :)

You can access and serialize/deserialize the snapshot list quite easily. That's not the reason why Chronos doesn't support it "out of the box". The main problem is with scrubbing to a specific point in time (instead of using continuous time manipulation over many frames).

The two main reasons are:

  • If you scrub to a specific point in time, all properties that are not interpolated have to be properly adjusted. This is really complex. It can be done by stacking the effect of Occurrences (two-way events) instantly and hoping that Unity is deterministic enough to reach the same point. However it does require you to code every non-interpolated change (e.g.: change a color, spawn a particle system) as a reversible occurrence (resp.: revert the color, destroy the particle system) as well.
  • Animator states cannot be manually set to in-between states (pseudo-code: animator.LerpState(state1, state2, t)). Therefore any scrubbing with animators can't work seamlessly.

If you have a simple game where almost everything is interpolated and where you don't rely on animators, then yes, editing the asset could work for you. Have a look at the RecorderTimeline class, that's where the snapshots are stored.

Hey I found this cool thing in mecanim where you can record a character’s animation, it might work really well in conjunction with chronos - https://docs.unity3d.com/ScriptReference/Animator.StartRecording.html

You can reverse and play through animations at different speeds really easily with this except it has one major drawback... you can’t actually save the streams. 

But still, I thought it might be worth adding here.

Pete

+1

Hi Pete,

This is actually exactly what Chronos already uses behind the scenes to enable animator rewind.