这次来复盘一个完整 MG 动画 PV 制作项目——《雷霆战机》。它本质上是一个以运动图形(Motion Graphics)为核心手法的动画短片,用图层化设计、关键帧动画、表达式控制和脚本化批量输出,把战机从出场、编队、战斗到收尾的完整镜头做出来。相比传统三维 CG 流程,这条路的优点很直接:风格统一、出片快、改版方便,非常适合游戏宣发、概念展示和 UI 动效演示类内容。
文中会把这套制作的完整链路拆开讲:先说要准备什么环境,再讲分镜和风格怎么定,然后是战机动画、粒子拖尾、镜头转场、标题节奏卡点这几个关键模块怎么做,最后落到渲染输出、批量导出、常见问题和合规边界。如果你想用同一套思路做自己的动画短片,可以直接按章节逐项落地。
1. 《雷霆战机》MG动画PV 核心能力速览
先把项目的核心信息放在前面,方便快速判断这套流程是否适合你:
| 项目类型 | MG 动画短片 PV 制作 |
|---|---|
| 视觉风格 | 扁平化、图形化运动图形风格,适合战机主题展示 |
| 核心工具 | After Effects 为主,Illustrator/Photoshop 或同类图形工具为辅 |
| 制作方式 | 图层动画 + 关键帧 + AE 表达式 + 渲染队列脚本 |
| 是否需要三维渲染 | 不需要,全部在合成图层内完成 |
| 输出规格 | 1920x1080 或 3840x2160,可按实际项目调整 |
| 主要功能 | 战机出场、粒子拖尾、弹道爆炸、镜头运动、多场景转场、标题卡点 |
| 批量渲染 | 支持,使用 Adobe Media Encoder 或 ExtendScript 渲染队列脚本 |
| 扩展能力 | 可做模板化修改、自动替换文本、多语言字幕包装 |
| 适合场景 | 游戏 PV、UI 动效展示、产品宣传短片、概念视觉演示 |
从能力表能看出,这个项目的核心不是“特效堆得多猛”,而是“有没有一套能稳定复制、快速改版的 MG 流程”。动画 PV 的制作难点通常不在单个画面,而在大量镜头的统一风格、统一节奏和统一输出。这套流程重点解决的就是这个问题。
2. 适用场景与制作边界
MG 动画 PV 适合谁?先说结论:适合需要快速产出短平快宣发内容、并且对风格统一度要求较高的团队或个人。
它能解决的问题包括:
- 游戏角色或战机外观展示,不需要真实物理模拟,用图形化语言表达即可。
- 战斗场景的氛围烘托,可以通过粒子、速度线、震动、色差这些图形手段完成。
- 多镜头快速转场,用形状图层转场、遮罩过渡、时间重映射就能做出节奏感。
- 版本迭代频繁的宣传物料,MG 的图层结构天然适合“只改文字、不改画面”的复用。
不适合的方向也很明确:如果需要写实材质、真实光影、物理碰撞、大范围三维场景,MG 流程会很吃力。那些场景建议直接走三维 CG 或实拍。另外,如果你的目标平台明确要求写实战斗表现,纯图形化动画可能会让用户觉得“不够重”。
合规边界要重点提一下。做战机题材 PV 时,需要注意:
- 游戏作品名称、角色形象、Logo 如果来自已有商业游戏,需要先确认授权范围和发布渠道。
- 背景音乐、音效素材必须使用有商用授权的资源,不要直接从视频平台下载未授权内容。
- 涉及武器、军事元素时,画面表现要避免出现具体型号敏感标识,避免误导性军事宣传。
- 如果使用了字体,确认字体授权范围是否允许商用,并保留字体授权文件。
这些不是套话,而是动画 PV 项目发布到公开平台前最容易踩雷的地方。建议在项目启动时就准备一份素材授权清单,不要等制作完了再补。
3. 制作环境与软件准备
MG 动画 PV 对硬件的要求不像三维渲染那么极端,但对 CPU 和内存还是有一定要求的。更稳妥的配置方向如下:
| 硬件项 | 建议 |
|---|---|
| CPU | 多核处理器,AE 的预览与渲染会明显受益 |
| 内存 | 16GB 起配,复杂合成建议 32GB 或以上 |
| 显卡 | 独立显卡即可,主要影响 GPU 加速和预览流畅度 |
| 磁盘 | 预留至少 50GB 空间,用于素材、缓存和渲染输出 |
| 显示器 | 建议 1920x1080 或分辨率更高,方便分镜和图层操作 |
软件环境建议按以下组合准备:
- After Effects:2022 到 2024 的版本均可,核心功能稳定即可,不必追求最新。
- Illustrator:负责战机造型、图形、Logo 等矢量素材输出。
- Photoshop:处理贴图、纹理、背景图、参考素材。
- Audition:进行音乐和音效的裁剪、音量平衡。
- Adobe Media Encoder:负责渲染队列中的批量转码输出。
如果你没有全套 Adobe 工具,也可以用开源替代方案:矢量图形用 Inkscape,位图编辑用 GIMP,音频处理用 Audacity。完整流程的思路不变,只是一些插件和表达式接口会有差异。
这里有一个关键建议:先不要装一堆第三方插件。MG 动画 PV 的基础画面绝大多数可以用 AE 原生功能完成。第三方粒子插件和光效插件虽然能提升效果,但也会带来版本兼容问题、渲染稳定性问题,以及换设备时插件无法安装的情况。第一版先做成“原生功能可运行”的项目,再考虑增强。
4. 项目结构与素材组织
动画制作项目如果前期不整理素材,后期一定会在找文件上浪费时间。这里给出一个通用的目录结构:
thunder-fighter-pv/ ├── 00_audio/ # 音乐、音效、配音 ├── 01_asset/ # 矢量素材、位图素材、字体 │ ├── ai/ # Illustrator 源文件 │ ├── psd/ # Photoshop 源文件 │ └── fonts/ # 字体文件 ├── 02_ae_project/ # AE 工程文件 ├── 03_output/ # 渲染输出 │ ├── prores/ # 高质量母版 │ ├── mp4/ # 成片 MP4 │ └── frames/ # 序列帧(可选) ├── 04_script/ # 脚本工具、批处理脚本 ├── 05_storyboard/ # 分镜文档、参考图、风格板 └── 06_backup/ # 工程备份目录命名建议统一用数字前缀,保证排序稳定。图层命名也建议始终使用英文或拼音加数字,避免某些渲染队列和脚本读取时出现编码问题。AE 工程文件建议拆分:一个主合成、多个模块合成。例如00_Main、01_Plane_Entrance、02_Battle_Day、03_Title。模块合成单独渲染,最后在主合成里统一处理转场和调色,能明显减少复杂合成刷新的卡顿。
在进入制作前,还建议先完成两件事:一是建立项目文档,记录分辨率、帧率、时长、色彩空间;二是清理所有素材的授权来源。项目文档建议包含以下字段:
项目名称:雷霆战机 MG动画PV 分辨率:1920x1080 帧率:30fps 总时长:约 90 秒 色彩空间:Rec.709 主合成:00_Main 镜头数:8 个 音乐文件名:battle_theme.wav 授权来源:Envato Elements / 已购买商用版权 字体:企业自有字体 / 已确认授权这些信息写清楚后,后面做批量输出和版本迭代会省非常多时间。
5. 分镜设计与风格定调
分镜是 MG 动画 PV 中最不能被跳过的环节。没有分镜,就会出现“边做边改、镜头节奏混乱、风格不统一”的常见问题,尤其是多人协作时。
分镜不需要画得很精细,重点是表达清楚时间、画面、声音、转场四个要素。这里给一个可以复用的表格模板:
| 序号 | 时间段 | 画面内容 | 声音/音乐 | 转场方式 | 备注 |
|---|---|---|---|---|---|
| 01 | 0-5s | 黑色背景,战机线稿快速绘制,镜头从远处推向机头 | 低频轰鸣 + 节奏入场 | 闪白 | 开场 |
| 02 | 5-12s | 战机侧面掠袭,粒子拖尾出现 | 音乐副节奏进入 | 速度线转场 | 展示 |
| 03 | 12-25s | 敌方目标锁定,弹道飞行,爆炸闪光 | 爆炸音效 + 节奏重音 | 闪光白场 | 战斗 |
| 04 | 25-35s | 战机拉升,镜头环绕,天空背景变化 | 旋律上升 | 旋转横幅转场 | 情绪上升 |
| 05 | 35-45s | Logo 标题出现,文字逐个弹出 | 音乐收束 | 直接切黑 | 收尾 |
分镜确定后,再进入风格定调。MG 动画的风格主要由色彩、形状语言、图层肌理三件事决定。战机题材常见的风格化方向有:
- 低多边形扁平风:用几何面片组成战机,颜色用深蓝、灰、亮橙做对比。
- 故障电子风:加入抖动、色差、扫描线、像素化移位,适合表达电子战、锁定、入侵。
- 速度线漫画风:用大量速度线、半调圆点、斜向切割,强调瞬间爆发力。
- 简洁产品风:大面积留白,战机居中,重点展示细节和结构,适合概念展示。
风格定调建议做一页“风格板”,把视觉参考、色板、字体、常用效果截图统一放在一张画布上。之后所有镜头都对照这张风格板自查,可以有效避免做成不同人做出的作品拼接感。
6. 核心动画模块制作
下面是整个 PV 中的高频动画模块,按实际制作顺序拆解。
6.1 战机出场与掠袭动画
战机出场是 PV 的开场镜头,通常用到三组动画:路径移动、旋转朝向、速度变化。
在 AE 中建立合成后,首先把战机素材导入。建议使用 AI 矢量素材,这样缩放后不会失真,也方便分层控制。战机分层建议拆成机身、机翼、尾焰、驾驶舱高光等独立图层。
出场动画的基础做法是这样的:给战机图层的“位置”属性添加关键帧,从画面外进入画面中心;同时给“旋转”属性添加轻微的角度回正,让战机有一种“从倾斜进入后调整姿态”的感觉。关键帧曲线调整很重要,标准匀速移动会显得很僵硬。
可以使用 AE 的缓动曲线编辑器,将关键帧调整为“缓入缓出”:
- 初始帧:速度较快,进入画面。
- 中间帧:速度减慢,表现出镜头跟拍的凝视感。
- 结束帧:速度归零,精准停在目标位置。
如果希望运动更有人工感,可以给位置属性添加扰动表达式:
// 位置扰动:让战机移动时带有轻微的手感晃动 freq = 1.5; amp = 8; value + wiggle(freq, amp) - [0, 0];这个表达式的意思是:在原有位置基础上叠加一个低频小幅度的随机偏移,适合用在机身位置、尾焰位置和镜头位置。
掠袭动画常用“沿路径飞过”的方式:在目标位置创建运动路径,让战机沿着曲线路径飞行。如果希望路径更平滑,可以先用形状图层画出路径,再用“蒙版路径”复制给位置属性。
6.2 粒子拖尾、弹道与爆炸特效
粒子拖尾、弹道和爆炸是战机 PV 中的氛围担当。这里的核心原则是:不追求真实物理,只追求节奏感和视觉冲击力。
在原生 AE 中,最好用的粒子方式其实不是第三方插件,而是“形状图层 + 模糊 + 表达式”。例如创建一个小圆点形状图层,开启“合并路径”,然后用表达式让它沿着父级战机位置复制。当需要大量粒子时,使用 AE 的“分形噪波”或“粒子运动场”也能临时撑住。
如果项目允许安装插件,Trapcode Particular 或 Stardust 是常见选择。不过需要注意的是,插件版本和 AE 版本必须匹配,否则容易出现预览黑屏或者渲染失败。
弹道动画可以用一个简单的“线段缩短 + 亮度增强”实现:创建一个细长的白色矩形,首帧不透明度为0,第二帧开始快速进入,结尾帧时降低不透明度并添加高斯模糊,形成高速发射的视觉残留。
爆炸闪光比较适合用“闪光 + 色差 + 震动”组合实现:
- 创建圆形渐变图层,快速从小放大并淡出。
- 叠加一层分形噪波,模式设为“屏幕”,制造不规则感。
- 给“变换”属性添加
wiggle(10, 20)表达式,模拟画面震动。 - 对战机的“位置”属性也添加一个短促的震动表达式,比如持续时间 0.5 秒。
使用表达式时,注意控制震动持续时间,否则整个镜头都会一直抖。这里可以写一个只在特定时间点触发的抖动:
// 只在时间 1.0 到 1.5 秒之间触发抖动 start = 1.0; end = 1.5; if (time > start && time < end) { wiggle(20, 10); } else { value; }这样表达式的逻辑就很清晰:时间窗口内触发抖动,窗口外保持原值,方便反复调试,不影响其他帧。
6.3 镜头运动与转场
MG PV 中的镜头运动主要用来制造节奏感和空间感。就算所有画面都是平面图形,也可以通过缩放、位移、旋转模拟出“镜头在飞行”的感觉。
基础镜头运动有四种:
- 推镜头:缩放从 100% 到 120%,模拟镜头前进。
- 拉镜头:缩放从 120% 到 100%,模拟镜头后退。
- 平移:位置属性从 A 移动到 B,模拟横移。
- 旋转:旋转属性做小幅摆动,模拟手持感。
如果项目需要更多空间感,可以使用 AE 的摄像机图层,把场景元素作为 3D 图层打开,然后用摄像机移动。但要注意,AE 的 3D 是“假 3D”,只是把平面图层在三维空间中摆放,不具有真正的体积和阴影,适合 MG 风格,不适合写实。
转场方式直接决定 PV 的流畅度,常见几种:
- 闪白转场:在镜头结束时快速叠加一个白色矩形,透明度从 0 到 100 再到 0,适合战斗紧张段落。
- 速度线转场:在镜头结尾添加放射状速度线,透明度快速变化,适合战机加速、起飞段落。
- 旋转横幅转场:用一个矩形条旋转切入,带出下一个场景,适合情绪螺旋上升的段落。
- 遮罩擦除转场:用线条遮罩从左到右或从上到下扫过,适合展示产品结构。
转场的节奏要跟音乐重音对齐。可以先看音乐的波形,把重音位置标记出来,然后把转场开始帧直接吸附到标记上。这样出来的节奏感非常稳。
6.4 标题文字与节奏卡点
标题文字是 PV 收尾的视觉重点。这里说的“标题”,不只是静态 Logo,而是带入场动画、强调动画、收束动画的完整文字包装。
在 AE 中,最简单的文字入场动画是“逐字符位置偏移 + 透明度 + 模糊”的组合。选中文本图层,展开“文本 > 动画”,添加“位置”和“不透明度”属性,然后将起始帧关键帧设置为画面外偏移,逐字延迟出现。延迟可以使用表达式完成自动化:
// 基于文本索引计算延迟时间 s = textIndex; delay = s * 0.15; time - delay > 0 ? 100 : 0;这里用textIndex代替具体的关键帧设置,就可以让每个字符依次出现。如果你想控制得更细,也可以直接设置关键帧延迟,但表达式效率更高。
标题动画还可以添加“文字描边发光”效果:使用 AE 原生的“描边”效果,调整起始和结束百分比,实现笔画逐渐绘制的效果。配合一个微弱的模糊图层,文字会显得更有质感。
节奏卡点的核心是对齐。建议在制作前把音乐导入 AE 时间轴,创建标记序列。快捷键“*”在播放时可以直接打点。在每个重点镜头、转场、爆炸、标题出现的位置都打上标记,之后所有动画关键帧都以这些标记为参考。这样整个 PV 的节奏才能统一,不会出现“音乐已经到高潮,画面还没跟上”的脱节感。
7. 渲染输出与性能观察
渲染输出是整个项目中技术含量不高但最容易出错的一环。画面做得再好,输出设置不对,成片效果也会受影响。
优先推荐的分层输出方案:
| 输出用途 | 格式 | 编码 | 备注 |
|---|---|---|---|
| 母版 | MOV | ProRes 422 | 画质优先,方便后期调色 |
| 发布成片 | MP4 | H.264 | 体积可控,适合平台上传 |
| 特效备份 | PNG 序列帧 | 无损 | 方便单独镜头重做 |
| 音频 | WAV | 48kHz 16bit | 与画面分离备份 |
在 AE 的渲染队列中,建议直接使用 Media Encoder 批量导出,这样不会占用 AE 的界面,还能同时处理多个合成。
性能观察是整个流程里不可忽略的一环。由于不同设备配置差异很大,以下方法通用且可靠:
- 打开“信息”面板,在预览时重点看实时帧率是否稳定在目标帧率附近。
- 如果预览卡顿,先把预览分辨率降到 1/4 或 1/2,关闭运动模糊,再继续工作。
- 渲染时通过任务管理器或资源监视器观察 CPU、内存、磁盘占用,找到瓶颈。
- 如果渲染速度过慢,先确认是否所有图层都已缓存;AE 在合成区域被完整预览过之后,渲染速度会明显提高。
- 如果出现“内存不足”提示,优先清理磁盘缓存,建议把缓存路径从系统盘移到专门目录。
这里特别说一个容易忽略的点:MG 动画中大量使用形状图层和表达式,如果合成数量太多,预览会越来越卡。建议把长镜头拆分成多个短合成,每个合成不超过 15 秒。这样每个镜头可以单独预览、单独渲染,最后在主合成中拼接。
8. 批量导出与脚本化
当镜头数量多、输出版本频繁变化时,手动一个个点导入导出会非常低效。可以通过脚本批量处理。
这里给一个 After Effects 的 ExtendScript 示例,用于遍历渲染队列并统一修改输出文件名:
#target aftereffects var comp = app.project.activeItem; var outputFolder = "D:/PV_Output/MP4/"; if (comp) { var rqItem = app.project.renderQueue.items.add(comp); rqItem.outputModule(1).file = new File( outputFolder + comp.name + "_" + timeToCurrentFormat() + ".mp4" ); app.project.renderQueue.render(); } else { alert("请先选中一个合成"); }这个脚本的作用是:把当前选中的合成添加到渲染队列,输出到一个固定目录,文件名带时间戳,避免覆盖之前的版本。实际使用时,需要根据你的目录和格式替换路径。
如果需要在项目目录中批量检查素材完整性,也可以用 Python 写一个简单的资源清单工具:
import os from pathlib import Path project_dir = Path("D:/thunder-fighter-pv") output_lines = [] for root, dirs, files in os.walk(project_dir): for f in files: p = Path(root) / f size_mb = p.stat().st_size / 1024 / 1024 if size_mb > 1: output_lines.append(f"{p} | {size_mb:.2f} MB") with open("asset_list.txt", "w", encoding="utf-8") as fp: fp.write("\n".join(output_lines)) print(f"已生成素材清单,共 {len(output_lines)} 个文件")这个脚本用于输出项目中大于 1MB 的文件列表,方便核对素材版本和遗漏项。实际字段可以根据项目需要调整。
批处理渲染时还建议做三件事:渲染前关闭无关软件;渲染队列不要塞太多任务,大批量时分批次执行;渲染过程中定期查看输出文件大小是否正常,防止编码失败却没有报错。
9. 常见问题与排查方法
MG 动画 PV 制作过程中,最容易遇到的坑如下。
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| AE 预览卡顿严重 | 合成数量过多、分辨率过高、缓存不足 | 检查预览分辨率、缓存盘空间 | 降低预览分辨率,清理缓存,拆分合成 |
| 粒子效果播放不流畅 | 插件与版本不兼容或图层数量过多 | 检查插件版本,查看图层数量 | 用原生形状图层代替插件,或减少粒子数量 |
| 文字动画出现乱码 | 字体未安装或字体授权冲突 | 检查字体是否有完整安装 | 统一安装字体,换为项目规范字体 |
| 转场与音乐重音错位 | 没有打标记或关键帧偏移 | 查看时间轴标记和关键帧位置 | 将关键帧吸附到标记点 |
| 渲染输出闪烁 | 未开启运动模糊或图层未缓存 | 查看图层是否都有运动模糊 | 开启运动模糊,确保完整预览过 |
| 批量渲染中途停止 | 磁盘空间不足或输出路径不存在 | 检查磁盘空间和目录 | 预创建输出目录,清理磁盘空间 |
| 表达式报错 | 语法错误或属性名称不匹配 | 双击报错图层查看表达式面板 | 修正属性名,使用英文图层名 |
| 导出 MP4 后颜色偏浅 | 色彩空间设置不一致 | 查看项目和渲染设置中的颜色配置 | 统一使用 Rec.709,关闭文档色彩管理干扰 |
排查时建议顺序是:先看图层、再看合成、再看渲染设置。不要一上来就重装软件或插件,很多问题只是图层编号、名称和缓存问题。
10. 最佳实践与合规提醒
到这里,整套 MG 动画 PV 流程已经完整走了一遍。最后给几条工程化建议。
第一,第一次做动画 PV 时,不要追求一次出片就完全成熟。先按“小参数”跑通流程:短镜头、低复杂度的粒子、基础转场。完整流程跑通后,再逐步加入更多细节。这样可以避免大量后期返工。
第二,保留一套“最小可运行配置”。在你的项目目录里保留一个干净的 AE 模板工程,包含主合成、标准转场、标准文字动画。之后做新片时,直接套用模板,而不是每次从零搭建。
第三,批量任务必须加日志和失败重试。在 AE 渲染队列和 Python 批处理脚本中,都要保留日志输出。渲染结束后查看日志,而不是直接看“开始”、“结束”按钮。
第四,接口服务和素材管理要规范。如果你把这个流程做成团队共享的模板,建议在素材管理脚本中增加“自动重命名”“自动校验授权”的步骤。避免团队成员各自命名,导致后期无法追溯。
第五,涉及人脸、声音、版权素材时,必须确认授权后再使用。战机题材本身相对容易控制,但如果你后续把技术延伸到时政、实拍、人物相关项目,合规要求会更高。
第六,发布或商用前做效果复核。至少要在三个不同条件下检查成片:完整播放一遍、快速静音播放一遍、单独看某一帧。很多动画在动态播放时看着很流畅,但暂停到某一帧会出现穿帮、字体重叠、颜色溢出等问题。
总结与延伸
《雷霆战机》这个 MG 动画 PV 项目最值得关注的点是:它不依赖昂贵的三维渲染硬件,也不依赖任何特殊插件,靠的是清晰的图层拆解、合理的关键帧节奏和稳定的输出管理。对个人创作者和小型工作室来说,这是一条成本低、可复用、容易出效果的制作路线。
如果要从零复刻,建议先做三件事:先跑通一个 5 秒的短镜头,确定分镜表和风格板,再搭建一个标准输出脚本。这三件事做完,整个项目的骨架就出来了。
最容易踩的坑是节奏不统一、图层命名混乱和缓存不清导致渲染缓慢。建议从项目第一天就按规范的目录和图层命名规则执行,这些前期习惯会减少后期大量时间损耗。
后续可以扩展的方向包括:把 MG 动画模板化,接入自动替换文本和素材的脚本;把输出流程接入到云端渲染队列,减少本机渲染时间;也可以把分镜表导出为 HTML 或 Markdown,方便团队协作。这套流程稳定后,再做更长、更复杂的动画 PV,效率会明显提升。建议收藏备用,做下一个项目时直接对照这份流程走一遍。