マニュアル キャンセル

エクスプレッションを使用したテキストプロパティの編集とアクセス

  1. After Effects ユーザガイド
  2. ベータ版のリリース
    1. ベータ版プログラムの概要
    2. After Effects ベータ版ホーム
    3. ベータ版の機能
      1. プロパティパネル(ベータ版)
      2. エフェクトマネージャー(ベータ版)
      3. 環境設定での起動と修復(ベータ版)
      4. 3D モデルの読み込み(ベータ版)
  3. はじめに
    1. After Effects の概要
    2. After Effects の新機能
    3. リリースノート | After Effects
    4. After Effects の必要システム構成
    5. After Effects のキーボードショートカット
    6. サポートされているファイル形式 | After Effects
    7. ハードウェアに関する推奨事項
    8. Apple シリコン対応の After Effects
    9. 計画と設定
  4. Workspaces
    1. 一般ユーザーインターフェイスアイテム
    2. After Effects インターフェイスについて
    3. ワークフロー
    4. Workspaces、パネルおよびビューア
  5. プロジェクトとコンポジション
    1. プロジェクト
    2. コンポジションの基本
    3. プリコンポーズ、ネスト化およびプリレンダリング
    4. コンポジションプロファイラーを使用した詳細なパフォーマンス情報の表示
    5. CINEMA 4D コンポジションレンダラー
  6. フッテージの読み込み
    1. 静止画の準備と読み込み
    2. After Effects および Adobe Premiere Pro の読み込み
    3. ビデオとオーディオの読み込みと変換
    4. 3D イメージファイルの準備と読み込み
    5. フッテージアイテムの読み込みと変換
    6. フッテージアイテムでの作業
    7. シーン編集の検出を使用した編集ポイントの削除
    8. XMP メタデータ
  7. テキストとグラフィック
    1. テキスト
      1. 文字の書式設定と文字パネル
      2. テキストエフェクト
      3. テキストレイヤーの作成と編集
      4. 段落の書式設定と段落パネル
      5. テキストレイヤーとシェイプレイヤーの押し出し
      6. テキストのアニメーション化
      7. テキストアニメーションのサンプルとリソース
      8. Live Text テンプレート
    2. モーショングラフィック
      1. After Effects でのモーショングラフィックステンプレートの操作
      2. エクスプレッションを使用した、モーショングラフィックステンプレートのドロップダウンリストの作成
      3. エッセンシャルプロパティを使用したモーショングラフィックステンプレートの作成
      4. モーショングラフィックステンプレートおよびエッセンシャルプロパティでの画像とビデオの置き換え
  8. 描画、ペイント、パス
    1. シェイプレイヤー、パス、ベクトルグラフィックの概要
    2. ペイントツール:ブラシ、コピースタンプおよび消しゴム
    3. テーパシェイプストローク
    4. シェイプレイヤーのシェイプ属性、ペイント操作およびパス操作
    5. 「パスのオフセット」シェイプエフェクトを使用したシェイプの変更
    6. シェイプの作成
    7. マスクを作成
    8. コンテンツに応じた塗りつぶしパネルを使用したビデオからのオブジェクトの削除
    9. ロトブラシとマットを調整
  9. レイヤー、マーカー、カメラ
    1. レイヤーの選択と配置
    2. 描画モードとレイヤースタイル
    3. 3D レイヤー
    4. レイヤープロパティ
    5. レイヤーの作成
    6. レイヤーの管理
    7. レイヤーマーカーとコンポジションマーカー
    8. カメラ、ライト、目標点
  10. アニメーション、キーフレーム、モーショントラッキング、キーイング
    1. アニメーション
      1. アニメーションの基本
      2. パペットツールを使用したアニメーション化
      3. シェイプパスとマスクの管理とアニメーション化
      4. After Effects を使用した Sketch と Capture シェイプのアニメーション化
      5. 多彩なアニメーションツール
      6. データ駆動型アニメーションの操作
    2. キーフレーム
      1. キーフレーム補間法
      2. キーフレームの設定、選択および削除
      3. キーフレームの編集、移動、コピー
    3. モーショントラッキング
      1. モーションのトラッキングとスタビライズ
      2. 顔のトラッキング
      3. マスクのトラッキング
      4. マスク参照
      5. 速度
      6. 時間伸縮とタイムリマップ
      7. タイムコードと時間の表示単位
    4. キーイング
      1. キーイング
      2. キーイングエフェクト
  11. 透明度と合成
    1. 合成と透明化の概要とリソース
    2. アルファチャンネルおよびマット
    3. トラックマットとトラベリングマット
  12. カラーの調整
    1. カラーの基本
    2. カラーマネジメント
    3. 色調補正エフェクト
    4. OpenColorIO および ACES のカラーマネジメント
  13. エフェクトおよびアニメーションプリセット
    1. エフェクトおよびアニメーションプリセットの概要
    2. エフェクトリスト
    3. シミュレーションエフェクト
    4. スタイライズエフェクト
    5. オーディオエフェクト
    6. ディストーションエフェクト
    7. 遠近エフェクト
    8. チャンネルエフェクト
    9. エフェクトの生成
    10. トランジションエフェクト
    11. ローリングシャッターの修復エフェクト
    12. ブラー&シャープエフェクト
    13. 3D チャンネルエフェクト
    14. ユーティリティエフェクト
    15. マットエフェクト
    16. ノイズ&グレインエフェクト
    17. 「詳細を維持しながらアップスケール」エフェクト
    18. 旧バージョンエフェクト
  14. エクスプレッションと自動化
    1. エクスプレッション
      1. エクスプレッションの基本
      2. エクスプレッション言語について
      3. エクスプレッション制御の使用
      4. JavaScript と以前の ExtendScript のエクスプレッションエンジンの構文の違い
      5. エクスプレッションの編集
      6. エクスプレッションエラー
      7. エクスプレッションエディターの使用
      8. エクスプレッションを使用したテキストプロパティの編集とアクセス
      9. エクスプレッション言語リファレンス
      10. エクスプレッションの例
    2. 自動化
      1. 自動化
      2. スクリプト
  15. イマーシブビデオ、VR、3D
    1. After Effects での VR 環境の作成
    2. イマーシブビデオエフェクトの適用
    3. VR/360 度ビデオの合成ツール
    4. 3D カメラの移動のトラッキング
    5. 3D デザインスペースでの作業
    6. 3D 変形ギズモ
    7. 3D アニメーションによるその他の操作
    8. Mercury 3D エンジンを使用した、3D デザインへのリアルタイムのプレビュー変更
    9. グラフィックへのレスポンシブデザインの追加
  16. ビューとプレビュー
    1. プレビュー
    2. Mercury Transmit を使用したビデオプレビュー
    3. ビューの変更と使用
  17. レンダリングと書き出し
    1. レンダリングと書き出しの基本
    2. After Effects の H.264 エンコード
    3. After Effects プロジェクトを Adobe Premiere Pro プロジェクトとして書き出し
    4. ムービーの変換
    5. マルチフレームレンダリング
    6. 自動レンダリングとネットワークレンダリング
    7. 静止画および静止画シーケンスのレンダリングと書き出し
    8. After Effects での GoPro CineForm コーデックの使用
  18. その他のアプリケーションの使用
    1. Dynamic Link と After Effects
    2. After Effects およびその他のアプリケーションの使用
    3. After Effects の設定の同期
    4. After Effects の Creative Cloud ライブラリ
    5. プラグイン
    6. Cinema 4D と Cineware
  19. 共同作業:Frame.io と Team Projects
    1. Premiere Pro と After Effects での共同作業
    2. Frame.io
      1. Frame.io のインストールとライセンス認証
      2. Premiere Pro および After Effects での Frame.io の使用
      3. よくある質問
    3. Team Projects
      1. Team Projects の概要
      2. チームプロジェクトの作成
      3. Team Projects を使用した共同作業
  20. メモリ、ストレージおよびパフォーマンス
    1. メモリとストレージ
    2. プレビュー時のメモリ不足の問題に対する After Effects の処理    
    3. 処理速度の向上
    4. 環境設定
    5. After Effects の GPU および GPU ドライバーの要件
  21. ナレッジベース
    1. 既知の問題
    2. 修正された問題
    3. After Effects および macOS Ventura
    4. プレビュー時のメモリ不足の問題に対する After Effects の処理

