ソーステキスト用のエクスプレッションを記述する

エクスプレッションでは、テキストレイヤーの「ソーステキスト」プロパティが JavaScript の String オブジェクトとして扱われます。ピックウイップを使用して別のテキストレイヤーからソーステキストを取得することはできますが、この場合はエクスプレッションを加えたレイヤーの先頭文字のスタイルが全文に適用されます。

JavaScript String オブジェクトについて詳しくは、JavaScript の関連文書を参照してください。

文字列エクスプレッションでは「¥r」を使用してテキストで新しい行を開始できます。例えば、レイヤー上のテキストをコピーし、すべて大文字に変換してから同じレイヤー上の次の行に追加するには、次のようにエクスプレッションを記述します。

  text.sourceText + "\r" + text.sourceText.toUpperCase()

コンポジションにテキストレイヤーを追加し、その「ソーステキスト」プロパティにエクスプレッションを追加すると、他のレイヤーのプロパティ値が確認できて便利です。例えば、「ソーステキスト」プロパティに次のエクスプレッションを記述すると、すぐ次のレイヤーの「不透明度」プロパティの名前と値が表示されます。

  thisComp.layer(index + 1).name + "\rOpacity = " + thisComp.layer(index + 1).opacity.value

以下の例では、現在の時間でビデオスイッチがオンになっている一番上のビデオレイヤーの名前、あるいは、そのレイヤーがソースも持つ場合はソースフッテージの名前が表示されます。

  source_footage_name = ""; 
  for (i = 1; i <= thisComp.numLayers; i++){ 
      if (i == index) continue; 
      my_layer = thisComp.layer(i); 
      if (! (my_layer.hasVideo && my_layer.active)) continue; 
      if (time >= my_layer.inPoint && time < my_layer.outPoint){ 
          try{ 
              source_footage_name = my_layer.source.name; 
          }catch(err1){ 
              source_footage_name = my_layer.name 
          } 
          break; 
      } 
  } 
  source_footage_name