Copy link to clipboard
Copied
Sorry for the noob question.
I have multiple comps, each with a text layer.
I want to ensure that the text begins at the same X position in all comps.
If this was Photoshop, or InDesign, I would set the anchor point for the text box to one of the left nodes for all instances and paste in the desired X position for each text box.
In After Effects, I want to do something similar, but I haven't found a way to do this. I move the anchor point with the Pan Behind tool, but there doesn't seem a way to easily snap the anchor point to one of the left nodes of the text box. Let's say I want the anchor point to be exactly at the top left corner of the text box – is there a quick and easy way to do that?
Hi. Thanks for the replies. Maybe I didn't explain what I'm trying to do properly. Anyways, I finally found how to do it. I simply hold the Ctrl button (in Windows; I guess on Mac it would be Command?) and the anchor point snaps to the corner of the text box.
Copy link to clipboard
Copied
Turning on Snapping works and selecting the Pan Behind tool (y) should work. Check your Toolbar.
Unfortunately, the first letter of a line of text is not always as tall as the rest of the letters. The Arial Black lower case "h" is taller than the Arial Black upper case "T" so the anchor point will not be at the top left corner of the word "The" if your font choice is Arial Black.
Rather than taking the time to snap the Anchor Point to the top left corner of all text layers, you could add this expression to any text layer's Anchor Point and then save it as an animation preset.
box = sourceRectAtTime();
[box.left, box.top];
If you want the starting position to be [300 300], then adding this expression to Position and the Animation Preset would set the default position for any text layer with the pair of expressions to [300 300], and you could then manually add keyframes to the text layer.
strt = [300, 300]; // Starting Position
cCntr = [thisComp.width/2, thisComp.height/2];
value + strt - cCntr;
An even better solution would be to use an expression based on layer inPoint to create the animation. This expression would move a layer from the starting point of [300, 300] and center the text layer at the comp center. The layer would remain at the starting position (dly) for 20 frames, and then it would move to the comp center over the next 40 frames.
s = time - inPoint;
t = s / thisComp.frameDuration;
dly = 20;
tMin = inPoint + dly; ; // tex frame delay
tMax = 40 + dly; // 25 frame move
box = sourceRectAtTime();
txtSize = [box.width/2, box.height];
value1 = [300, 300];
value2 = [960, 540] + [box.left, box.top] - txtSize;
ease(t, tMin, tMax, value1, value2);
Maybe that will get you started.
Copy link to clipboard
Copied
Hi. Thanks for the replies. Maybe I didn't explain what I'm trying to do properly. Anyways, I finally found how to do it. I simply hold the Ctrl button (in Windows; I guess on Mac it would be Command?) and the anchor point snaps to the corner of the text box.
Copy link to clipboard
Copied
There is also a "Snapping" switch you can turn on in the tool options (its to the right of where you select the tools) when you have either the Pan Behind tool or the Move tool active.
There are also add-ons that can do it for you like Reposition Anchor point (https://aescripts.com/repositionanchorpoint/).
Find more inspiration, events, and resources on the new Adobe Community
Explore Now