エクスプレッション制御を使用したテキストスタイルおよびテキストプロパティの編集。

エクスプレッションを使用して、任意のテキストエクスプレッションまたはモーショングラフィックステンプレートのテキストスタイル設定を制御します。 エクスプレッションを使用して、次の操作を行うことができます。

  • 複数のタイトルをリンクし、それらのスタイルを一度に更新する(タイトルをデザインする場合に便利です)。
  • フォント、サイズ、スタイルを複数のテキストレイヤーにわたって同期させておく。
  • テキストプロパティのグローバル変更を行う。

これをテキストレイヤーに設定した後は、そのレイヤーのプロパティを参照して、コンポジション全体に簡単に変更を適用できます。

After Effects では、「get」および「set」関数を使用して、テキストプロパティの値をエクスプレッションエンジンに対して読み書きできます。 エクスプレッションを使用して、テキストレイヤーをまたいでテキストプロパティなどのフォントスタイルを設定します。

テキストプロパティのこれらの機能にアクセスするには:

  1. テキストレイヤーの「ソーステキスト」プロパティにエクスプレッションを追加します。 詳しくは、エクスプレッションの基本を参照してください。
  2. エクスプレッション言語ポップアップメニューから、テキスト/プロパティ/プロパティを選択します。

エクスプレッションをプリセットとして保存

