楽天セール開催中!ポイント最大11倍!セール会場へ

After Effectsでコンポ名の末尾番号を参照する|文字・連番画像

コンポ名の末尾に_1・_2・_3を付け、対応する文章や連番画像を選びます。

「背景_コンポ_3」のように途中にアンダースコアがあっても、末尾番号だけを参照します。

最終調査日:2026年10月3日。

仮の入力値と構文をローカルで確認しています。

今回AE本体での表示・レンダリング確認は行っていません。

目次

ソーステキストを名前の番号で切り替える

練習コンポ名を「コンポ_1」にし、テキストの「ソーステキスト」に次の式を貼ります。

最後の文字列を返す式で、sourceTextプロパティへ代入しません。

var choices = ["おはよう", "こんにちは", "おやすみ"];
var match = thisComp.name.match(/_([1-9][0-9]*)$/);
var number = match ? Number(match[1]) : 0;
(number >= 1 && number <= choices.length) ? choices[number - 1] : "";
入力・条件期待する結果確認点
コンポ_1おはよう配列の1番目
背景_コンポ_3おやすみ末尾だけ参照
コンポ_4・コンポ・コンポ_0空文字範囲外と形式違い

choicesへ文章を追加すると、その配列の数まで番号を使えます。

複製したコンポの名前は確認し、必要な末尾番号へ手動で変更します。

旧式のevalは、存在しないtext4などを実行しようとしてエラーになります。

修正版は配列の範囲を確認して取り出します。

1から数えた連番画像を選ぶ

番号1・2・3と読める練習画像を3枚用意し、連番として読み込みます。

素材の解釈は24fps、練習コンポは30fpsにします。

連番レイヤーのタイムリマップを有効にし、タイムリマップへ次の式を貼ります。

動画や連番の読み込みが前提で、通常の静止画レイヤーには使いません。

var match = thisComp.name.match(/_([1-9][0-9]*)$/);
var number = match ? Number(match[1]) : 0;
var step = thisLayer.source.frameDuration;
var frames = Math.floor(thisLayer.source.duration / step + 0.000001);
var result = value;
if (number >= 1 && isFinite(step) && step > 0 && frames >= 1) {
    result = (Math.min(number, frames) - 1) * step;
}
result;

番号1は素材時刻0、番号3は素材時刻2/24秒です。

fpsを省略したframesToTimeはコンポ基準になるため、この式は素材自身のframeDurationを使います。

入力・条件期待する結果確認点
コンポ_1/素材24fps素材時刻01枚目
コンポ_3/素材24fps素材時刻0.083333…秒3枚目
コンポ_99/3枚の素材素材時刻0.083333…秒最後の有効フレームへ制限
番号なし式を入れる前の値valueを返す

エラー・戻し方

文字が空なら末尾番号と配列の件数を確認します。

画像が違う場合は素材を開き、解釈したfps・枚数・読み込み順を確認します。

変更前にコンポと素材設定を保管します。

戻すときは式をオフにし、元のソーステキストやタイムリマップのキーを使います。

素材の解釈を変更した場合は元の設定へ戻します。

既存GitHubの参考コードは旧式の場合があります。

今回の修正版はこの本文の式を使います。

参照資料

Adobeの時間変換・素材参照資料を参照しています。

関連記事・既存の参考資料

同じ区画の関連記事です。

各記事の貼付先と確認範囲を確認して使います。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次