レイヤーをチェックボックスで隠すなら、不透明度に式を設定します。この記事の式は「非表示」チェックがONで0%、OFFで元の不透明度に戻ります。タイムラインの目のアイコン(ビデオスイッチ)をまとめて切り替えたい場合は、後半のJSXを使います。
2026年10月14日、Windows 11 Pro(OSビルド26200)・After Effects 2026、26.5×89(Build 89)で検証しました。960×540、30fps、3秒の専用コンポと2枚の平面を使い、式の値、画面の表示、スクリプト実行後の状態と取り消しを確認しています。
同じコンポに非表示のチェックを用意する
ヌルレイヤーを作り、名前を「表示制御」にします。
「エクスプレッション制御」からチェックボックス制御を追加し、エフェクト名を「非表示」にします。
隠したいレイヤーを選択してTキーで不透明度を表示し、元の値を60%にしてから、次の式を設定します。すでに式がある場合はその内容を控え、練習用の複製レイヤーで試してください。
式を開く操作はストップウォッチのAltクリック(MacはOptionクリック)です。
(thisComp.layer("表示制御").effect("非表示")(1).value == 1) ? 0 : value;
| 入力・条件 | 切り替え結果 | 確認点 |
|---|---|---|
| 非表示のチェックON | 不透明度0 | 非表示 |
| チェックOFF/元の不透明度60 | 60 | 100へ上書きしない |
| 名前が違う・同名が複数 | 名前と参照先を確認 | 表示制御・非表示は各1つ |
Windows実機で確認した切り替え結果
同じコンポのチェックをOFF→ON→OFFと切り替えると、対象の不透明度は60→0→60%になりました。画面でも橙色の平面だけが消え、式を設定していない青い平面は残りました。チェックをOFFへ戻しても100%にはなりません。

不透明度に0秒=20%、1秒=80%のリニアキーを設定した場合は、0.5秒でOFF=50%、ON=0%でした。式を無効にした場合も50%へ戻ります。OFF側のvalueは、その時刻の元の値を使うため、既存のキーフレームによる変化を残せます。
別のコンポのチェックを参照する
制御コンポというコンポ内へ表示制御と非表示を用意した場合は、隠したいレイヤーの不透明度へ次を貼ります。
(comp("制御コンポ").layer("表示制御").effect("非表示")(1).value == 1) ? 0 : value;
別コンポを参照する式も、上記のキー付き平面の0.5秒でOFF=50%、ON=0%を確認しました。数値プロパティ1はチェックボックス制御の中のチェックを参照し、.valueでその値を取得します。
別種のエフェクトへ番号1を流用せず、名前が違う場合はピックウィップで実際の参照先を確認します。
選択レイヤーのビデオスイッチを切り替える
練習プロジェクトを別名で保存し、対象コンポのタイムラインを開きます。
平面またはテキスト2枚を選択し、選択前のビデオスイッチの状態を控えます。
次のコードをUTF-8の.jsxファイルとして保存し、AEの「ファイル」→「スクリプト」→「スクリプトファイルを実行」から実行します。
これは不透明度へ貼る式ではありません。
(function () {
var enabled = false; // false:非表示、true:表示
var comp = app.project ? app.project.activeItem : null;
if (!(comp instanceof CompItem)) { alert("対象コンポを開いてください。"); return; }
var layers = comp.selectedLayers;
if (!layers.length || layers.length > 100) { alert("1〜100レイヤーを選択してください。"); return; }
for (var i = 0; i < layers.length; i++) {
if (layers[i].locked) { alert("ロックされたレイヤーがあります。変更しません。"); return; }
}
var began = false;
try {
app.beginUndoGroup("CGM selected visibility"); began = true;
for (var j = 0; j < layers.length; j++) layers[j].enabled = enabled;
} catch (e) {
alert("途中で停止しました。変更が一部残った場合は取り消してください。\n" + String(e));
} finally {
if (began) app.endUndoGroup();
}
}());
enabled=falseで選択レイヤーを一括で非表示にし、trueへ書き換えると一括で表示します。各レイヤーの現在の状態を反転するコードではありません。
コードには、コンポ以外がアクティブ、選択0枚、100枚を超える選択、ロックされたレイヤーを含む場合に、変更前に停止する判定があります。実機では、選択した2枚のうち1枚をロックすると警告が出て、両方のビデオスイッチが変わらないことを確認しました。
実機ではBoxをON、KeepBoxをOFFにした状態から2枚を選択して実行しました。falseで両方OFFになり、直後にCtrl+Zを1回押すと元のON/OFFの混在状態へ戻りました。その状態でtrueを指定して実行すると両方ONになります。未選択の制御ヌルは各操作でONのままで、Boxの不透明度60%も変わりませんでした。
app.project.item(1)は、プロジェクト内の項目番号1を参照します。
項目にはフォルダーや素材も含まれるため、「1つ目のコンポ」を指定する方法には使いません。
このスクリプトの対象は、実行時にアクティブなコンポの選択レイヤーです。実行直前に目的のタイムラインをクリックし、対象を選び直してください。
選択していないレイヤーやプロジェクト内の別コンポは変更しません。
Adobeのレイヤー管理資料では、ビデオとオーディオは別のスイッチとして説明されています。このJSXは音声スイッチを操作しません。
音も止めたい場合は、音声スイッチやオーディオレベルを別に操作してください。今回の素材は平面であり、音声付き素材の出力は検証していません。
エラー・切り分け・戻し方
式の参照エラーならコンポ名、レイヤー名、エフェクト名と同名の重複を確認します。
式を一時停止する場合は、有効化スイッチをオフにします。
スクリプトの警告は対象選択やロック状態を確認してから再実行します。
変更途中のエラーでは一部だけ切り替わる可能性があるため、状態を確認し「編集」→「取り消し」で戻します。
WindowsではCtrl+Z、MacではCommand+Zで取り消します。
trueを指定した再実行は全選択を表示する操作で、元のON/OFFが混在していた状態へ戻す操作ではありません。
取り消し履歴がない場合は控えたスイッチ状態を個別に戻すか、保存した練習プロジェクトを開き直します。
式側は無効にして、元の不透明度とキーを使います。
レイヤーを選んでEを2回押すと式のあるプロパティを探せます。
式のある場所と停止・削除の違いは、関連する「式の削除と停止」の記事で確認できます。
Project.activeItem・CompItem.selectedLayers・PropertyBase.enabledはコミュニティ維持のAPIガイドも照合しています。
関連する操作
| やりたいこと | 最初に読む記事 |
|---|---|
| 映像の透明度を前後で変える | 不透明度のフェード |
| 音量を前後で下げる | オーディオレベルのフェード |
| 一定間隔で見せる・隠す | 点滅の式 |
| 式を探す・一時停止する | 式の削除と停止 |
参照資料
Adobeのエクスプレッション言語資料とエクスプレッション制御の公式説明を参照しました。チェックボックスをプロパティのON/OFF制御に使えることを一次情報で確認し、本記事の式の値と画面結果は上記の専用コンポで検証しています。
関連記事
別言語版・旧バージョン、100枚超の選択、非コンポがアクティブな状態、選択0枚での警告、調整レイヤーやトラックマットを含む構成は今回の実機検証に含めていません。まず複製したコンポの平面2枚で結果を確認してから、対象の構成へ適用してください。