エクスプレッションが追加されているソーステキストプロパティを選択します。次に、アニメーション/アニメーションプリセットを保存を選択して、他のプロジェクトでエクスプレッションを再利用します。アニメーションプリセットは、「エフェクト&プリセット」パネルに保存されます。

詳しくは、エフェクトおよびアニメーションプリセットの概要を参照してください。

PostScript フォントエクスプレッションメニュー

エクスプレッションでフォントを参照する場合は、特殊な「システム名」(または同様のもの)を使用する必要があります。エクスプレッションエラーを防ぐには、テキスト/フォント/フォントを選択ダイアログからこの特殊な名前を挿入することをお勧めします。

  • エクスプレッション言語のポップアップメニューを開き、 テキスト/フォントを選択します。これによりダイアログが表示されるので、エクスプレッションに挿入する書体やフォントをドロップダウンメニューから選択できます。
フォントメニュー

フォントの同期

エクスプレッションエディターで参照されているだけのフォントは、プロジェクトで使用されているフォントとして記録されません。 エクスプレッションエディターで参照されているすべてのフォントが自動的に同期される、またはフォントを解決ダイアログに表示されるようにするには、レイヤーのソースが非表示の場合でも、そのレイヤー上でそれらのフォントをすべて使用してください。

使用されているフォント

スタイルオブジェクト

テキストレイヤーのスタイルプロパティはすべて style オブジェクトに存在します。このオブジェクトには、ソーステキストプロパティで次のようにしてアクセスします。

// ソーステキストプロパティへのパス全体を使用します text.sourceText.style // 現在のプロパティの汎用名を使用します thisProperty.style 

スタイルを単独で使用することは、上記の 2 つの例のいずれかを使用したのと同じですが、複数のテキストレイヤーのスタイル属性が組み合わされる場合は紛らわしい可能性があります。

他のテキストレイヤーのスタイル属性も読み取ることができます。 ピックウイップを使用して、上記の最初の例の先頭に、他のテキストレイヤーへのリンクを作成します。

// 特定のテキストレイヤーのスタイルオブジェクトにアクセスします thisComp.layer(“Other Layer Name”).text.sourceText.style;

使用可能なテキスト属性

