Code Runner 2 v2.0.0 | 免费把 AE 里天天点的那些动作做成按钮:脚本、表达式、预设、缓动、菜单命令一键跑

📦 资产下载Code Runner 2 v2.0.0(AE 动作启动面板 · 免费 · Win/Mac 通用)|夸克网盘公开永久分享|含中文说明|附带 29 个按钮的 Starter Pack 与 Scriptsmas 合集
Code Runner 2 After Effects 面板官方产品图

动效师的一天里,有那么几个动作要重复几十遍:跑同一个脚本、套同一条表达式、给关键帧上同一条曲线、点同一条菜单命令。每次都要翻三层菜单,或者去硬盘里找那个 .jsx。

Code Runner 2 干的事很直接:把这些动作各做成一个按钮,装进面板里。按钮按文件夹组织,文件夹再组成「合集」,一个合集导出成一个 .coderunner 文件,发给同事导入就有了一套统一的工作流。对工作室来说这句话是关键——它能把「每个人自己攒的脚本」变成团队统一的一套按钮。

它一共有六类按钮:脚本(Run script)、表达式(Apply expression)、动画预设(Apply preset)、缓动(Apply ease)、菜单命令(Run menu command)、其它扩展(Launch extension)。基本覆盖了「重复性动作」的全部形态。

还有一点值得先说清楚:它是免费的。官网写着 FREE AFTER EFFECTS EXTENSION,个人和商业项目都能用、不限机器数、没有序列号、不用订阅。代价是不能拿去二次分发或转售——包内 LICENSE.txt 原话是 「leave the distributing of Code Runner itself to Jake In Motion」,官方也要求只从 jakeinmotion.com 获取。所以本站这份只作离线安装备份,长期使用请去官网免费订阅获取。

一、缓动按钮不是「点一下 Easy Ease」这么简单

这是我从 jsx/index.js(134,757 字节)里读出来的——这个工具的缓动引擎是真在算曲线。

普通做法是调 AE 的 Easy Ease,但那样只能得到 AE 预设的几种手感。Code Runner 的 Ease 按钮走的是另一条路:

· 先用 setInterpolationTypeAtKey 设插值类型,再用 new KeyframeEase + setTemporalEaseAtKey 把算好的进出速度直接写进关键帧;
· 斜率不是猜的:outSlopeOf(x1,y1,x2,y2) / inSlopeOf(...) 按相邻两个关键帧的数值与时间推斜率,再 measureAverageSpeeds() 量平均速度做归一;
· 关键参数都在源码里:EASE_EPS = 1e-6、MIN_INFLUENCE = 0.1、MAX_INFLUENCE = 100、MAX_SLOPE = 1000、FLAT_SPEED_EPS = 0.0001。

更细的一层是它区分属性维度:easeArity() 会先探出这个属性是一维、二维还是多维,分别处理;canTakeTemporalEase() 判断「这个属性到底吃不吃缓动」,isPathProp() 单独识别路径属性。

吃不了的时候它不装死:isHoldOut/isHoldIn 识别保持关键帧,收集被跳过的属性名,最后用 uneasablePullReason() / pathPullReason() 告诉你为什么这几个没缓动。这个细节很小,但用起来差别很大——你不会对着一个没反应的面板猜。

形状属性另有专门处理:lerpPointList() 逐点插值、sameShapeTopology() 先判断两个形状拓扑是否一致再形变、shapeMaxDiff() 控制偏差,避免路径点数不同时点错位。对「过冲」类曲线还会单独判定 isOvershootCurve() / flattensOvershoot(),防止数值被 AE 的 0–100 影响量夹死。

二、随包 29 个现成按钮,直接可用

打开 Starter Pack 合集就有 6 个文件夹、29 个按钮,我把它们逐个列出来了:

Shapes(4 个):Make A Line、Squircle、Squalygon、Squar
Expressions(3 个):Loop In + Loop Out、Random Value + FPS、toComp(value)
Scripts(7 个):Reverse Layer Order、Sequence Layers Better、Select Matching Properties、Select Matching Properties In Selection、Shy Locked Layers、Lock Shy Layers、Shy & Lock Hidden Layers
Eases(7 个):66-88、88-66、66-66、88-88、Bounce、Overshoot、Anticipate + Overshoot
Menu Commands(4 个):Purge All Memory、Copy with Property Links、Copy with Relative Property Links、Separate Dimensions
Presets(4 个):Round Corners、Faux 3D、Chunky Grain、Inner Shadow

那 7 个 Ease 值得单独说:66-88 这类名字就是缓动曲线的数字代号(对应 AE 缓动影响量),所以它其实是「把常用的几种缓动手感做成了一键」。Bounce / Overshoot / Anticipate + Overshoot 是 AE 自带没有的三种手感。

Presets 那 4 个按钮背后是 4 个真实的 .ffx 文件(Round Corners / Faux 3D / Chunky Grain / Inner Shadow),合集里一起带着,所以导入即用,不依赖你机器上有没有原预设。

