なっちの備忘録

ピカチュウ美味しい

【AE Tips】エクスプレッションを使用してテキストを変更

After Effectsでこのようなテキストを作成し
f:id:nachizail:20200511060035p:plain

クレヨンで上から塗ったような、このようなボーダーテキストを作りたいとします。
f:id:nachizail:20200511061022p:plain

この場合、textレイヤーをctrl+alt+C(もしくは編集→プロパティリンクと一緒にコピー)をした後にペーストすることで
複製したtext2レイヤーに以下のようなエクスプレッションが追加されます。
f:id:nachizail:20200511061203p:plain
こうすることで、textレイヤーの文字を変更するとtext2の文字も自動的に同じものに変わってくれるというわけです。


では、これをモーショングラフィックステンプレートとして
premiereでテロップとして使いまわせるようにしたい、としたときに
文字の変更であれば以下のように変更できるのですが
f:id:nachizail:20200511062017p:plain

文字サイズ、フォントを変更してみると
f:id:nachizail:20200511062659p:plain
f:id:nachizail:20200511062732p:plain
このように、text2のレイヤーに変更が適用されません。

これは困ったな、ということでAdobe公式のヘルプを参考に
この問題を解決するエクスプレッションを書いてみました。
helpx.adobe.com

text2レイヤーのソーステキストのエクスプレッションに以下のコードを書きます。

var x = text.sourceText.createStyle();
fS = thisComp.layer("text").text.sourceText.style.fontSize;
var y = x.setFontSize(fS);
text.sourceText.style.setFontSize(fS);
f=thisComp.layer("text").text.sourceText.style.font;
text.sourceText.style.setFont(f);
var z = y.setFont(f);

honbun = thisComp.layer("text").text.sourceText

var u = z.setText(honbun);
u

空のスタイルを作成し、そこにtextレイヤーの情報を順番に入れています。

実行結果↓
f:id:nachizail:20200511063837p:plain




このモーショングラフィックスの完成品ファイルをpixivファンボックスで公開しています。
トラッキング、歪み等も変更できます。
nachizail.fanbox.cc