スタイルオブジェクトを使用して、次のテキストスタイル属性を読み取りおよび設定できます。

  • フォント
  • フォントサイズ
  • 太字
  • 斜体
  • オールキャップス
  • スモールキャップス
  • 字送り
  • 行送り
  • 自動行送り
  • ベースラインシフト
  • 塗り(有効/無効)
  • 塗りのカラー
  • 線(有効/無効)
  • 線のカラー
  • 線幅

テキストレイヤーのソーステキストプロパティは、エクスプレッションで JavaScript 文字列として扱われます。テキスト自体は、sourceText で読み取ることができますが、スタイル属性が変更される場合は、setText メソッドを使用してスタイルオブジェクトに設定する必要があります。 以下のを参照してください。

スタイルとソーステキストの組み合わせ

テキストとスタイル
スタイルとソーステキストの組み合わせ

スタイルと実際のソーステキストの両方の値を返すには、getStyleAt 関数と setText 関数を組み合わせる必要があります。この式を記述する方法の例を 2 つ、次に示します。

// スタイルと実際のソーステキストの両方の値を一度に返します(簡易版)var sourceTextProperty = thisComp.layer(“MAIN TEXT”).text.sourceText; var newStyle = sourceTextProperty.getStyleAt(0,0); newStyle.setText(sourceTextProperty);
// レイヤーの重なり順で前に位置するレイヤーのスタイルと実際のソーステキストの両方の値を返します var sourceTextProperty = thisComp.layer(index - 1).text.sourceText; var newStyle = sourceTextProperty.getStyleAt(0,0); newStyle.setText(sourceTextProperty);
フォントのドロップダウン
ドロップダウンメニューへのフォントまたはスタイルのリンク

ドロップダウンメニューを使用すると、テキストレイヤーを特定のフォントにロックするなど、テキストスタイルを制御できます。これは、ブランドガイドライン、テンプレート、MoGRTS などに役立ちます。

// ドロップダウンメニューコントロールを使用して、テキストレイヤーを特定のフォントにロックします var dropDownMenu = thisComp.layer(“LayerName”).effect(“Dropdown Menu Control”)(“Menu”); switch (dropDownMenu.value) { case 1 : text.sourceText.style.setFont(“Georgia”); break; case 2 : text.sourceText.style.setFont(“Impact”); break; default : text.sourceText.style.setFont(“Tahoma”); }

メインテキストレイヤー

マスターテキストレイヤー
「テキストレイヤー1」からテキストプロパティを取得します。ただし、フォントサイズと塗りのカラーはオーバーライドされます。

複数のテキストレイヤーをメインのフォントコントローラーにリンクして、一度に複数のレイヤーのテキストスタイルを制御できます。 2 つのテキストレイヤーを作成し、その中の 1 つのソーステキストに次のエクスプレッションをペーストします。

// テキストレイヤーからすべてのテキストプロパティを取得します thisComp.layer(“Text Layer 1”).text.sourceText.style;

テキストレイヤーからスタイルを取得しつつも、set 関数で値を追加することで特定のテキストプロパティをオーバーライドすることができます。 塗りのカラーとフォントサイズを使った 2 つの例を次に示します。

// 「Text Layer 1」からすべてのテキストプロパティを取得しますが、ハードコードされた値で塗りのカラーとフォントサイズをオーバーライドします var newStyle = thisComp.layer(“Text Layer 1”).text.sourceText.style; newStyle.setFillColor(hexToRgb(“FF0000”)).setFontSize(100);
// 「Text Layer 1」からすべてのテキストプロパティを取得しますが、レイヤーの現在のテキストプロパティで塗りのカラーとフォントサイズをオーバーライドします var newStyle = thisComp.layer(“Text Layer 1”).text.sourceText.style; var currentFillColor = thisProperty.style.fillColor; var currentFontSize = thisProperty.style.fontSize; newStyle.setFillColor(currentFillColor).setFontSize(currentFontSize);

