A way to paste an EXACT "Match Frame" keyframe of a shape to a later or last frame after parent tracking data exists?


Is there a way to just do an exact “Match Frame” some how on a shape with existing tracking data?

I run into this situation a lot where one roto shape amongst a few others in the same in a sub-layer, follows the tracking data from a parent track shape, and at some point the tracking gets obscured or just shifts so much in the Y-rotation (away from camera) with no good way to work through it automatically for an intermediate portion of the frames. And while most of the roto shapes are easily tweaked manually to get them back inline once the subject turns back towards the camera, there is that one roto shape, which gets really thrown out of wack.

I just want to be able to “Match Frame” keyframe at the first crazy looking frame of that shape to make all the shape point positions look identical to the last good frame, so that it makes it easier to at least have a good starting point for the manual tweaking. It seems that whenever I try to just copy/paste the last good roto shape keyframe, all it does is create a keyframe that is still being influenced by the parent tracking data above, so the actual SHAPE is not exact to the frame I had copied it from. My situation of not having a “good” shape to work with for some manual tweaking also happens when the very last frame in my clip is the one that is out of wack. Since it’s the last frame, I can’t do a weighted keyframe, with no keyframe to the right of it, so I’d love to be able to do an exact “Match Frame” taken from the last correct looking keyframe of the shape.

Please let me know if you need any more clarity on what I’m asking. Thanks for the help :slight_smile:

This sounds like a feature request we can let @marco know about.

not sure, if you are looking for this kind of tool or option

@persyst I have a script that copies a shape keyframe and then you can paste that shape keyframe on another frame. Either by the Actions menu, or the hotkey shortcuts.

Cmd+Shift+C and Cmd+Shift+V

Select one or multiple shapes (don’t need to be on a keyframe), but you need to have the shape selected. The Actions menu is a little trickier as that alternate between copy and paste. You can’t copy and the change mind and copy another shape. Just copy and then paste.

I have another script that lets one clone a shape in place. From the Actions menu. This one is a little finicky.

I am a bit behind on documentation and vids for my newer scripts. Vids are embedded in the README.mds. But not for these two.


Great thank you!!

Thanks for the reply, I’ll give the video a look to see how the script works and let you know how it goes.

Much appreciated, sounds like what I’m looking for, I’ll try this out and let you know how it goes :slight_smile:

Hi again, could you please let me know the proper folder location to place the .py file? I tried dropping it in actions I think, but it did not run. Thanks for help on this :slightly_smiling_face:

Watch this video: How to Install KMFX Scripts - v2021 - YouTube

1 Like

Perfect, thanks that worked for the install!!

Hi @Katie @marco @maryp, just wondering, when I tested using the copy/paste keyframe from the script, it seems that the pasted shape key frame is getting influenced by the track data that already exists on that layer. Maybe I’m not doing it right? I’m really looking to be able to paste literally an identically positioned point-for-point keyframe of the shape at a frame towards the end of my clip, Is there something else I need to do in order to get the already existing track data to not influence the pasted keyframe using this script or is this something that might/could possibly implemented down the line? Thanks for the help on this :slight_smile:

The tracking data of a layer will always influence the shapes contained within it. The difference between the transform data in the source/destination frames would need to taken into account and then applied at the shape level to achieve what you are asking for.

Makes sense then why I’m not getting an exact shape match @marco. Hi @Katie does this script take into account the already present tracking data at the new location? If not, I’m a little unclear about what this script is doing differently then simply copy/pasting a keyframe normally. Thanks for a some clarification on this :slight_smile:

I am not familiar with the inner workings of the KMFX scripts, but you are not getting an exact match because the tracking data is most likely not being taken into account when pasted.

@persyst Following up here, @Marco is correct that if you copy/paste shapes inside a layer that has tracking data that the shape will inherit that tracked position from the layer. The copy/paste shape keyframe is mostly useful for shapes in layers that do not have transform data applied to it. Or move it to it’s own layer that has no transform data - but that’s another process. The script does not take into account the already present tracking data. I would break up your object into different layers to optimize your tracking results for certain areas. There is no silver bullet with roto yet. My rule of thumb is 5 minutes for tracking. If I can’t solve it in that time frame, I roto manually. Or try clone shape in place and start a new layer with new tracking that lines up with the original layer with opacity keyframes set correctly. I am short on time for the next month, and not sure I answered your queries. Feel free to reach out to me at katiemorrisfx (at) gmail (dot) com - but I may be a bit delayed in getting back to you.