Skip to main content
Inspiring
April 30, 2021
解決済み

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

  • April 30, 2021
  • 返信数 1.
  • 3204 ビュー

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

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

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

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

 

 

 

 

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

 

 

 

 

 

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

よろしくお願いします。

このトピックへの返信は締め切られました。
解決に役立った回答 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

MukaidaCommunity Expert解決!
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]

 

plumEC7作成者
Inspiring
May 3, 2021

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