Learn how to move the anchor point after you’ve already animated the position of the layer, without messing up the existing animation. Plus, learn how to make it as if a layer has multiple anchor points. This way you can rotate or scale the layer around a different point at different times in the animation.
If you don’t already know what an anchor point is, go watch this intro to anchor points video first.
0:32 - Move Anchor Point After Layer Has Position Animation:
7:15 - Add-On Tools for Manipulating Anchor Points
7:46 - Multiple Anchor Points:
One of the most frustrating anchor point issues happens when you’ve already animated the position of a layer, and you realize you need to move the anchor point. If you move the anchor point now, it will mess up your existing position animation (i.e. the motion path).
Here are 3 ways to solve this:
First, duplicate the layer and lock the duplicate. It helps to turn on snapping.
Now select the original layer and grab the Pan Behind Tool. Holding down option (Mac) or alt (Windows), click and drag the anchor point to wherever you want it. Holding option or alt will move the layer instead of the anchor point. Move the layer until the anchor point is where you want it on the layer.
Alternatively, you could adjust the anchor point values in the timeline to achieve the same thing.
The layer is now going to be in the wrong position, but we’ll fix that. Doing it this way preserves the motion path.
Now switch to the selection tool (keyboard shortcut is V). Click where it says Position on the layer in the timeline to select all of the position keyframes and the motion path. Make sure your playhead is over one of the keyframes. Now drag the layer onto the duplicate. This will move the motion path and now you’ve adjusted the anchor point and saved the animation. You can delete the duplicate now.
The second solution is to use an expression. You don't need any prior knowledge on expressions to get this working.
The expression is going to be on the position property, but you’ll also need to know the value of the anchor point as it is right now. Hit shift A to also bring up the anchor point property.
First copy the expression:
To enter the expression, option (Mac) or alt (Windows) click on the stopwatch next to the position property. Paste the expression (deleting any existing text). Click away from the expression field to save the expression.
How this expression works:
Normally, when you move the anchor point after there’s already position keyframes set, it moves the position of the layer too. This expression calculates how much the position property needs to be adjusted to compensate for any any adjustment on the anchor point, so that the shape stays in place.
With this expression, you can move the anchor point using the Pan Behind Tool, but make sure you hold down option (Mac) or alt (Windows) while doing so. This way, the layer won't move, but the anchor point will. Alternatively, you can adjust the anchor point values in the timeline. You can also freely adjust the position values/keyframes (thanks to the "+ value" segment included in the expression).
The last solution is probably the easiest: You can purchase an add-on tool. I personally use a tool called Motion which has tons of other super useful features that I think make the price totally worth it for someone who uses After Effects as much as I do.
With Motion, all you have to do is click on one of the location buttons, and, even if your layer is already animated, it will move the anchor point without moving the layer and messing up the animation.
There's also this name-your-own-price script with the single purpose of allowing you to move the anchor point after the layer has position animation.
On the topic of tools, there are quite a few different options for scripts and extensions that give you more options for manipulating anchor points easily.
These tools can save you a ton of time on things like moving the anchor point on multiple layers to the same relative position, or moving all the anchor points to the same place in the composition. Each tool has different features, and those examples just scratch the surface.
Another issue you might come across, is that you need multiple anchor points.
For example, in the animation above, the square to rotates back on the bottom left corner in anticipation of moving to the right, as it moves across the screen it does a full revolution from the center, then as it stops, it to rotates around the bottom right corner as an overshoot animation. So three different placements of the anchor point are needed.
Here’s another example. As the shape rotates the side that it lands on changes and so the anchor point that it squashes and stretches around changes.
Anticipation, overshoot, and squash & stretch are principles of animation. If you want to learn more about the principles of animation for motion design, check out this class.
There are a couple ways to make it as if you have multiple anchor points.
In this example from my class, Smooth Moves, I want the bowl to rotate back and forth as it bounces.
To make this work, I positioned the anchor point in the bottom left corner and animated the rotation property.
To get a second pivot point, I placed a Null Object (Layer > New > Null Object) in the bottom right corner of the bowl. Then, I parented the "bowl base" to the null ("rotation control" in the screenshot below). Finally, I animated the rotation of the null.
In order to make the easing values the on new keyframes for the null's rotation the same as the existing keyframes on the bowl's rotation, I used a tool called EaseCopy. I talk more about this tool in my class, Top 5 Plugins for Efficiency in Adobe After Effects.
If you're working with a shape layer, it actually already has two anchor points built in. The first is under the Transform toggle that most layers have. These transform properties affect the entire layer. A shape layer can have multiple layers within it, and each of those shapes has another set of transform properties that affect just that shape.
So, to work with multiple anchor points, you can utilize the anchor point under Transform and also the one under Transform > Rectangle 1 (or whatever shape name).
If you parent the shape's position property to the shape's anchor point property, when you move this anchor point, the shape will stay in place. This makes it easy to keyframe the shape's anchor point so you can manipulate the shape around a different point at different times.
If you're not working with a shape layer, but want to achieve something similar to the example above, you can use the Transform Effect. Here's how to get this working:
Now you can animate both sets of transform properties (the ones for the effect, and the normal ones on the layer). You could also keyframe the Transform effect’s anchor point with hold keyframes in order to have different anchor points at different times.