You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AE ExtendScript添加Colorize - blue wash效果失效如何解决

问题原因

Colorize - blue wash不是独立的效果插件,是After Effects自带的FFX动画预设,Effects.addProperty()方法仅支持添加独立效果,无法直接调用预设,所以原有代码不生效。手动选择该预设时,本质是软件自动执行「添加Color Balance、添加Color Balance (HLS)、调整两个效果到对应参数」的批量操作。

实现方案

优先选择直接调用原生预设的方案,和手动点击预设的效果完全一致,不会因为参数记错出现偏差。

var myComp = app.project.activeItem;
// 基础校验
if (!myComp || !(myComp instanceof CompItem)) {
    alert("请先激活需要操作的合成");
    return;
}
if (myComp.selectedLayers.length === 0) {
    alert("请先选中目标图层");
    return;
}
var targetLayer = myComp.selectedLayers[0];
app.beginUndoGroup("添加Colorize Blue Wash效果");

// 定位AE内置预设路径,自动适配Windows/macOS系统
var presetFile = new File(Folder.startup.fsName + "/Presets/Image - Creative/Colorize - blue wash.ffx");
if (presetFile.exists) {
    targetLayer.applyPreset(presetFile);
} else {
    // 适配版本/语言路径差异,找不到预设时支持手动选择
    var manualSelect = File.openDialog("未找到内置预设,请手动选择Colorize - blue wash.ffx文件");
    if (manualSelect && manualSelect.exists) {
        targetLayer.applyPreset(manualSelect);
    }
}
app.endUndoGroup();

如果需要做无文件依赖的脚本(比如不想依赖本地预设文件),可以直接手动添加两个效果并设置和预设一致的参数,代码如下:

var myComp = app.project.activeItem;
if (!myComp || !(myComp instanceof CompItem)) {
    alert("请先激活需要操作的合成");
    return;
}
if (myComp.selectedLayers.length === 0) {
    alert("请先选中目标图层");
    return;
}
var targetLayer = myComp.selectedLayers[0];
app.beginUndoGroup("添加Colorize Blue Wash效果");

// 添加Color Balance效果并设置参数
var colorBalance = targetLayer.property("Effects").addProperty("ADBE Color Balance");
// 开启保持发光度
colorBalance.property("Preserve Luminosity").setValue(true);
// 阴影蓝通道+20
colorBalance.property("Shadow Blue Balance").setValue(20);
// 中间调蓝通道+100
colorBalance.property("Midtone Blue Balance").setValue(100);
// 高光蓝通道-20
colorBalance.property("Highlight Blue Balance").setValue(-20);

// 添加Color Balance(HLS)效果并设置参数
var colorBalanceHLS = targetLayer.property("Effects").addProperty("ADBE Color Balance HLS");
// 色相调整为蓝色相位
colorBalanceHLS.property("Hue").setValue(-120);
// 饱和度+15
colorBalanceHLS.property("Saturation").setValue(15);

app.endUndoGroup();
注意事项
  • 脚本中添加效果优先使用效果的matchName(比如Color Balance的matchName是ADBE Color Balance),不要直接用显示名,避免多语言版本AE下名称匹配失败。
  • 所有修改合成的操作建议包裹在beginUndoGroup()和endUndoGroup()之间,支持操作后一键撤销。
  • 无依赖方案的参数如果和你本地版本预设效果有差异,可以手动加一次预设后读取对应参数值替换即可。

内容的提问来源于stack exchange,提问作者hans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 21:33:19