Amazonで商品を見るセール会場へ

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

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

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

実機確認日:2026年10月14日。

Windows 11 Pro(10.0.26200)・After Effects 26.5(Build 89)の日本語UIで検証しました。

掲載した2つの式をAEへ設定し、8種類のコンポ名で文字と素材時刻を確認しました。

素材24fpsとコンポ30fpsを分け、AEから保存したPNGでも表示結果を確認しています。

番号の範囲外では、文字は空欄、連番画像は最後のフレームになります。

一方、番号なしや「_02」は形式不一致です。

画像の式は元のタイムリマップ値を返すため、同じ扱いではありません。

目次

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

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

テキストレイヤーの「テキスト→ソーステキスト」を開き、Altを押しながらストップウォッチをクリックして式を入力します。

最後の文字列を返す式で、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などを実行しようとしてエラーになります。

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

撮影した練習例です。

コンポジション名の末尾の数字で、表示するテキストが変わる画面です。

コンポジション名が「NameNumberDemo_02」のとき、テキストレイヤー「CompNameNumber17771」には、「NUMBER 2」と表示されました。

After Effectsのコンポ名末尾02からテキストNUMBER 2を表示した画面
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

コンポジション名の末尾を「_03」に変えると、表示は「NUMBER 3」になりました。

After Effectsのコンポ名末尾を03へ変更し、テキストがNUMBER 3へ更新された画面
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

この例は、本文の例とは、名前も文章も違います。

また、撮影した例の末尾は、0を付けた2桁の「_02」「_03」でした。

本文の式は、0を付けない「_2」「_3」の形の番号だけを数えます。

「_02」のように0から始まる末尾は、本文の式では空文字になります。

本文の式を使うときは、コンポジション名の末尾を「_2」のようにしてください。

スポンサーリンク

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

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

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

連番レイヤーを選択し、「レイヤー→時間→タイムリマップ使用可能」にします。

Altを押しながらタイムリマップのストップウォッチをクリックして、次の式を貼ります。

3秒間表示したい場合は、タイムリマップを有効にした後でレイヤーのアウト点も3秒まで延ばしてください。

式だけでは、レイヤーが表示される期間は延びません。

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

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を返す

本文の式を実機で確認した結果

検証用に数字1・2・3を描いた480×270のPNGをframe_001.png〜frame_003.pngとして用意しました。

先頭ファイルを連番として読み込み、プロジェクトパネルの「フッテージを変換→メイン」でフレームレートを24に指定します。

コンポは960×540、30fps、3秒です。

素材の長さは3/24秒(0.125秒)でした。

連番レイヤーのアウト点を3秒に延ばし、上の2式を変更せず設定しました。

コンポ名だけを順番に変更した結果は次のとおりです。

全8ケースで式のエラーはありませんでした。

コンポ名文字の実測タイムリマップの実測
コンポ_1おはよう0秒/画像1
コンポ_2こんにちは0.041666…秒/画像2
背景_コンポ_3おやすみ0.083333…秒/画像3
コンポ_4・コンポ_99空文字0.083333…秒/画像3
コンポ・コンポ_0・コンポ_02空文字元の値:時刻0では0秒、時刻1秒では0.125秒

「背景_コンポ_3」では、数字3の画像と「おやすみ」を表示できました。

時刻0と1秒で保存したPNGも同一です。

下の画像はそのAE画面です。

上に素材の24fps、下にコンポの30fpsが表示されています。

既存の「NameNumberDemo_02/_03」の画像とは異なり、本文の式そのものを使っています。

本文の式により背景_コンポ_3で画像3とおやすみを表示したAE画面
本文の2式をそのまま使用。素材24fps・コンポ30fpsで、末尾3から画像3とおやすみを表示。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

「コンポ_4」「コンポ_99」の画像が3になるのは、末尾番号が読めた後で素材の枚数へ制限するためです。

「コンポ」「コンポ_0」「コンポ_02」は番号として読めず、元のタイムリマップのキーが使われます。

今回の素材では時刻0に画像1、時刻1秒に画像3が表示されました。

「番号なしなら画像1に固定」とは考えないでください。

式を無効にすると、テキストは式を入れる前の「元の文字」へ戻り、時刻0のタイムリマップは0秒になりました。

再び有効にすると「おやすみ」と0.083333…秒へ戻りました。

式の切替と、コンポ名や素材の解釈を元へ戻す操作は別です。

検証用プロジェクトを自動作成して開く際に、AEの内部確認エラー「no current context」が1度出ました。

警告を閉じた後に上記の評価とPNG保存を実施しています。

警告の原因は特定できていません。

今回確認したのはこのバージョンのPNG連番で、動画素材や別バージョンの挙動は未検証です。

エラー・戻し方

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

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

途中で消える場合は、連番レイヤーのアウト点が表示したい時刻まで延びているかも確認してください。

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

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

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

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

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

参照資料

Adobe公式の式リファレンスでは、framesToTimeの省略時fpsはコンポのフレームレート、フッテージのframeDurationは素材1フレームの秒数と定義されています。

素材とコンポでfpsが異なる今回の例では、素材のframeDurationを使って選ぶフレームを決めています。

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

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

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

スポンサーリンク

よくある質問:After Effectsでコンポ名の番号でテキストや画像を切り替えるとき

コンポ名の番号で、テキストや画像を切り替えられますか?

切り替えられます。

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

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

テキストを切り替える式は、どこに貼りますか?

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

テキストレイヤーの「テキスト→ソーステキスト」を開き、Altを押しながらストップウォッチをクリックして式を入力します。

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

どんな名前だと、文字が空になりますか?

記事の確認例では、「コンポ_1」は「おはよう」(配列の1番目)、「背景_コンポ_3」は「おやすみ」(末尾だけ参照)になり、「コンポ_4」「コンポ」「コンポ_0」は空文字になります(範囲外と形式違い)。

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

旧式の式は、何が問題でしたか?

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

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

連番画像を番号で選ぶには?

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

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

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

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

番号と素材時刻の関係を教えてください。

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

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

枚数を超える番号(例:コンポ_99、3枚の素材)は、最後の有効フレームへ制限します。

番号がないときは、式を入れる前の値(value)を返します。

文字が空になるときや、画像が違うときは?

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

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

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

元に戻すには、また、確認範囲は?

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

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

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

2026年10月14日にWindows 11 Pro・AE 26.5(Build 89)で8種類のコンポ名を検証し、本文の2式による文字・PNG連番の表示と式の無効化/再有効化を確認しました。

動画素材や別バージョンは未検証です。

既存GitHubの参考コードは旧式の場合があるため、この本文の式を使ってください。

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

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

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

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

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次