Wednesday, 8 July 2020

Re-Time Agent Clips using CHOPS

Here is a quick method for re-timing clips for use in a Crowd system.

If you have a clip, loaded from a FBX file directly into the Agent Clip node, that is too slow or too fast you can re-time the clip.

In my example, I have loaded a number of clips, categorised by type - I love to be organised that way and it speeds things up if you have many clips.

I have a little transition clip where the agent moves hands from the knee to the lap. The original clip os very slow, taking 65 frames to complete the actions. I need it to be done much quicker than that.
I don't want to open the clip and re-animate it, export the clip and re-import it. I would much rather re-time the clip as I am working in the Agent Definition workflow.

Here is the original clip alongside the re-timed clip for comparison

 
 

To re-time a clip:

  1. Create a new Agent Clip node, after the original clip has been loaded.
  2. Create a CHOP network node

  3. Inside the CHOP network, create an Agent node. Set the Agent node to read the node upstream of the new Agent Clip node that was just created. In my example, I created a Null just after all the Agent Clip nodes. I point the Agent CHOP to that Null.


  4. Still in the CHOP network, create a Channel CHOP, a Warp CHOP and a Trim CHOP. Connect the nodes as shown in the network above.
  5. The Warp node reads a 'curve' from it's second input and will re-time the clip depending on the value of that curve. In my case I want to speed up the clip by 3x. To do that, I set the value of the channel curve to 3. To halve the speed, set the value to 0.5 and to reverse the clip, set the value to -1. etc.

  6. Next, the clip's channels will need to be trimmed to the correct length. Using the Trim node, set the start and end points as you need them. For my case, the original clip length was 67 frames, so I set the new end point to 22.

  7. Drop down an Output node and set it's output flag.
  8. Back out of the CHOP network and set the Agent Clip node to read the re-timed clip.
    The input source will be 'CHOP' and select the CHOP network that contains the re-timed clip.

This new clip can be used just like any other clip in the Crowd setup. You can use this method to reverse clips and even ramp clip speed if you need to.

No comments:

Post a comment