Want to highlight a helpful answer? Upvote!

Did someone help you, or did an answer or User Tip resolve your issue? Upvote by selecting the upvote arrow. Your feedback helps others! Learn more about when to upvote >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

How to change a TEXT object’s anchor point to vertically center

The title says it all. I am talking specially about TEXT objects. I understand you can change the vertical alignment (it’s actually grayed out for me in the Inspector pane, but I can change it using the onscreen HUD which does nothing- I feel like that should be the solution?). Is there another way of doing this with precision without having to manually move it using the anchor point tool?


It is still at the default position of underneath the text. I can change the anchor point left, right, or center (horizontal) alignment but again, I want vertical alignment with the anchor point.

MacBook Pro 15″, macOS 11.6

Posted on Oct 23, 2021 11:38 AM

Reply
Question marked as Best reply

Posted on Oct 25, 2021 10:51 AM

I am not sure exactly what you are trying to achieve, but I think I have a suggestion that may help.

Since you are concerned with centering and aligning things, try putting the text object inside a group.

The anchor point for the group is the center, by default. Then if you align the group instead of the text, it should do what you want.



Now select the text layer and press Command-Shift-G to make a group (renamed as "Text Group" for clarity):


Similar questions

8 replies
Question marked as Best reply

Oct 25, 2021 10:51 AM in response to PuddleOfFat

I am not sure exactly what you are trying to achieve, but I think I have a suggestion that may help.

Since you are concerned with centering and aligning things, try putting the text object inside a group.

The anchor point for the group is the center, by default. Then if you align the group instead of the text, it should do what you want.



Now select the text layer and press Command-Shift-G to make a group (renamed as "Text Group" for clarity):


Oct 23, 2021 3:30 PM in response to PuddleOfFat

The Vertical Alignment parameter only relates to a single text object in Paragraph format. It will align the text inside the Paragraph boundaries you provide to the top, middle or bottom of the text boundaries.


Do you want to align multiple text *objects* to their centers? How many? Are they one-liners or paragraphs? Can you mock up an example and post a screenshot?


Have you heard of Align To?




Align To can be found in Behaviors > Basic Motion. You can daisy chain the Align To's between the text objects and set a Y offset to the aligned position to provide spacing. The offsets can be linked so you only have to control one to change them all at once.


If you don't like Align To, you can use the Link behavior instead, and link the Transform > Positions of the text objects, then like the Y offset parameter in the subsequent links to maintain a line spacing.


If you're just looking to align objects in the canvas, there is an Alignment option in the Object menu. You can set the vertical placements of your (text) objects, select the objects that you want to align, then use one of the Alignment options to align the vertical centers. You can align any type of object with others using this.

Nov 3, 2021 12:22 AM in response to Luis Sequeira1

After trying it out, I can't seem to get the same results you are. My anchor point for the group defaults to the center of the project, which I believe is what you were saying.


The anchor point for the group is the center, by default. Then if you align the group instead of the text, it should do what you want.


I don't understand what you mean by align the group instead of the text. The group is already at X:0 Y:0 - what is there to align?

Oct 25, 2021 10:38 AM in response to fox_m

The issue I have pertains to the actual position of the anchor point relative to the bounding box of the (text) object. For all other objects, it’s positioned default at the true center (horizontally and vertically) of the object’s bounding box. For text objects, however, it is default horizontally to the far left of the bounding box (which I can center horizontally by aligning the text center) but positioned vertically right below the text, not vertically center. In other words, I want the anchor point vertically center, and when I go into the anchor point tool, I can clearly see by the offset line (the line from the anchor point the the center “x”) that the anchor point is not true center.


I understand I can manually move the anchor point with the anchor point tool but I want precision. To my knowledge, the Alignment feature in Object > Alignment only works with multiple objects in relation to each other, not one object in relation to the canvas. The Align To only works with another object to reference it to, not the canvas. This COULD be a workaround but there’s got to be a more integrated way to achieve what I’m trying to do.

Similarly, when I change the layout method to paragraph, it moves the anchor point default to the left of the first letter in the text, and below the text, regardless if the text is aligned centered.


Is there really no integrated way to do this?

Oct 25, 2021 5:18 PM in response to PuddleOfFat

Ok - got it finally.


There is a litany of reasons why you cannot automatically place the anchor point in the middle of a text object. As you noted, the default location of the anchor point starts AT the Baseline of the first line of text. The math involved to calculate a midpoint is not worth the effort (and I have yet to actually work it out from within Motion).


That said, it can be done. It's a kind of slap your forehead kind of solution.


There is a setting in the Text > Layout inspector. Under Behavior Controls, there is an Anchor Point option. You will need to set it to All. The Anchor Position option needs to be set to Center. The Position parameter can be used to **offset** the anchor point from it's chosen Position option.


Doing this does NOT fix your problem. There's more to it. These options are called "Behavior Controls" and the text is not under behavior control at this point. You need to have a Sequence Text Behavior in order for this anchor point trick to work.


So — add a Sequence Text.


Now your problem is that the Behavior is designed to animate the text between two conditions. I'm relatively certain this is not something you want. So this is what you need to do:


Parameter > Add > Format > Rotation.

Sequencing : From

Animate : All

Spread : 0


The *secret* to making this a valid replacement for Transforms is to set the Start Offset to the number corresponding to the LAST FRAME of your Project. Specifically, if you have a 10 second project at 30 FPS, then you need to set Start Offset to 299 (if you have your projects set up to start at frame #0). You will also need to select the text object, go into Properties > Timing [Show] and set the Duration to 1 frame longer than your project, or in my example 301.


You can rotate but not animate with the Sequence Text set up as above, but you can animate rotations if you set the Sequence Text Start Offset to 0 and KEYFRAME the orientation of the text (even with Sequencing: From).


You can also animate the rotation from a Sequence Text using a Ramp behavior and use the Sequence Text > Rotation > X, Y or Z as the target parameter. The anchor point will continue to be honored.


[PS - while I was trying to write this I had to deal with a lot of distractions.... If you run into trouble or didn't understand something, get back with me -- I'll try to straighten things out. If this is the case, I apologize in advance.... gotta go.]



Nov 3, 2021 2:16 AM in response to Luis Sequeira1

I see! Now it's working for me.


Interestingly, when I create a new group (Command-Shift-G) for the text but then change the size of the text or rescale, the group that was just created seems to retain its old anchor point prior to the change (which, up until now, was center of the text object) and is no longer at the center of the text object, even though it's coordinates are still X:0 Y:0. The workaround I've found for this is to simply create another new group which will then recenter the anchor point to the object's center, and I can go back into Properties to reset the position parameters to 0 (center of the canvas). Then just delete the old group.

I've also been using Command-Shift-N to create new groups and in the workaround above, it will only work creating new groups using Command-Shift-G.


Thanks Luis!

How to change a TEXT object’s anchor point to vertically center

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.