テキストレイヤーを効率的に管理したい
文字をいちいちテキストレイヤーに打ち込みたくない!と思ったのでエクスプレッションで参照してみました。
目次
行単位でテキストを参照するエクスプレッション
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です。