以下に、エクスプレッションでテキストプロパティ値にアクセスして使用する方法の例を示します。

フォント

次の例は、テキストレイヤーのフォント、フォントサイズ、太字、斜体、字送り、行送りにアクセスする方法を示しています。

// テキストレイヤー自体のフォントの名前を返します text.sourceText.style.font; // 別のテキストレイヤーが使用しているフォントの名前を返します var otherLayer = thisComp.layer(“Other Layer Name”); otherLayer.text.sourceText.style.font; // テキストレイヤー自体のフォントサイズの値を返します text.sourceText.style.fontSize; // 別のテキストレイヤーのフォントサイズの値を返します var otherLayer = thisComp.layer(“Other Layer Name”); otherLayer.text.sourceText.style.fontSize; // レイヤーのテキストが太字かどうかを示すブール値(True または False)を返します text.sourceText.style.isFauxBold; // レイヤーのテキストが斜体かどうかを示すブール値(True または False)を返します text.sourceText.style.isFauxItalic; // テキストレイヤーの字送りの値を数値で返します text.sourceText.style.tracking; // テキストレイヤーの行送りの値を数値で返します text.sourceText.style.leading;

塗り

次の例では、テキストレイヤーの塗りと塗りのカラーへのアクセス方法を示しています。

// レイヤーのテキストに塗りが適用されているかどうかを示すブール値(True または False)を返します text.sourceText.style.applyFill; // テキストレイヤーの塗りのカラー値を返します // 初期設定では、0〜1.0 のスケールで表した RGB 値の配列を返します text.sourceText.style.fillColor; // setApplyFill と setFillColor を使用してテキストレイヤーの塗りのカラーを設定します // setFillColor 値は、0〜1.0 のスケールの RGB 配列として定義されます var newStyle = style.setApplyFill(true); newStyle.setFillColor([1.0, 1.0, 1.0]); // 0〜1.0 の RGB 配列を、16 進値でカラー値を定義する hexToRgb に置き換えて、テキストレイヤーの塗りのカラーを設定します var newStyle = style.setApplyFill(true); newStyle.setFillColor(hexToRgb(“FFFFFF”));
注意:

テキストレイヤーの塗りのカラーの R、G、B 値を返すには、それぞれ 0、1、または 2 を角括弧で囲んで追加します。

// 塗りのカラーの赤(R)の値を返します text.sourceText.style.fillColor[0];

次の例は、テキストレイヤーの線、線のカラー、線幅にアクセスする方法を示しています。

// レイヤーのテキストに線が適用されているかどうかを示すブール値(True または False)を返します text.sourceText.style.applyStroke; // テキストレイヤーの線のカラー値を返します // 初期設定では、これは 0〜1.0 のスケールで表した RGB 値の配列を返します text.sourceText.style.strokeColor; // setApplyStroke と setStrokeColor を使用してテキストレイヤーの線のカラーを設定します // setStrokeColor 値は、0〜1.0 のスケールの RGB 配列として定義されます var newStyle = style.setApplyStroke(true); newStyle.setStrokeColor([1.0, 0.0, 0.0]); // 0〜1.0 の RGB 配列を、16 進値でカラー値を定義する hexToRgb に置き換えて、テキストレイヤーの線のカラーを設定します var newStyle = style.setApplyStroke(true); newStyle.setStrokeColor(hexToRgb(“FF0000”)); // テキストレイヤーの線幅の値を数値として返します text.sourceText.style.strokeWidth;
注意:

テキストレイヤーの R、G、B の線のカラー値を返すには、それぞれ 0、1、2 を角括弧で囲んで追加します。

// 線のカラーの緑(G)の値を返すには text.sourceText.style.strokeColor[1];

取得関数

特定の時間における特定の文字のスタイル値を返すには、この「get」関数を使用します。 「index」には、スタイルが必要な文字のインデックスである数値を指定する必要があります。「atTime」も数値を指定する必要があります。これは、スタイルがキーフレーム化され、時間的に変化する場合に、スタイルを取得するコンポジション内の時間を表します。