另外包内还有第二个合集 Scriptsmas.coderunner(328,293 字节,比 Starter Pack 大 6 倍)——看名字是节日主题的脚本合集,内容量明显更足。

三、你的按钮不放在扩展目录里,所以升级永远不丢

这条设计我特意核过,因为它决定你敢不敢长期用:合集数据不放在 CEP 扩展目录下。

Windows 在 %APPDATA%JakeInMotionCodeRunnerv2,macOS 在 ~/Library/Application Support/JakeInMotion/CodeRunner/v2。目录里:collection.json 是库本体、code/ 里每个脚本和表达式各存一个独立文本文件、icons/ 放你加的图标、presets/ 放随合集带来的预设。

所以升级只是把新 .zxp 装在旧的上面,合集一点都不动。官方 README 也明说了「an update never costs you a button」。

还有一层保险:Code Runner 会在旁边滚动备份 collection.json,而且库损坏时可以从 code/ 里的独立文件重建——因为每个脚本都是单独一个文本文件,不是塞进一个大 JSON 里。这个设计比大多数同类面板稳。

导出菜单里的 Back up everything 会把整个目录打成一个 zip,Restore backup 还原。换机器、交接项目都靠它。

四、从 Code Runner 1 过来,按钮跟着你走

如果你以前装过 v1:首次启动时它会自动找到 v1 的合集,并作为一个名叫「My Buttons」的合集导入。v1 的内容不改也不删,两个版本的东西都还在。

面板自己也会检查新版本并提示。

五、脚本按钮会先写临时文件——这是为了给你真实报错行号

这个细节官方 README 专门解释过,值得抄下来:脚本类按钮会把脚本先写成临时文件再运行。

为什么多这一步?因为 eval 方式跑脚本出错时只能拿到一句没用的「失败提示」,而行号指向的是面板自己的代码。写成文件再跑,报错能带回你自己脚本里的真实行号。

代价是 AE 必须允许写文件。如果不允许,面板顶部会出现一张提示卡告诉你。这时去:编辑 → 首选项 → Scripting & Expressions → 勾选 Allow Scripts to Write Files and Access Network,然后必须重启 AE(这个设置不重启不生效)。

AE CC 2019.1 以前的版本这项在 编辑 → 首选项 → 常规 里。

六、小面板 + 独立浮动编辑器

manifest 里量出来的结构是两个扩展:

· 主面板(com.motionlab.coderunner.main):类型 Panel,默认 320×600,菜单名「Code Runner 2」——细长条,适合常驻停靠。
· 编辑器(com.motionlab.coderunner.editor):类型 Modeless(独立浮动窗口),默认 760×620,可缩放 328×400 ~ 1920×1400。

这个组合是刻意的:停靠栏通常太窄,编辑按钮时挤不开,所以编辑动作会自动弹出那个浮动窗口(编辑器 bundle assets/ButtonEditor-CyZNLymu.cjs 有 805,026 字节,比面板主体 246,224 字节大三倍多——编辑功能才是这工具最重的一块)。

两个扩展都开了 --enable-nodejs 与 --mixed-context,所以面板内部可以直接用 Node 能力。

另外它还带一个图标库:icons/tabler.json 2,336,218 字节——这是 Tabler Icons 的图标数据,所以给按钮挑图标时是从几千个矢量图标里直接选,不用自己准备 PNG。

包内容逐字节(4 个原包文件 1,353,451 字节 + README 9,255 + 封面 33,345):
CodeRunner2-2.0.0.zxp 967,977 B(安装包本体,已签名);Collections/Starter Pack.coderunner 53,771 B(29 个按钮的入门合集);Collections/Scriptsmas.coderunner 328,293 B(第二套合集);README.md 3,410 B(作者英文说明)。

zxp 展开后的内部构成(19 个文件):main/index.html 4,050 B;editor/index.html 4,045 B;assets/main-BM4plU_7.cjs 246,224 B(面板主体);assets/ButtonEditor-CyZNLymu.cjs 805,026 B(按钮编辑器);assets/main-CWcqYrVs.css 25,623 B;assets/ButtonEditor-CCt42TqR.css 45,141 B;assets/editor-Cn0na33Q.cjs 5,405 B;assets/editor-BhD4L4m_.css 7,216 B;jsx/index.js 134,757 B(宿主端 JSX,缓动引擎在这里);icons/tabler.json 2,336,218 B;icons/icon.png 12,851 B;CSXS/manifest.xml 2,827 B;META-INF/signatures.xml 13,638 B;LICENSE.txt 2,606 B;THIRD-PARTY-NOTICES.txt 9,457 B;starter/Starter Pack.coderunner 53,771 B;mimetype 41 B。

