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

After Effects│loopOutの使い方|cycle・pingpong・offset・continueの違い

loopOut は、キーフレームで作った動きを、最後のキーフレームのあとも繰り返すエクスプレッションです。

回り続ける歯車や、点滅し続けるアイコンなど、同じ動きをずっと続けたいときに使います。

  • 基本:プロパティのエクスプレッションに loopOut() と書く
  • 繰り返し方は4種類:cycle・pingpong・offset・continue
  • 最後と1つ前のキーの間を繰り返す:loopOut("cycle", 1)
  • cycle・pingpong・offsetの練習は2キー以上で時間区間を作る

仕様はAdobe公式:エクスプレッション言語リファレンス(2026年10月14日確認)を参照しています。

2026年10月14日、Windows 11 Pro(10.0.26200)、After Effects 26.5(Build 89)日本語版・JavaScriptエンジンで検証しました。回転のキーフレームに4種類の式を適用し、回転値とコンポジションの描画を確認しました。

目次

loopOutの書き方

練習用に960×540・24fps・4秒のコンポジションを作り、横長の平面(例:140×20)を中央へ置きます。レイヤーを選んでRキーで回転を表示し、0秒で0°、1秒で90°のキーを作ります。2つのキーを選択し、右クリックの「キーフレーム補間法」で時間補間をリニアにします。制作中のレイヤーを使う場合は、先にコンポを複製してください。

  1. 繰り返したいプロパティ(回転・位置など)にキーフレームを2つ以上打つ
  2. プロパティ名の左のストップウォッチを Alt(Macは Option)を押しながらクリックする
  3. 表示された入力欄の文字を次の1行に置き換え、欄の外側をクリックして確定する
loopOut()

何も指定しないと、loopOut("cycle") と同じ意味になり、すべてのキーフレームの動きを最初から繰り返します。

繰り返しは、レイヤーの終わり(アウトポイント)まで続きます。

スポンサーリンク

4つの型の違い

// 比較用。4行のうち1行だけを貼る。
loopOut("cycle")
loopOut("pingpong")
loopOut("offset")
loopOut("continue")
型動き方
cycle(初期値)同じ動きを最初から繰り返す
pingpong前向きと後ろ向きを交互に繰り返す
offset繰り返すたびに、最初と最後の差を上乗せしていく
continue繰り返さず、最後のキーフレームの速さのまま動き続ける
Adobe公式「Expression language reference」をもとに作成

同じ動きで比べる

回転に、0秒で0°、1秒で90°の2つのキーフレームを打ち、直線で動かした場合です。

時間cyclepingpongoffsetcontinue
0.5秒45°45°45°45°
1.25秒22.5°67.5°112.5°112.5°
1.5秒45°45°135°135°
1.75秒67.5°22.5°157.5°157.5°
2.25秒22.5°22.5°202.5°202.5°
AE 26.5で回転プロパティを評価した実測値。0秒0°・1秒90°、リニア補間、24fps。

1秒までは、どの型もキーフレームのとおりに動きます(1秒で90°)。

1秒6フレームの回転を比較。cycle22.5度、pingpong67.5度、offsetとcontinue112.5度
960×540・24fps・1秒6フレーム。0秒0°・1秒90°のリニアキーで、左からcycle 22.5°、pingpong 67.5°、offset 112.5°、continue 112.5°。下の文字は各平面の回転値を参照。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

画面は1秒6フレーム(1.25秒)です。左からcycle 22.5°、pingpong 67.5°、offset 112.5°、continue 112.5°。文字の数値は各平面の回転プロパティを参照しています。練習では1枚のレイヤーで式を貼り替えても確認できます。現在時刻へ0:00:01:06を入力し、表の1.25秒の行と照合してください。

そのあと cycle は0°に戻って同じ動きをくり返し、pingpong は90°から0°へ向かって戻ります。

このリニア補間の例では、offsetとcontinueは同じ値になります。補間を変えると同じ結果になるとは限りません。

continueは終端の速度を延長し、offsetは区間の値差を積み重ねます。違いを確かめるため、2キーをベジェ補間、入出速度0°/秒・影響33.333%にしたところ、1.5秒のoffsetは135°、continueは約90.269°でした。continueは90°に完全固定されず、2.25秒では約90.672°となりました。イーズをかければ完全に停止するとは扱わず、終端後の回転値も確認してください。最後で確実に止めたい場合はloopOutを無効にして、元のキーフレームの動きへ戻します。

どれを使うか

  • 点滅や揺れなど、同じ動きをそのまま繰り返す:cycle
  • 行ったり来たりする振り子やまばたき:pingpong
  • 歯車の回転や、階段状に上がる動き:offset
  • 最後の勢いのまま流れていく動き:continue

繰り返す範囲を指定する

2つ目の数字で、最後から何区間を繰り返すかを決められます。

loopOut("cycle", 1)

1なら、最後のキーフレームとその1つ前の間だけを繰り返します。

0(初期値)なら、すべてのキーフレームを繰り返します。

登場の動きのあとに、一部だけを繰り返したいときに使います。

continue には、この2つ目の数字を付けられません。

秒数で指定するloopOutDuration

loopOutDuration("cycle", 1)

こちらは、最後のキーフレームから1秒さかのぼった範囲を繰り返します。AE 26.5で回転に0秒0°・1秒90°・3秒180°のリニアキーを作り、3.5秒を比較しました。loopOut(“cycle”, 1)は最後の1区間(1〜3秒)を使うため112.5°、loopOutDuration(“cycle”, 1)は最後の1秒(2〜3秒)を使うため157.5°でした。数字の1が区間数か秒数かで結果が変わります。

loopInで最初より前も繰り返す

