Skip to main content
Participating Frequently
October 11, 2019
Question

Copy and paste multy-layers keyframes in to another layer

  • October 11, 2019
  • 3 replies
  • 5909 views

Hello. Is there a quick way to copy the keyframes of many layers to one layer, as shown in the video?

    This topic has been closed for replies.

    3 replies

    Braniac
    October 12, 2019

    Now that I have seen your screen-capture movie I can see that you are trying to copy a single path keyframe from 12 different shape layers and paste those values in the bottom shape layer on a single path. The timing of the new keyframes does not seem to matter, so that presents a problem.

     

    The only solution I can think of that would automate that process would be to write an expression that checked the value of a specific path property in a different layer and made that sample at a given time. The immediate problem with that approach is that expressions do not remember what happened in the previous keyframe so it is going to be incredibly difficult to do something like sample the path value at 10 frames. in layer 1 then sample the path value at 20 frames in layer 2 and interpolate the difference for all of the frames between 10 and 20. This sets up a recursive expression that slows down exponentially. Simplifying the math just to give you an idea of the problem, it is going to take 10 times longer to calculate the value for frame 20 than it did for frame 10, and if you want to calculate values for frame 30 the time is going to increase by another factor of 10. That means if the first frame calculates in 1 second the 10th frame would take 10 seconds, frame 20 would take 100 and frame 30 would take 1000.  That makes the expression solution pretty inefficient.  

     

    If you can give a more detailed explanation of what you are trying to accomplish and what the animated path is supposed to look like we can probably help out. I can't think of a single path animation that I would approach using this kind of workflow. 

     

    If you want to blend multiple shapes into a smooth animation then setting up all of the Paths in Illustrator and using the blend paths feature is the way to go. Maybe this tutorial I did a long time ago will help.

     

     

    Braniac
    October 11, 2019

    If all of the keyframed properties you want to copy are on a single layer the easiest thing to do, and by far the fastest is to:

    1. Set the CTI (current time indicator) to the first frame of the comp
    2. Select the layer with the animation and press U to reveal all keyframes
    3. Drag a selection around all of the animated properties that are visible in the timeline to select them 
    4. Go the Animation>Save Animation Preset menu and create a new animation preset for all of those properties
    5. Shift Select all of the other layers that need the animation
    6. Use the Animation menu or the keyboard shortcut Shift + Alt/Option + Ctrl/Cmnd + f to apply all of the animated properties to all selected layers. 

    The whole process should take you less than two minutes unless there is something that I don't understand about your project. When you are done you can delete the new preset you just created or leave it in the Custom Animation Presets folder to use again on another project. 

    Braniac
    October 11, 2019
    They keyframes are spread across 12 layers in this example in which case "Save Animation Preset..." will be dimmed out.
    Braniac
    October 11, 2019
    As I said in the first line - all animated properties must be on a single layer to save an animation preset.
    Braniac
    October 11, 2019

    As you've probably noticed, selecting keyfames across more than one layer copies the layers rather than the keyframes.

     

    The method that you're using to copy and paste is probably as quick as it gets.  Hopefully, you're billing by hour.   🙂

     

    Leveraging some keyboard shortcuts like pressing 1 then 3 on your numeric keypad to select layer 13 and Shift Page Down to advance the Current Time Indicator could speed things up a bit (if you're not already using them).

     

     

    Participating Frequently
    October 11, 2019
    Thanks for the answer!
    Braniac
    October 11, 2019

    You know... an Expression may be able to do this. It would be something like at time index 1, get value from layer 1, at time index 2, get value from layer 2, at time index 3, get value from layer 3, etc. Although, I'm definitely not the one to advise you on how to write something like that from scratch. Maybe someone else will chime in.