テキストレイヤーのソーステキストへtimeToCurrentFormat()を貼ると、現在の表示形式に従う時間表示を作れます。
固定の30をすべてのコンポへ流用せず、コンポのfpsと表示形式を先に確認します。
最終調査日:2026年10月3日。
関数への入力値と構文はローカルで検査しています。
AE本体のタイムコード表示、29.97のドロップフレーム境界、フォントの描画は未確認です。
ソーステキストへ1行の式を貼る
960×540、24fps、開始タイムコード00:00:00:00の練習コンポを作り、テキストレイヤーを追加します。
時間の表示形式をタイムコードにしてから、テキスト→ソーステキストのストップウォッチをAltクリック(MacはOptionクリック)します。
// テキストレイヤーの「ソーステキスト」へ貼付
timeToCurrentFormat();
0秒、1秒、1秒の1フレーム前へ再生ヘッドを移動し、表示が00:00:00:00、00:00:01:00、00:00:00:23となるか確認します。
表示形式をフレーム番号にすると、同じ式でも時間文字列の見え方が変わります。
既定ではコンポの開始時刻も時間へ加えます。
開始タイムコードを01:00:00:00にしたコンポでは、先頭表示にもその開始時刻を反映します。
コンポ先頭を0フレームとして数える
開始タイムコードを加えず、コンポの経過時間からフレーム番号を出したい場合は次の式へ置き換えます。
fpsはframeDurationから取得します。
// コンポ先頭を0とするフレーム番号
timeToFrames(time, 1 / thisComp.frameDuration, false).toString();
| 入力 | 計算上のフレーム番号 | 基準 |
|---|---|---|
| 24fps/time=1秒 | 24 | 開始タイムコードを加えない |
| 30fps/time=1秒 | 30 | 固定30ではなくコンポから取得 |
| レイヤーのIN点を1秒へ移動 | その時点はコンポの1秒 | この式はIN点からの経過ではない |
24fps固定と29.97ドロップフレームを区別する
24fpsコンポで表示基数を24に固定し、先頭からのタイムコードを出したい場合は次の式を使います。
コンポ設定を30fpsへ変えたときも自動で基数30には変わらないため、この式は24fpsの練習用です。
// 24fpsコンポで、コンポ先頭を00:00:00:00にする
timeToTimecode(time, 24, false);
29.97fpsでは、コンポ設定のドロップフレーム表示とプロジェクトの時間表示形式を確認し、最初のtimeToCurrentFormat()で設定に従わせます。
ドロップフレームは番号の数え方で、映像フレームを削除する操作ではありません。
1分、10分の前後で番号が切り替わるかを実機で確認します。
旧式のtimeToTimecode(…, 30, …)へ29.97を入れ替えるだけで、コンポ設定と同じドロップフレーム表示を再現したとは扱いません。
表示できない場合と戻し方
式エラーでは、位置や不透明度ではなくソーステキストへ貼ったかを確認します。
数字だけになる場合は、現在の時間表示形式がフレーム番号になっていないかを確認します。
表示の桁がずれる場合はコンポのfps、開始タイムコード、どの式を使っているかを確認します。
戻すときは式の有効スイッチをOFFにし、元のテキストと時間表示形式を復元します。
旧配布ページと参考動画
次のリンクは従来の配布ページと参考動画です。
配布物の現行内容や購入条件は今回変更していません。
上の1行の式は.jsxの実行やProgram Files配下への配置を必要としません。
参考動画:https://www.youtube.com/embed/xK0knqvi5xI
配布ページ:https://cg-method.booth.pm/items/1072862
仕様の参照:時間変換メソッド、Adobeのタイムコードと時間表示単位。
音声の曲名も表示するときはBGMレイヤー名の表示を参照します。
関連記事と旧配布資料
関連記事は目的に応じて使い分けます。
旧配布コードと、このページの改訂コードは同じものではありません。





