Skip to main content
Inspiring
April 30, 2021
Answered

テキストの位置を固定するエクスプレッションを書きたい

  • April 30, 2021
  • 1 reply
  • 3204 views

After Effectsの2021を使っています。

自動でリサイズできるテキストボックスを作っているのですが、左揃えのテキストを改行したときにテキストを右側に固定しておけるエクスプレッションを書きたいと思っています。

現在作っているのは画像のような吹き出し型のものです。

テキストレイヤー1つとシェイプレイヤー2つ(テキストボックスと吹き出しのしっぽ)でできています。

 

 

 

 

これを改行するとこのようにしっぽから離れてしまいます。

 

 

 

 

 

右揃えにすればしっぽから離れないで済むのですが、テキストは左揃えにしたいので左揃えのままで改行してもしっぽから離れないようにするエクスプレッションを書きたいです。

よろしくお願いします。

This topic has been closed for replies.
Correct answer Mukaida

テキストのアンカーポイントを右上に配置して、しっぽのアンカーポイントは左下に配置したうえで、位置を合わせればしっぽが追従するようになります。

下記のエクスプレッションをテキストレイヤーの「アンカーポイント」に追加します。
また、しっぽとの接続位置を調整するために、スライダー制御を追加しています。

let w = thisLayer.sourceRectAtTime().width;
let h = thisLayer.sourceRectAtTime().height;
let t = thisLayer.sourceRectAtTime().top;
let l = thisLayer.sourceRectAtTime().left;
let n = effect("スライダー制御")("スライダー");
[l + w , t + n]

 

1 reply

MukaidaCommunity ExpertCorrect answer
Community Expert
May 2, 2021

テキストのアンカーポイントを右上に配置して、しっぽのアンカーポイントは左下に配置したうえで、位置を合わせればしっぽが追従するようになります。

下記のエクスプレッションをテキストレイヤーの「アンカーポイント」に追加します。
また、しっぽとの接続位置を調整するために、スライダー制御を追加しています。

let w = thisLayer.sourceRectAtTime().width;
let h = thisLayer.sourceRectAtTime().height;
let t = thisLayer.sourceRectAtTime().top;
let l = thisLayer.sourceRectAtTime().left;
let n = effect("スライダー制御")("スライダー");
[l + w , t + n]

 

plumEC7Author
Inspiring
May 3, 2021

できました!ありがとうございます!