Activity › Forums › Adobe After Effects › Shared copies of keyframes
-
Shared copies of keyframes
Posted by Albert Kowalski on August 30, 2023 at 9:20 amHi!
I’m wondering is it possible to copy a keyframe with shared values? I use this feature in my audio editing program and would like to use the same trick in AE. So what I need is:
1. Copy a keyframe of a layer, let’s say Position.
2. Paste it in other place on the timeline
3. Now when I change the values of the original keyframe, the copies keyframe changes exactly the same.
Maybe it is super easy to do, but I cannot find it 🙂
Albert Kowalski replied 3 months, 1 week ago 4 Members · 8 Replies -
8 Replies
-
Andy Kiernan
August 30, 2023 at 11:25 amI dont think you can do exactly that, but what you could do is link the 2nd layers value to the first, which you key frame. Alt click on a property, then use the pickwhip to link.
-
Ryan Daily
August 30, 2023 at 8:25 pmALT click your ‘child’ layer position and pick-whip any other layer’s position keyframe. Now when the ‘parent’ and ‘child’ are linked together.
You can also use an expression on a null layer and link everything to that. -
Albert Kowalski
August 31, 2023 at 7:15 amHmm, that doesn’t really solve the case. How about this: can I share an expression? So let’s say I make an expression on Position of the layer and now I want the same expression to be used on other Positions of 10 other layers but the first expression is the parent. So if I change anything in the first expression all the other expression will also change.
-
Walter Soyka
August 31, 2023 at 3:56 pmIf you want to set the values in only one place (either with keyframes or an expression), and have them referenced in many other places, property linking (done via the Edit menu or the pickwhip or expressions) is the way.
This doesn’t actually copy the keyframes to the follower properties, if that’s what you’re expecting, but it does make sure the values are always linked.
Here’s a short tutorial from Adobe:
https://helpx.adobe.com/after-effects/how-to/link-properties.htmlIf that’s not addressing your question, maybe a couple of screen shots will help us understand what you’re trying to accomplish?
-
Albert Kowalski
August 31, 2023 at 5:18 pmOk, I’ll try to explain as easy as possible with this example:
As you can see on the screenshot I have two objects that change their positions and rotate. It is a looped animation (the last keyframes are the same as the first one). Now I want to loop those properties (position and rotation) by copying those keyframes multiple times. But I want to make a shared copy so whenever I make any change in those first keyframes, those copies will change as well.
I could use a loopOut expression but the problem is I would need to put it in every property and in my real project I have much more objects. So now I would have tons of loopOut expressions and in case I want to make a change in the expression I would need to go to each one and make a change, lot of work. So the solution would be to have one expression linked to all those properties.
I know I could precomp this and loopOut the precomp but that would also not work because in my real project there are also objects that changes independently during the whole composition, so looping just one small part of the comp would not work.
-
Ryan Daily
August 31, 2023 at 5:19 pmEverything you mentioned is pretty basic. Are you sure you need an expression? What you are talking about is pretty much exactly how parenting works in AE. All child objects can be moved independently and when you move the parent objects the child objects follow.
-
Walter Soyka
August 31, 2023 at 7:46 pmAs Ryan mentions, if you want the elements to rotate together about one common anchor point (like a precomp), you can parent them to a null and animate the null like Ryan suggests. This is fast and easy!
If you want the elements to rotate independently about their own anchor points, you can use expressions.
Directly linking the properties won’t help you, because you don’t want everything to have the same exact values; it looks like you want to be able to offset them some (so the ellipse and the rectangle have different position values).
You can do this with expressions by having the expression reference the property’s underlying value, and adding it to the animated value from another property. I’ve mocked up a quick project to illustrate this — please feel free to ask questions!
-
Albert Kowalski
September 1, 2023 at 10:16 amI don’t really know if it would work in my project so I’ll just show you exactly what I am doing.
In the screenshot you can see my comp. I am animating a dinosaur. He is doing different things in the whole comp. If those would be just “one shot” routines it won’t be a problem but sometimes he runs (cycled animation). In the screen you can see one cycle of the run. I want to duplicate this cycle couple of times but now I am sure that loopOut expression won’t work because it will affect other keyframes in the comp where dinosaur is doing different things. I could limit the loopOut to only couple of cycles but if there will be a different cycled animation in this comp, for example a walk, then I would need to use another loopOut for that and I don’t think it is even possible…
So the simplest way it would be to copy the keyframes couple of times but then any change I want in the run I would need to change every frame in the whole cycle which is painful.
I tried using Connector in DUIK but unfortunately it affects the whole comp and I cannot use it multiple times in one comp in different ranges.
So maybe what I am trying to achieve is simply impossible 🙂
Reply to this Discussion! Login or Sign Up