不透明度へ0〜1の係数を掛け、レイヤーのIN点と最後に表示されるフレームで透明にします。
元の不透明度やキーはvalueから引き継ぎます。
最終調査日:2026年10月3日。
式の数値と対象の切り分けをローカルで確認しましたが、今回AE本体での再生・音声出力・Undoは確認していません。
貼付先と練習設定
練習コンポを30fpsにし、平面レイヤーを用意します。
IN点は0秒、OUT点は0.5秒、不透明度は60%にします。
レイヤーの「トランスフォーム」→「不透明度」のストップウォッチをAlt(MacはOption)を押しながらクリックして式を貼ります。
前後・前だけ・後だけの式
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は秒で、各フェードはIN点から最後の表示フレームまでの半分以内に制限します。
| 入力・条件 | 期待する結果 | 確認点 |
|---|---|---|
| 30fps/IN=0/OUT=0.5/both | 0秒は0% | IN点から開始 |
| 同条件の7/30秒 | 60% | 中間のフレームで元の値 |
| 同条件の14/30秒 | 0% | 最後の表示フレーム |
| 1〜2フレームのレイヤー | 元の不透明度を維持 | 前後0と表示する中間を同時に作れない |
| fadeSeconds=0または負 | 元の不透明度を維持 | フェードを加えない |
OUT点と短尺の扱い
OUT点そのものは表示範囲の外なので、IN・OUTがフレームに揃った順方向のレイヤーでは、OUT点からコンポの1フレーム分を引いて最後のフレームを求めます。
15フレームの例ではフェードを各7フレーム分に短縮します。
旧式で尺より長いフェードを使うと、IN点で既に不透明度50になる例がありました。
1〜2フレームではフェードさせず元の値を返します。
フェードが必要なら3フレーム以上へ延ばし、元の不透明度が0のキーもないか確認します。
逆再生・ストレッチ・フレームに揃っていないIN/OUTはこの練習の確認範囲外です。
結果が違う場合は、まず練習例と同じ尺・fps・IN/OUTで切り分けます。
戻し方
変更前にコンポを複製し、不透明度とキーを控えます。
式を無効にすると元の値を使うため、練習で60%へ変更した値も元へ戻します。
関連する操作
| やりたいこと | 最初に読む記事 |
|---|---|
| 音量を前後で下げる | オーディオレベルのフェード |
| 一定間隔で見せる・隠す | 点滅の式 |
| 操作用のチェックで隠す | レイヤーの表示切替 |
| 式を探す・一時停止する | 式の削除と停止 |
参照資料
Adobeのエクスプレッション言語資料を参照しています。
旧版の参考コード・関連記事
既存の参考コードは旧版の可能性があるため、今回の手順では本文の式を使います。




