回転の式を選択したプロパティだけに設定する練習
2026年10月3日確認:ここでの対象は、式のない数値1つのプロパティです。
別名保存した練習コンポジションにソリッドを2枚置き、それぞれの回転を20度と30度にします。
回転のプロパティ名を2つとも選択し、下のコードをset-expression.jsxとしてUTF-8で保存して「ファイル」→「スクリプト」→「スクリプトファイルを実行」から実行します。
設定する式はvalue + 10;で、元の値に10を加える例です。
期待する表示値は30度と40度で、未選択の位置や不透明度には式を付けません。
プロパティグループは対象から外し、既存の式があるプロパティ・ベクトル・ロックされたレイヤーが混ざると、書き込みを始める前に止めます。
既存の式は無効になっていても上書きしません。
式が評価エラーになると停止しますが、先に設定したプロパティは残る場合があります。
Ctrl+Z/Command+Zまたは元の練習コピーで、回転20度・30度と式なしの状態へ戻るか確認してください。
コードはJavaScriptの構文・模擬APIと保存したAPI資料で確認していますが、AE本体での適用・映像の一致・Undoの実行確認は未完了です。
| 入力・条件 | 操作・結果 | 確認する点 |
|---|---|---|
| 回転2つ | value + 10; | 20→30、30→40 |
| 位置・既存の式・ロック | 事前確認で停止 | 書き込み前に止める |
| エラー後 | Undo/元コピー | 途中までの変更も確認 |
仕様の照合には、コミュニティで保守されているProperty API参照を参照しました。
よく使うエクスプレッションをワンクリックで適用できるようにスクリプト化しました。
毎回コードを調べたり打ち直したりする手間を省けます。
記述を思い出す時間が減り、作業を効率化できます。
エクスプレッションをスクリプト化する方法
(function () {
var EXPRESSION = "value + 10;";
var comp = app.project && app.project.activeItem;
if (!(comp instanceof CompItem)) { alert("Open a composition."); return; }
var selected = comp.selectedProperties, targets = [], i;
for (i = 0; i < selected.length; i++) {
var prop = selected[i];
if (prop.propertyType !== PropertyType.PROPERTY || !prop.canSetExpression) { continue; }
var owner = prop.propertyGroup(prop.propertyDepth);
if (owner.locked || prop.expression !== "" || prop.propertyValueType !== PropertyValueType.OneD) {
alert("Select unlocked scalar properties with no existing expression."); return;
}
targets.push(prop);
}
if (!targets.length || targets.length > 20) { alert("Select 1 to 20 scalar properties."); return; }
app.beginUndoGroup("Set selected scalar expressions");
try {
for (i = 0; i < targets.length; i++) {
targets[i].expression = EXPRESSION;
if (targets[i].expressionError) { throw new Error(targets[i].expressionError); }
}
} catch (error) {
alert("Stopped: " + error.toString() + "\nUndo or reopen your practice copy.");
} finally { app.endUndoGroup(); }
})();
スクリプトの使い方と解説
回転など、数値1つの選択プロパティへ式を設定する例です。
既存の式がある場合は変更前に停止します。
実行すると、選択したプロパティへ指定したエクスプレッションが一度に適用されます。
参考:https://forums.creativecow.net/docs/forums/post.php?forumid=227&postid=9812&univpostid=9812&pview=t
作成したスクリプトをrd_ScriptLauncher.jsxなどのランチャーに登録しておくと、パネルから素早く呼び出せてさらに作業効率が上がります。
After Effectsのほかの操作やチュートリアルは、まとめ記事から確認できます。

旧実装の参考コードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。
エクスプレッションの書き方やスクリプト化に関連する記事は、こちらでも紹介しています。




