Appearance
拖拽导入增强功能使用指南
概述
拖拽导入增强功能是 Eagle2Ae 的核心特性之一,全面增强的拖拽导入功能支持文件夹拖拽、序列帧检测等高级特性,大幅提升素材处理效率。
主要特性
1. 文件夹拖拽支持
直接拖拽整个文件夹到扩展面板,系统会自动递归读取文件夹中的所有文件。
2. 序列帧自动检测
智能识别图片序列并将其作为单个序列导入,避免导入成百上千张独立图片。
3. 项目内文件检测
防止重复导入已在项目中的文件,确保项目面板的整洁性。
4. 增强的视觉反馈
提供实时状态提示和进度显示,改善用户体验。
使用指南
基本拖拽操作
- 从文件管理器中选择一个或多个文件
- 拖拽到 Eagle2Ae 扩展面板的任意位置
- 等待系统处理并导入文件
文件夹拖拽操作
- 从文件管理器中选择一个文件夹
- 拖拽到 Eagle2Ae 扩展面板
- 系统会自动分析文件夹内容
- 根据分析结果显示导入选项对话框
序列帧检测
javascript
// 序列帧检测算法
detectImageSequence(files) {
// 只检测图片文件
const imageFiles = files.filter(file => this.getFileCategory(file) === 'image');
if (imageFiles.length < 2) return null;
// 按文件名排序
imageFiles.sort((a, b) => a.name.localeCompare(b.name));
// 尝试找到数字模式
const patterns = [];
for (const file of imageFiles) {
const name = file.name;
const nameWithoutExt = name.substring(0, name.lastIndexOf('.'));
// 查找数字模式 - 支持多种数字格式,优先匹配最后一个数字序列
const numberMatches = nameWithoutExt.match(/(.*?)(\d+)([^\d]*)$/);
if (numberMatches) {
const [, prefix, number, suffix] = numberMatches;
patterns.push({
prefix: prefix || '',
number: parseInt(number),
suffix: suffix || '',
numberLength: number.length,
originalNumber: number,
file
});
}
}
// 找到最一致的模式
const patternGroups = {};
patterns.forEach(p => {
const key = `${p.prefix}_${p.suffix}_${p.numberLength}`;
if (!patternGroups[key]) {
patternGroups[key] = [];
}
patternGroups[key].push(p);
});
// 找到最大的组
let bestGroup = null;
let maxSize = 0;
for (const [key, group] of Object.entries(patternGroups)) {
if (group.length > maxSize) {
maxSize = group.length;
bestGroup = group;
}
}
// 排序并检查连续性
bestGroup.sort((a, b) => a.number - b.number);
const numbers = bestGroup.map(p => p.number);
const start = numbers[0];
const end = numbers[numbers.length - 1];
// 检测步长
let step = 1;
if (numbers.length > 1) {
const diffs = [];
for (let i = 1; i < numbers.length; i++) {
diffs.push(numbers[i] - numbers[i - 1]);
}
// 找到最常见的差值作为步长
const diffCounts = {};
diffs.forEach(diff => {
diffCounts[diff] = (diffCounts[diff] || 0) + 1;
});
let maxCount = 0;
for (const [diff, count] of Object.entries(diffCounts)) {
if (count > maxCount) {
maxCount = count;
step = parseInt(diff);
}
}
}
// 构建模式字符串
const firstPattern = bestGroup[0];
const pattern = `${firstPattern.prefix}[${start}-${end}]${firstPattern.suffix}`;
return {
files: bestGroup.map(p => p.file),
pattern,
start,
end,
step,
totalFiles: bestGroup.length
};
}导入选项对话框
当检测到复杂文件结构时,系统会显示导入选项对话框:
1. 序列帧导入选项
- 作为序列导入: 将图片序列作为一个素材项导入
- 作为独立文件导入: 将每张图片作为独立素材导入
2. 文件夹导入选项
- 保持文件夹结构: 在AE项目中保持原始文件夹结构
- 扁平化导入: 将所有文件导入到同一文件夹中
3. 重复文件处理选项
- 跳过重复文件: 不导入已在项目中的文件
- 覆盖现有文件: 替换项目中的同名文件
- 保留两个版本: 同时保留新旧文件
最佳实践
1. 大量素材处理
处理大量素材时建议:
- 使用文件夹拖拽功能批量导入
- 启用序列帧检测功能优化图片序列处理
- 合理设置导入模式避免文件重复
2. 项目组织
- 使用文件夹结构组织素材
- 为不同类型的素材创建不同的文件夹
- 定期清理项目中未使用的素材
3. 性能优化
- 避免同时拖拽过多文件
- 合理使用序列帧检测功能
- 定期重启AE释放内存资源
故障排除
拖拽无响应
如果拖拽操作无响应:
- 检查扩展面板是否为当前激活窗口
- 确认文件路径是否有效
- 查看控制台错误日志
序列帧未正确识别
如果序列帧未被正确识别:
- 检查文件命名是否符合序列帧规范
- 确认文件格式是否支持
- 手动选择"作为序列导入"选项
重复文件导入
如果出现重复文件导入:
- 启用项目内文件检测功能
- 检查导入模式设置
- 手动选择跳过重复文件选项
高级技巧
1. 自定义序列帧模式
支持自定义序列帧命名模式:
- 标准模式:
frame_001.png, frame_002.png, ... - 自定义模式:
render_v1_001.jpg, render_v1_002.jpg, ...
2. 批量操作优化
- 使用Shift键选择连续文件
- 使用Ctrl键选择不连续文件
- 拖拽前预览选中文件列表
3. 快捷键支持
Ctrl+A: 全选文件Delete: 删除选中文件Enter: 确认导入操作