After Effects│行単位でテキストを参照するエクスプレッション

テキストレイヤーを効率的に管理したい

文字をいちいちテキストレイヤーに打ち込みたくない!と思ったのでエクスプレッションで参照してみました。

目次

行単位でテキストを参照するエクスプレッション

STEP1:テキストレイヤーを作成

表示したい文字(改行区切り)をすべて含めたテキストレイヤーを作成します。名前は「source text」とします。

STEP2:下に空のテキストレイヤーを作成

source textレイヤーの下に空のテキストレイヤーを作成します。名前は「text_1」とします。

STEP3:エクスプレッションを挿入

text_1のソーステキストに下記のエクスプレッションを挿入します(ストップウォッチをAlt+クリック)。

var str = thisComp.layer(index).name.split("_")[1];
num = Number(str);
thisComp.layer("source text").text.sourceText.split(/\n\r|\n|\r/)[num-1];

これでsource textの文字の1行目が参照されているか確認します。

STEP4:Ctrl+Dで複製

あとはtext_1を選択してCtrl+Dで複製していけばtext_2、text_3…と自動生成されて、それぞれの行が参照されます。source textのレイヤーは非表示にしておきます。

文字を装飾したい場合

このやり方は字幕などの作成には最適かもしれません。ただし部分部分の文字を装飾できない弱点があります。

その場合はソーステキストのプロパティを選択して、アニメーション>キーフレーム補助>「エクスプレッションをキーフレームに変換」をかけて、テキストをベイクしてあげましょう。その後は各文字要素を編集できるようになります。

※ベイク後はキーは消してしまってOKです。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次