跳转到内容

社区插件示例

发现并分享社区创建的 After Effects 插件。从简单的自动化工具到复杂的 CEP 扩展,为您的工作流程寻找灵感和实用解决方案。

类型: CEP 面板
描述: 高级图层管理,具有批量操作、智能分组和自定义命名约定。

主要功能:

  • 使用模式批量重命名图层
  • 按类型智能分组图层
  • 快速调整图层属性
  • 将图层信息导出为 CSV

类型: 脚本面板
描述: 扩展的渲染队列功能,带有模板、批量处理和通知系统。

功能:

  • 自定义渲染模板
  • 完成时发送电子邮件通知
  • 自动文件组织
  • 进度跟踪和日志记录

类型: CEP 扩展
描述: 可视化表达式生成器,具有拖放界面,无需编码即可创建复杂动画。

能力:

  • 基于节点的可视化表达式创建
  • 预构建的动画模板
  • 实时预览
  • 表达式库管理

类型: 脚本
描述: 生成和谐的调色板并自动应用于所选图层。

功能:

  • 多种色彩和谐算法
  • 调色板导入/导出
  • 图层颜色批量应用
  • 与 Adobe Color 集成
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的 AE 插件</title>
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<div class="container">
<h2>图层工具</h2>
<div class="section">
<h3>创建图层</h3>
<button id="createSolid" class="btn-primary">创建固态层</button>
<button id="createText" class="btn-primary">创建文本</button>
<button id="createNull" class="btn-secondary">创建空对象</button>
</div>
<div class="section">
<h3>图层操作</h3>
<button id="duplicateLayers" class="btn-primary">复制选中项</button>
<button id="alignLayers" class="btn-primary">对齐图层</button>
<button id="distributeLayers" class="btn-secondary">分布</button>
</div>
<div class="section">
<h3>实用工具</h3>
<button id="exportInfo" class="btn-secondary">导出图层信息</button>
<button id="cleanup" class="btn-warning">清理项目</button>
</div>
</div>
<script src="js/CSInterface.js"></script>
<script src="js/main.js"></script>
</body>
</html>
main.js
(function() {
'use strict';
var csInterface = new CSInterface();
// 初始化插件
function init() {
setupEventListeners();
updateTheme();
}
function setupEventListeners() {
document.getElementById('createSolid').addEventListener('click', createSolid);
document.getElementById('createText').addEventListener('click', createText);
document.getElementById('createNull').addEventListener('click', createNull);
document.getElementById('duplicateLayers').addEventListener('click', duplicateLayers);
document.getElementById('alignLayers').addEventListener('click', alignLayers);
document.getElementById('distributeLayers').addEventListener('click', distributeLayers);
document.getElementById('exportInfo').addEventListener('click', exportLayerInfo);
document.getElementById('cleanup').addEventListener('click', cleanupProject);
}
function createSolid() {
var script = `
(function() {
var comp = app.project.activeItem;
if (!comp || !(comp instanceof CompItem)) {
return '没有活动的合成';
}
var solid = comp.layers.addSolid(
[Math.random(), Math.random(), Math.random()],
'插件固态层',
comp.width / 4,
comp.height / 4,
comp.duration
);
return '已创建: ' + solid.name;
})()
`;
csInterface.evalScript(script, function(result) {
showNotification(result);
});
}
function createText() {
var script = `
(function() {
var comp = app.project.activeItem;
if (!comp || !(comp instanceof CompItem)) {
return '没有活动的合成';
}
var textLayer = comp.layers.addText('插件文本');
textLayer.transform.position.setValue([comp.width/2, comp.height/2]);
return '已创建文本图层';
})()
`;
csInterface.evalScript(script, function(result) {
showNotification(result);
});
}
function duplicateLayers() {
var script = `
(function() {
var comp = app.project.activeItem;
if (!comp || !(comp instanceof CompItem)) {
return '没有活动的合成';
}
var selectedLayers = comp.selectedLayers;
if (selectedLayers.length === 0) {
return '没有选中的图层';
}
app.beginUndoGroup('复制图层');
for (var i = 0; i < selectedLayers.length; i++) {
selectedLayers[i].duplicate();
}
app.endUndoGroup();
return '已复制 ' + selectedLayers.length + ' 个图层';
})()
`;
csInterface.evalScript(script, function(result) {
showNotification(result);
});
}
function showNotification(message) {
// 简单的通知系统
var notification = document.createElement('div');
notification.className = 'notification';
notification.textContent = message;
document.body.appendChild(notification);
setTimeout(function() {
document.body.removeChild(notification);
}, 3000);
}
function updateTheme() {
var skinInfo = csInterface.getHostEnvironment();
// 根据 After Effects 外观应用主题
}
// DOM 准备好后初始化
document.addEventListener('DOMContentLoaded', init);
})();
  • 关键帧助手: 用于高级关键帧操作的工具
  • 缓动助手: 可视化缓动曲线编辑器
  • 运动路径工具: 高级运动路径创建和编辑
  • 项目管理器: 用于组织和管理复杂项目的工具
  • 资产库: 自定义资产管理和组织
  • 模板系统: 可复用模板的创建和应用
  • 渲染管理器: 高级渲染队列管理
  • 格式转换器: 批量格式转换工具
  • 压缩工具: 优化的压缩和交付
  • 外部软件: 与其他创意应用程序集成
  • 云服务: 云存储和协作工具
  • 版本控制: 项目版本控制和备份系统
  • 简单的自动化脚本
  • 基本的 UI 面板
  • 单一用途的工具
  • 多功能面板
  • 数据处理工具
  • 自定义 UI 组件
  • 复杂的工作流程系统
  • 实时处理工具
  • 与外部 API 集成
