不靠插件:为什么 Keyframe 把能力做进编辑器
设计札记
AE 的很多能力来自第三方插件;Keyframe 把它们做进编辑器,工程在哪台电脑上打开都一样。
在 After Effects 里,很多能力靠插件补
粒子、骨骼绑定、自写着色器,常见做法都要装第三方插件或脚本。
After Effects
- Trapcode Particular粒子,第三方插件
- Duik骨骼绑定,第三方脚本
- PixelsWorld自写着色器,第三方插件
- 换一台没装插件的电脑效果成了“缺失”的占位,图层不带它渲染
Keyframe
- 粒子与模拟编辑器自带,在显卡上计算
- 骨架与网格蒙皮一种图层
- 着色器与画面程序项目数据,跟着工程走
- 换一台电脑有支持 WebGPU 的浏览器就能打开
AE 打开用到了未安装插件的工程时,会提示缺少哪些效果,把它们保留为带原参数的“缺失”占位,渲染时跳过。工程能打开,但画面已经不是原来的样子。
为什么会这样
闭源的核心把扩展交给了插件生态,这也是 AE 的长处。
外部开发者改不了 AE 的核心,于是新能力以插件和脚本的形式出现,很多后来成了行业标准。庞大的插件生态让 AE 几乎什么都能做,这是它真正的长处。
代价是能力分散在许多家手里:每个插件各自安装、各自更新,一个工程能不能原样打开,取决于这台电脑装了哪些。
在 Keyframe 里:能力做进编辑器
粒子、跟踪、抠像、绑定和程序效果都是编辑器自己的功能。

- 给选中的视频图层添加跟踪器。
- 跟踪器跟住什么、怎样应用。
- 向后或向前,分析一帧或一直分析到头。
- 由跟踪结果带动的图层。
- 把跟踪结果写成目标上的关键帧。
- 跟踪点及其路径:特性区域、搜索区域与附加点。
- 跟踪。点跟踪与平面跟踪、蒙版跟踪(含面部)、变形稳定器、内容识别填充和 3D 摄像机跟踪器。
- 抠像与 Roto。抠像效果、Roto 笔刷与调整边缘。
- 粒子与模拟。粒子世界在显卡的计算通道上运行。
- 骨骼与程序。骨架、网格蒙皮,以及着色器、模拟和画面程序。
不是从零造轮子
难的算法用成熟的开源库,放在 Keyframe 自己的适配层后面。
- 用成熟的库。跟踪和分析用 OpenCV.js 与 MediaPipe,补背景用 LaMa;这些文件放在 Keyframe 自己的服务器上,带完整性校验,在你的设备上运行,补背景的模型只在你用到时才下载。
- 换库不改工程。每个库都在适配层后面,换掉它不影响已经保存的工程。
- 结果存成数据。跟踪结果写成关键帧或带素材校验的分析记录;模拟的结果只取决于参数和帧号,从哪一帧跳过来都一样。
这样做放弃了什么
没有插件接口,也就装不了第三方插件;效果数量也还少于 AE。
不做插件 SDK 和脚本接口,是有意的选择:Agent (在新标签页打开) 和界面共用同一套注册操作,能力缺了就由我们自己补。AE 现有的效果多得多,这是差距,我们会一项项补;编辑器也只能在支持 WebGPU 的浏览器里运行。