text.sourceText.getStyleAt(index, atTime);
注意:

text.sourceText.style を使用することは、text.sourceText.getStyleAt(0,0) を使用することと同じです。

// タイムラインの先頭にある最初の文字のスタイルを取得します  text.sourceText.getStyleAt(0,0);

設定関数

個別に使用または互いに組み合わせて使用して、レイヤー全体にスタイルを適用できる追加の「set」関数。これらの関数は、それぞれソーステキストプロパティの style オブジェクトに対して呼び出されます。

// 使用するフォントを Arial に設定します style.setFont(“ArialMT”) // フォントサイズを 80 に設定します style.setFontSize(80); // ブール値で太字を有効にします style.setFauxBold(true) // ブール値で斜体を有効にします style.setFauxItalics(true) // ブール値でオールキャップスを有効にします style.setAllCaps(true) // ブール値でスモールキャップスを有効にします style.setSmallCaps(true) // トラッキングを数値として設定します style.setTracking(10); // 行送りを数値として設定します style.setLeading(10); // ブール値で自動行送りを有効にします style.setAutoLeading(true); // ベースラインシフトを数値として設定します style.setBaselineShift(10); // 線の幅を数値として設定します style.setStrokeWidth(10); 

次の例に示すように、テキストスタイルのすべての set 関数をつなげて使用すれば、毎回新しいスタイルを宣言しなくても、複数の属性を簡単に設定することができます。

注意:

最後の属性が設定されるまで、セミコロンは使用されません。属性ごとに別個の行に記述すると、チェーン全体が読みやすくなります。

// 塗りを有効にし、塗りの色を設定し、ベースラインを設定し、トラッキングを設定し、自動行送りを有効にします text.sourceText.style .setApplyFill(true) .setFillColor(hexToRgb(“FFFFFF”)) .setBaselineShift(10) .setTracking(25) .setAutoLeading(true);

段落テキストエクスプレッションのヒント

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

  text.sourceText + “\r” + text.sourceText.toUpperCase()

ソーステキストに対するエクスプレッションのその他の使用法

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

var nextLayer = thisComp.layer(index + 1); nextLayer.name + “\rOpacity = ” + nextLayer.opacity.value; 

以下の例では、ビデオスイッチが設定されている現時点で最上位の画像レイヤーのソースとして使用されているフッテージアイテムの名前が表示されます。

// sourceFootageName を空白の文字列として作成します var sourceFootageName = “”; // コンポジション内のすべてのレイヤーをループ処理します for (var i = 1; i <= thisCompumLayers; i++) { // このレイヤーのインデックスと一致する場合は、次のループに進みます if (i == index) { continue; } // ループの現在の反復に myLayer を設定します var myLayer = thisCompayer(i // myLayer にビデオがないかアクティブでない場合は、次のループ/レイヤーに進みます if ( !myLayerasVideo || !myLayerctive ) { continue; } // myLayer が現時点でアクティブな場合 if ( myLayerctive ) { try { // sourceFootageName を myLayer のソース名に設定します sourceFootageName = myLayerourceame; } catch ( err ) { // myLayerにソースがない場合、// sourceFootageName を myLayer の名前に設定します sourceFootageName = myLayerame; } // ループを停止します break; } } // sourceFootageName を表示します sourceFootageName;

その他のエクスプレッション関連リソース

ここまでで、エクスプレッションの背景となる概念を理解したので、今度はコミュニティで実例を参考にしたり、自分の作品を共有したりしてください。

テキストスタイルのエクスプレッションとドロップダウンの使用方法の詳細については、Adobe Blog ポスト After Effects 2020: Express Yourself (and Your Text) を参照してください。

また、MotionScript Web サイトで、Dan Ebbert の優れたエクスプレッションの事例コレクションとチュートリアルを確認することもできます。

AE Enhancers フォーラムには、エクスプレッションの多くの例や情報、スクリプトやアニメーションプリセットも公開されています。

アドビのロゴ

アカウントにログイン