/**
* 插件名称: [您的插件名称]
* 描述: [简要描述]
* 作者: [您的姓名]
* 版本: 1.0.0
*/
(function() {
'use strict';
// 插件配置
var CONFIG = {
name: '我的插件',
version: '1.0.0'
};
function main() {
// 主要插件逻辑
}
// 执行
main();
})();
<?xml version="1.0" encoding="UTF-8"?>
<ExtensionManifest Version="7.0" ExtensionBundleId="com.yourname.yourplugin">
<ExtensionList>
<Extension Id="com.yourname.yourplugin" Version="1.0.0" />
</ExtensionList>
<ExecutionEnvironment>
<HostList>
<Host Name="AEFT" Version="[13.0,99.9]" />
</HostList>
<LocaleList>
<Locale Code="All" />
</LocaleList>
<RequiredRuntimeList>
<RequiredRuntime Name="CSXS" Version="9.0" />
</RequiredRuntimeList>
</ExecutionEnvironment>
<DispatchInfoList>
<Extension Id="com.yourname.yourplugin">
<DispatchInfo>
<Resources>
<MainPath>./index.html</MainPath>
</Resources>
<UI>
<Type>Panel</Type>
<Menu>您的插件名称</Menu>
<Geometry>
<Size>
<Width>300</Width>
<Height>400</Height>
</Size>
</Geometry>
</UI>
</DispatchInfo>
</Extension>
</DispatchInfoList>
</ExtensionManifest>
  1. 文档: 提供清晰的安装和使用说明
  2. 代码质量: 有良好注释、有组织的代码
  3. 测试: 在不同的 AE 版本中测试
  4. 许可: 明确指定许可条款
  • 清晰的描述和目的
  • 安装说明
  • 使用示例
  • 错误处理
  • 性能优化
  • 跨平台兼容性
  • 版本兼容性说明
  • 批量图层操作
  • 项目清理工具
  • 渲染队列管理器
  • 资产组织器
  • 调色板生成器
  • 动画预设
  • 效果组合
  • 模板系统
  • 项目模板
  • 客户审阅工具
  • 版本管理
  • 协作功能

加入我们的插件开发者社区,帮助扩展 After Effects 的功能,让每个人受益!