After Effectsの不透明度に次の式を入れると、レイヤーの開始と終了に合わせて自動フェードできます。元の不透明度が60%なら、最大値も60%です。前だけ・後だけのフェードにも切り替えられます。
2026年10月14日、Windows 11 Pro(10.0.26200)・After Effects 26.5(Build 89)で掲載式を確認しました。30fps・15フレームの平面では、先頭0%、中央60%、最後0%となりました。以下はIN・OUTがフレームに揃った順方向レイヤーの手順です。
貼付先と練習設定
まず練習用コンポジションを作り、本番のレイヤーへ適用する前に値を確認します。既存の不透明度に式がある場合は、その式を控えてから作業してください。
- 960×540、30fps、デュレーション0:00:00:15(0.5秒)のコンポジションを作ります。
- 320×180のオレンジ色の平面を作り、IN点を0秒、OUT点を0.5秒にします。
- 平面を選択してTキーを押し、不透明度を60%にします。練習では不透明度のキーフレームを付けません。
- 不透明度のストップウォッチをAltキーを押しながらクリックし、表示された入力欄へ下の式全体を貼り付けます。
- 入力欄の外をクリックして確定し、現在時刻を0フレーム、7フレーム、14フレームへ移動して値を比べます。
前後・前だけ・後だけの式
var mode = "both"; // "in"・"out"・"both"
var fadeSeconds = 1;
var step = thisComp.frameDuration;
var last = outPoint - step; // 最後の表示フレームの時刻
var span = last - inPoint;
var amount = 1;
if (isFinite(step) && step > 0 && span >= 2 * step - 0.000001 &&
isFinite(fadeSeconds) && fadeSeconds > 0) {
var f = Math.min(fadeSeconds, span / 2);
var up = ease(time, inPoint, inPoint + f, 0, 1);
var down = ease(time, last - f, last, 1, 0);
if (mode == "in") amount = up;
else if (mode == "out") amount = down;
else if (mode == "both") amount = Math.min(up, down);
}
value * amount;
modeは"both"で前後、"in"で前だけ、"out"で後だけです。fadeSecondsは片側のフェード秒数です。この式では片側だけのモードでも、開始から最後の表示フレームまでの半分以内に制限します。
補間にはeaseを使うため、一定速度ではなく開始と終了が滑らかに変化します。最後のvalue * amountが、元の不透明度に0〜1の係数を掛けています。
30fps・15フレームで実機確認
掲載式のfadeSeconds = 1をそのまま使っても、この短いレイヤーでは片側7フレーム分に短縮されます。先頭は0フレーム、最後に表示されるのは14フレームです。0:00:00:15はOUT点なので確認するフレームに含めません。
| mode | 0フレーム | 7フレーム | 14フレーム |
|---|---|---|---|
| both | 0% | 60% | 0% |
| in | 0% | 60% | 60% |
| out | 60% | 60% | 0% |
上表はAE本体から取得した不透明度です。bothの0・7・14フレームはPNGにも出力し、平面中央のアルファ値が0・153・0(8bit、153/255=60%)になることを確認しました。

画面は7フレームです。不透明度60%、式の先頭のmode = "both"、30fpsの表示を確認できます。最大値を100%にしたい場合は、式の適用前の不透明度も100%にします。
OUT点と短尺の扱い
OUT点そのものは表示範囲の外です。IN・OUTがフレームに揃った順方向レイヤーでは、outPoint - thisComp.frameDurationを最後の表示フレームとして使います。15フレームなら先頭0、最後14、その中間7という関係です。
| 入力・条件 | 期待する結果 | 確認点 |
|---|---|---|
| 30fps/IN=0/OUT=0.5/both | 0秒は0% | IN点から開始 |
| 同条件の7/30秒 | 60% | 中間のフレームで元の値 |
| 同条件の14/30秒 | 0% | 最後の表示フレーム |
| 1〜2フレームのレイヤー | 元の不透明度を維持 | 前後0と表示する中間を同時に作れない |
| fadeSeconds=0または負 | 元の不透明度を維持 | フェードを加えない |
上の条件表も今回AE本体で確認しました。元値60%では、1フレームのレイヤーは60%、2フレームでは60%・60%となり、フェードしません。3フレームにすると0%・60%・0%になります。fadeSecondsを0または−1にした場合も、0・7・14フレームすべて60%でした。
両端を透明にしつつ中間を見せたい場合は、最低3フレームが必要です。ただし3フレームでは表示されるのは中央の1フレームだけなので、ゆっくり見せたいならレイヤー自体を延ばしてください。逆再生、ストレッチ、フレームに揃っていないIN/OUTは今回の確認範囲に含めていません。
元のキーフレームと戻し方
元の不透明度にキーがあると、その時刻の値にフェード係数が掛かります。0フレーム20%、14フレーム80%のキーを付けた練習例では、式ありで0・7・14フレームが0%・50%・0%になりました。式を無効にすると20%・50%・80%へ戻り、2つのキーは残りました。
一時的に戻すときは、不透明度の式の行にある「=」の有効/無効ボタンを切り替えます。元の値を変えた操作まで戻るわけではありません。練習で60%へ変更した場合は、必要に応じてその値も戻してください。
結果が違うときの確認点
| 症状 | 確認すること |
|---|---|
| フェードせず一定のまま | 式が有効か、modeがin・out・bothのいずれかか、fadeSecondsが正の数かを確認します。1〜2フレームのレイヤーはこの式ではフェードしません。 |
| 中央でも薄い・何も見えない | 元の不透明度とキーを確認します。元値60%なら最大60%、元値0%なら係数を掛けても0%です。 |
| 最後に透明にならない | modeがbothまたはoutかを確認し、OUT点の1フレーム手前を見ます。まず30fps・IN0秒・OUT0.5秒で切り分けます。 |
| 式エラーになる | 不透明度へ式全体を貼ったか、引用符や括弧を欠いていないかを確認します。別の式を残したまま追記しないでください。 |
以前の25fpsの撮影例
以下は以前の撮影画像です。今回の30fps・15フレーム・60%の検証とは条件が異なり、式全体も写っていないため、同じ数値になる根拠としては使っていません。今回の手順を試すときは上の30fpsの表と照合してください。
25fpsの例で0:00:00:05(0.2秒)に不透明度40%を表示した画面です。

0:00:01:12に不透明度100%を表示した画面です。

最後の表示フレーム0:00:02:24に不透明度0%を表示した画面です。選択ハンドルは残っています。

別の短尺例で、0:00:00:04に不透明度89%を表示した画面です。

関連する操作
| やりたいこと | 最初に読む記事 |
|---|---|
| 音量を前後で下げる | オーディオレベルのフェード |
| 一定間隔で見せる・隠す | 点滅の式 |
| 操作用のチェックで隠す | レイヤーの表示切替 |
| 式を探す・一時停止する | 式の削除と停止 |
参照資料
Adobe公式のエクスプレッション言語リファレンスのInterpolation methodsとComp attributesを参照しました。easeによる補間とframeDurationの単位は公式資料、上の不透明度と短尺・キーの結果は今回のAE実機確認に基づいています。
関連記事




