CompResizer 1.1.1

📦 资产下载CompResizer 1.1.1(CEP 面板 + ExtendScript 引擎 + 快速上手指南)|夸克网盘公开永久分享
CompResizer 官方封面:同一风景画面被重构成多种画幅比例,标语 One Click. Every Ratio

CompResizer 只做一件事:把 After Effects 合成改成任意画幅比例,一次点击完成。

官方描述就一句——Reframe After Effects comps to any aspect ratio in one click. Every layer repositions and rescales to fit. No rigging, no rebuilding, no baked precomps. 口号是 One Click. Every Ratio.

需求很日常:客户中途要一版竖屏、要一版 9:16、要一版方形。以前改合成设置宽高之后,你得逐个图层缩放对齐、嵌套预合成、重新处理相机,引用这个合成的工程还会一起乱。CompResizer 把这些收成一个操作,而且是非破坏性的——它改的是图层 scale 与位置,不是预合成后烘焙。

一、三种缩放模式

引擎 CR_resize() 的 mode 参数支持三种:

  • fill:填满新画幅,可能裁切。内部取 Math.max(scaleX, scaleY)
  • fit:完整放入新画幅,留边。内部取 Math.min(scaleX, scaleY)
  • stretch:拉伸铺满,X 用 scaleX、Y 用 scaleY 分别乘,会变形

裁切还是留边由你按内容选。

二、九向对齐

横向 hAlign:0 Left / 1 Center / 2 Right;纵向 vAlign:0 Top / 1 Center / 2 Bottom。3×3 组合得到左上、中上、右上、左中、正中、右中、左下、中下、右下九个锚点。

引擎里 alignOffset():align == 2 时贴末端(newSize - scaledSize),否则居中((newSize - scaledSize) / 2)。所以缩放后内容贴哪边是精确可控的,不是死板居中。

三、3D 相机自动处理(真正的难点)

合成里有 3D 图层时,直接改尺寸会让透视全错——因为 AE 默认相机是 50mm 镜头,zoom = width * 50/36,相机位置随宽度变。改宽度后同一 zoom 看到的范围变了,等于悄悄换了镜头。

CompResizer 的做法(adapt3D = 1):

  1. 如果合成有 3D 图层但没有真实相机,在改尺寸之前先加一个「Comp Resizer Camera」,手动复刻旧默认相机(50mm on 36mm film,zoom = width * 50/36,相机位于 -zoom)。源码注释特别强调:“Don’t trust addCamera’s preset — it can inherit the last-used lens.” 所以镜头是算出来的,不是套预设。
  2. 新相机 inPoint 钉到 0、outPoint 钉到 comp.duration,避免 0 之前场景没有相机又回退到错的默认相机。
  3. 3D 图层本身完全不动。
  4. 改完尺寸后,把每个相机(含关键帧)的 zoom 乘以内容缩放系数 sf。
  5. 相机层移到图层栈末尾,保持视觉顺序不变。

结果:居中锚定、无变形,且 3D 场景透视关系保持真实。

四、两个实用的引擎细节

  • 相机 zoom 读取:ExtendScript 没有 layer.zoom 快捷方式,正确写法是 layer.cameraOption.zoom,并带 match-name 兜底 layer.property("ADBE Camera Options Group").property("ADBE Camera Zoom")。作者在注释里明确说写错会让相机处理失败。
  • 所有图层锚点先统一设为左上 [0,0] 再缩放,最后按对齐方式回移,避免锚点位置影响缩放结果。

五、保留原始合成

useDup 参数为 1 时,先复制一份新合成再改尺寸,原始合成不动。适合需要同时输出多个比例的场合。

六、面板自动读取当前合成尺寸

CR_activeCompSize() 返回 “WxH”,面板打开时自动填入当前合成宽高,不用手输。

CR_ping() 返回 “PONG”,面板用它确认 ExtendScript 引擎已加载。

七、明确的返回值与限制

CR_resize() 返回值:

  • OK:<name> 成功
  • SAME 新旧尺寸相同,不重复缩放
  • NOCOMP 当前没有选中合成
  • DEMOLIMIT 试用版每个 AE 会话最多 10 次
  • ERR:<msg> 如 Invalid dimensions / Max 30000px

尺寸范围 1px 到 30000px。复制失败时提示 “Duplicate failed – select the comp in the Project panel and retry”。

八、纯 CEP,跨平台

面板是 HTML/CSS/JS,没有平台专属二进制,Windows 与 macOS 装同一份即可。内置更新检查(可按用户偏好推迟)与分析开关。

版本核对:包内 CSXS/manifest.xml 的 ExtensionBundleVersion 与 ExtensionList 均为 1.1.1,与 psdly 标题 V1.1.1 一致;host 脚本注释标注 v1.1。

参数来源说明:本页所有参数与行为均来自随包 host/CompResizer.jsx 源码的公开函数注释与实现(CR_resize / CR_ping / CR_activeCompSize / alignOffset / scaleCameraZooms),非推测。

宿主版本:manifest HostList 为 AEFT [25.0,99.9],即 After Effects 2025 起,开放到 26.x(2026)及以后。

授权状态:包内 CR_licenseStatus() 目前固定返回 “OK”(源码注明待接入 aescripts 许可框架),面板可完整测试。

原产品页:https://aescripts.com/compresizer/

封面图片来自作者官方产品页。本文为中文整理,功能与兼容性信息以作者官方页面与包内说明为准。资源仅供学习交流,商业使用请购买正版授权。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容