Skip to main content
Participating Frequently
December 23, 2022
質問

テキストレイヤーのエクスプレッションについて

  • December 23, 2022
  • 返信数 1.
  • 302 ビュー

例えば、
テキストレイヤーAにはエクスプレッションを使わずに
テキストレイヤーBのエクスプレッションを使って
テキストレイヤーAに

テキストレイヤーBのエクスプレッションで指定した

テキストを表示させることはできますでしょうか?

    このトピックへの返信は締め切られました。

    返信数 1

    Community Expert
    December 23, 2022

    具体的な使用例があれば適切な回答ができると思いますが、

    テキストの文字列をコピーするなら、ソーステキストをリンクさせれば出来ます。

    Participating Frequently
    December 23, 2022

    ご回答ありがとうございます。
    例えば、テキストレイヤーBに下記のエクスプレッションを記述してみたのですが

    txt = thisLayer.text.sourceText;
    style = thisComp.layer("テキストレイヤー A").text.sourceText.style;
    style.setText(txt);

    テキストレイヤー Aの文字がテキストレイヤー Bと同じになりません

    単純にテキストレイヤー Aからピックウィップでリンクさせてしまうと
    テキストレイヤー Aにエクスプレッションが記述されてしまいます

    テキストレイヤー Aにエクスプレッションが記述されていると
    MOGRTで書き出してプレミアで使う際
    パフォーマンスが落ちてしまいます
    もちろんエクスプレッションを記述しているためAeでMOGRTを書き出す際に警告が出て
    テキストの内容自体は変更できないのですが、フォントやフォントサイズは変更できます


    つまりテキストの内容は変えたくない
    しかしフォントやフォントサイズは変更できるようにしたい
    このようなMOGRTファイルを作りたい
    かつパフォーマンスを向上させるため他のレイヤーのエクスプレッションで制御したい
    のです

     

    Community Expert
    December 23, 2022

    下記の記述を試して下さい。

    var sourceTextProperty = thisComp.layer("テキストレイヤー A").text.sourceText; 
    var newStyle = sourceTextProperty.getStyleAt(0,0); 
    newStyle.setText(sourceTextProperty);