loopIn は、最初のキーフレームより前の時間を繰り返すエクスプレッションです。

レイヤーの始まり(インポイント)から繰り返しが始まります。

キーフレームの前後どちらも繰り返したいときは、2つをつなげて書きます。

var result = value;
if (numKeys >= 2) {
  if (time < key(1).time) result = loopIn("cycle");
  else if (time > key(numKeys).time) result = loopOut("cycle");
}
result;

value は、この式を適用する前のプロパティ値です。

この例は時刻で分岐し、キーより前はloopIn、後はloopOut、キー間は元の値を返します。値の次元を変えず、キーが0個・1個のときも元の値を保ちます。AE 26.5の回転で、キーなしの基礎値30°、1秒に30°の1キーでは、0.5秒と3秒のどちらも30°でした。1秒30°・2秒90°のリニア2キーにすると、0.5秒・1.5秒・2.5秒はいずれも60°になりました。

動きに合わせて型を選ぶ

4つの型で迷ったときは、作りたい動きから逆引きします。

  1. 同じ動きをそのまま繰り返したい(点滅や揺れなど):cycle を選びます。
  2. 行ったり来たりさせたい(振り子やまばたきなど):pingpong を選びます。
  3. 繰り返すたびに値を積み上げたい(歯車の回転や階段状に上がる動きなど):offset を選びます。
  4. 最後の勢いのまま流れ続けたい:continue を選びます。
  5. 最初のキーより前も繰り返したい:loopIn を使います。
  6. 繰り返す範囲を秒数で指定したい:loopOutDuration を使います。

動かないときは、次の「loopOutが効かないとき」の項目を上から確認してください。

loopOutが効かないとき

  • cycleなどの区間を繰り返したいのにキーが1つしかない。練習では2つ以上を用意する
  • ソーステキスト、シェイプのパス、レベル補正のヒストグラムなど、数値で表せないプロパティに書いている
  • 型名の引用符・つづり、式エラーの内容を確認する。この記事では公式表記の”pingpong”を使う
  • レイヤーの終わり(アウトポイント)が、最後のキーフレームのすぐ後ろで切れている

数値が大きすぎる区間の指定は、使える最大の範囲に切り詰められます。

ウィグルをループさせたいときは loopOut では足りないので、After Effectsのウィグルをループさせるエクスプレッションで紹介している方法を使います。

コンポジション全体を繰り返したいときは、After Effectsのコンポジションをループさせる方法で紹介しています。

キー間とキー以降を分けて確かめる練習

保存した練習レイヤーの回転に、0秒0°・1秒90°の直線キーを打ちます。

レイヤーのアウトポイントを3秒以降に伸ばし、4種類は1つずつ貼り替えます。

0.5秒は45°、1秒は90°で元の区間を確認し、1.5秒ではcycle45°・pingpong45°・offset135°・continue135°になる計算を比較します。

cycleは最後の値から最初の値へ切り替わるため、端の値が違えば境界で飛びます。

切れ目をなくしたい場合は最初と最後の値を揃えるか、用途に応じてpingpong・offsetを選びます。

第2引数の1は「1キーの値」ではなく、最後の2キーに挟まれた1区間です。

Durationの1は秒数なので、キー間の長さが違う場合は同じ範囲になりません。

数値または数値配列のプロパティが対象です。

ソーステキストやパスへこの式をそのまま貼りません。

2026年10月14日にAE 26.5で、4型の回転値、リニアとベジェの違い、区間数と秒数の指定、loopInとの分岐、0〜1キー時のガードを確認しました。macOS、旧版、数値配列の全種類、リアルタイム再生速度、動画書き出しは今回の検証範囲外です。

元に戻すときは式を無効にするか、保存した式を戻します。

練習のキー・レイヤーの終了時刻も保存した状態に戻します。

よくある質問:loopOutで迷ったときのチェックリスト

loopOutを書く場所はどこですか?

繰り返したいプロパティ(回転・位置など)のストップウォッチを、Alt(MacはOption)を押しながらクリックし、表示された入力欄に書きます。事前に、そのプロパティにキーフレームを打っておきます。

キーフレームは何個必要ですか?

cycle・pingpong・offsetの練習では、時間の区間を作るために2キー以上が必要です。キーが1つしかないと、繰り返す区間がないため動きません。

pingpongと書いても効かないのはなぜですか?

まず回転などの数値プロパティへ貼ったか、2つ以上のキーがあるか、最後のキーより後を表示しているかを確認します。公式表記は”pingpong”です。ただしAE 26.5では”pingPong”もエラーなしで動作したため、大文字Pだけを不具合の原因とは断定できません。

数値以外のプロパティにも使えますか?

ソーステキスト、シェイプのパス、レベル補正のヒストグラムなど、数値で表せないプロパティに書いても効きません。

最後のキーフレームのあとで動きが止まって見えるときは?

レイヤーの終わり(アウトポイント)が、最後のキーフレームのすぐ後ろで切れていないかを確認してください。

ウィグルやコンポジション全体をループさせたいときは?

ウィグルをループさせたい場合は loopOut では足りないので、本文中で紹介している、ウィグルをループさせるエクスプレッションの方法を使います。コンポジション全体を繰り返したいときも、別の方法を使います。

スポンサーリンク

まとめ

  • loopOut() だけで、最後のキーフレームのあとも動きが続く
  • cycle は繰り返し、pingpong は往復、offset は積み上げ、continue は勢いのまま
  • 2つ目の数字で、最後から何区間を繰り返すかを決める
  • cycle・pingpong・offsetの練習は2キー以上で時間区間を作る

参考:Adobe公式:エクスプレッション言語リファレンス(2026年10月14日確認)。

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

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

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

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