manifest 实测关键项:ExtensionBundleId="com.motionlab.coderunner"、ExtensionBundleName="Code Runner 2"、ExtensionBundleVersion="2.0.0"、ExtensionManifest Version="6.0";Host = AEFT [18.0, 99.9](AE 2021 及以上);RequiredRuntime CSXS 11.0;主面板 Type=Panel、AutoVisible=true、Menu=Code Runner 2、默认 320×600;编辑器 Type=Modeless、默认 760×620、Max 1920×1400、Min 328×400。两个扩展的 CEF 参数均为 --v=0 --enable-nodejs --mixed-context。

版本说明(老实讲):本包内 CSXS/manifest.xml 的 ExtensionBundleVersion、两个 Extension 的 Version、README.md 的「Version: 2.0.0」三处一致都是 2.0.0。但官网当前页面的更新区块标题写的是「V2.1 UPDATES」——即官网很可能已经发布 2.1,本包落后一个版本。2.1 具体改了什么,本包不含,官网该区块在抓取时只渲染出视频占位、没有文字条目,这里不猜。要 2.1 请去官网邮箱订阅免费获取。

授权(官网 2026-10-24 抓取,tl;dr 原文):✅ Free to use in personal or commercial projects. ✅ You can modify it for your own use. ❌ You can’t redistribute, resell, or upload it anywhere. ❌ Always download from jakeinmotion.com. 完整 LICENSE.txt 进一步说明:不计座位数、无许可证密钥;你用 Code Runner 创作的动画、项目、按钮、脚本、表达式、缓动、合集完全归你,分享自己做的合集给其他 Code Runner 用户是官方允许且鼓励的;但本体(含随包 Starter Pack)的分发权保留给 Jake In Motion。版权 © 2026 Jake Bartlett / Jake In Motion LLC。

安装:
1) 完全退出 After Effects。
2) 用任意 ZXP 安装器装 CodeRunner2-2.0.0.zxp(常用的是 aescripts 的 ZXP Installer)。这个 zxp 已签名,不需要开开发者模式、不用改 PlayerDebugMode、不用跑 Add Keys.reg。
3) 启动 AE → 窗口(Window) → 扩展(Extensions) → Code Runner 2。
4) 首次使用脚本类按钮前,确认 AE 已允许脚本写文件(见上文第五条),否则面板顶部会出提示卡。

手动安装位置参考(不推荐,zxp 装更稳):Windows C:Users<你>AppDataRoamingAdobeCEPextensions 或 C:Program Files (x86)Common FilesAdobeCEPextensions;macOS ~/Library/Application Support/Adobe/CEP/extensions/ 或系统级 /Library/Application Support/Adobe/CEP/extensions/。

合集文件格式(实测 Starter Pack 顶层字段):schema / exportedAt / exportedBy / children / code / folders。条目类型实测有四种:folder(6 个)、button(29 个)、script(20 个代码条目)、preset(7 个),另有 expression(2 个)。也就是说一个「合集」是 zip:里面一个主 JSON + Presets/(7 个 ffx)+ Icons/(5 个 svg)。这个格式是纯文本可读的,你自己也能手工造。

第三方组件(包内 THIRD-PARTY-NOTICES.txt 全列):React(MIT)、React DOM(MIT)、CodeMirror 6(MIT)、Lezer(MIT)、JSZip(MIT/GPLv3 双许可,此处按 MIT 用)、Tabler Icons(MIT)、Adobe CEP / CSInterface(Adobe 许可协议)。没有闭源加密模块,源码可读——这也是我能把缓动引擎机制讲清楚的原因。

上手建议(按它的机制给的):① 先别急着造按钮,把 Starter Pack 导入点一遍,感受六类按钮分别是什么手感;② 你最常跑的那个脚本,第一个做成按钮——收益最大的永远是它;③ 工作室用的话,把一套按钮导成 .coderunner 发给全组,比让大家各自攒脚本靠谱得多;④ 定期用 Back up everything 导一份,换机器不慌;⑤ 面板打开空白就关掉再开,几乎总是 CEF 缓存过期而非数据丢失。

已知限制:① 只支持 After Effects(manifest 里 HostList 只有 AEFT 一项),不支持 Premiere Pro;② 需要 AE 2021(18.0)以上,更早版本装了不会出现在菜单里;③ 脚本类按钮依赖 AE 允许写文件,不允许就只能用表达式/预设/菜单命令那几类;④ 官方说明里提到面板若打开空白,几乎总是 AE 里 CEF 缓存过期,关掉再开即可,不是数据丢失;⑤ 本包 2.0.0 落后官网 V2.1 一个版本。

正版获取:jakeinmotion.com/code-runner——免费,填邮箱订阅即可下载(已有账户可直接登录下载)。软件版权归 Jake Bartlett / Jake In Motion LLC 所有。按官方授权条款,本站只做原包搬运与中文说明,不作二次分发渠道;如需长期使用请从官网获取。

原产品页:https://www.jakeinmotion.com/code-runner

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

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

请登录后发表评论

    暂无评论内容