Jump to content

Retime woes


Recommended Posts

I need to retime a cached simulation. So far no problem if I do have a constant playback speed. The way I interpolate the cache should be able to handle changing playback speeds. But here comes the problem.

As the input for the retiming I want a ) the FPS and b ) the current playback speed in form of a curve. Playback speed could change to whatever value. but if the playback speed would be constant the curve would be flat (e.g. constant value of 1 if the playback speed is normal, 2 for double playback speed).

Since the retiming node needs a frame value as the input I need to convert my playback speed curve into a current frame curve. But how is this possible? For the constant playback speed I just need to multiply the FPS by my speed factor. Easy. For my changing playback speed I would need to do this for every frame (current playback speed x FPS) and then add all these values together which are left of the current value in the timeline. This seems to be a rather complicated and slow thing. Especially for longer animations.

I don't have an idea how to solve this practically. Is there some native functionallity hidden CHOPS to solve this? Avoided CHOPS so far completely. : /

Thanks for any tip!!!

Link to comment
Share on other sites

P.S.: I could imagine to do this with a regular nurbs curve. One as the playback speed input. In order to get the correct frames I would need to convert this nurbs curve into an extruded polygon (extrude in z-direction). Onto this polygon I would raycast another curve with even x spacing. Each point of this curve represents an integer frame on the timeline. The y postion after raycasting is the multiplier for the FPS on this very frame. I could loop over all points on this curve, delete all points to the right of the current frame and add all values of the remaining frames to get the frame number already played. The input of the retime node could then retrive these values for the interpolation of the simulation.

This would work for sure, but the interactivity would be VERY slow. I guess not a pratical solution, though the general idea should be correct.

P.P.S.: THe raycasting of the second curves has the advantage that the input curve doesn't need input points on each frame. Much easier to handle.

Link to comment
Share on other sites

I'm not sure but you might just need the timeshift node for retiming. If it's geo(not voxels): ChachedSim - Timeblend - timeshift. 

Than remove the Frame Expression and just keyframe it like an ordinary time remapper. 

If its voxels you have to adjust the timeblend node to blend the voxels inbetween frames. 




Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...