最近在逛技术社区时,发现不少开发者对使用AI工具辅助创作动画、视频剪辑和特效合成产生了浓厚兴趣。特别是像《咒术回战》这类拥有庞大粉丝基础和酷炫战斗场面的作品,其粉丝二创动画的制作过程,本身就是一次绝佳的技术实践。本文将围绕如何利用现代AI工具链,从零开始构思并制作一个类似“五条悟VS宿傩”的粉丝动画短片,拆解从创意构思、分镜设计、角色与场景生成、到动画合成与后期处理的完整技术流程。无论你是想学习AI绘画(Stable Diffusion)、视频生成(RunwayML/Pika)的新手,还是有一定基础的开发者希望将AI能力整合进创作管线,都能从本文中找到可复现的代码、配置和工程化思路。
1. 项目背景与核心概念:AI辅助动画创作
粉丝动画(Fan Animation)是指爱好者基于已有的动漫、游戏等作品,使用数字工具自行创作的动画短片。传统的制作流程涉及原画、中割、上色、合成等多个专业环节,门槛高、周期长。而如今,借助生成式AI,个人或小团队也能以更高的效率产出具有一定质量的动态内容。
本项目的核心目标是:利用AI工具,自动化或半自动化地生成“五条悟”与“宿傩”对战的关键帧、场景和特效,并合成一段连贯的动画短片。这不仅仅是一个简单的AI生图项目,更是一个涉及多模态AI模型协作、时序一致性控制、后期合成技术的综合工程。
为什么选择这个主题作为技术教程?
- 技术综合性:覆盖文生图、图生视频、视频补帧、绿幕抠像、音频处理等多个技术点。
- 可复现性:所有使用的工具均为开源或提供明确API的云服务,步骤清晰。
- 学习价值:通过一个具体、有趣的目标,串联起分散的AI应用知识,形成完整的工作流。
- 社区热度:相关角色和风格有丰富的素材和模型可供参考,降低了数据准备难度。
接下来,我们将从环境搭建开始,一步步实现这个创意。
2. 环境准备与工具链说明
制作AI动画涉及多个环节,我们将采用一个模块化、可替换的工具链。你可以根据自身硬件条件和熟悉程度调整具体工具。
2.1 核心AI工具与平台
图像生成(角色/场景定稿):
- Stable Diffusion WebUI (Automatic1111或ComfyUI):本地部署,控制力强,适合迭代。需要NVIDIA显卡(建议8GB显存以上)。
- Midjourney:云端服务,出图质量高且风格化强,上手快,但需付费且可控性稍弱。
- Leonardo.AI / 吐司Tusi.art:国内可访问的优质替代方案。
视频生成与补帧:
- RunwayML Gen-2 / Pika Labs:当前文生视频、图生视频的领先工具,能生成数秒的连贯短片。
- Stable Video Diffusion (SVD):Stability AI开源的图生视频模型,可本地部署,但处于早期阶段。
- DAIN / RIFE / Flowframes:用于视频补帧(插帧),将低帧率视频平滑至高帧率(如24fps或30fps)。
后期合成与剪辑:
- 达芬奇(DaVinci Resolve):免费版功能强大,涵盖剪辑、调色、视觉特效(Fusion)、音频处理。
- Adobe After Effects + Premiere Pro:行业标准,插件生态丰富。
- Blender:免费开源,强大的3D渲染和视频序列编辑器,也可用于合成。
辅助工具:
- Upscayl / Real-ESRGAN:图像&视频超分辨率放大。
- Audio.ai / RVC:AI语音生成与变声,用于配音或音效。
- Whisper:开源语音识别,用于生成字幕或对口型参考。
2.2 本地开发环境配置(以Stable Diffusion为例)
如果你选择本地部署Stable Diffusion进行核心图像生成,需要准备以下环境:
操作系统:Windows 10/11, Linux, macOS (Apple Silicon体验更佳)Python:3.10.x (这是大多数SD扩展兼容的版本)Git:用于克隆仓库CUDA(NVIDIA显卡用户):版本需与PyTorch匹配,例如CUDA 11.8或12.1。
安装步骤简述:
安装Python 3.10.6:建议使用Miniconda或pyenv管理环境。
# 使用conda创建独立环境 conda create -n sdwebui python=3.10.6 conda activate sdwebui克隆Stable Diffusion WebUI仓库:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui安装依赖:
# Windows用户直接运行 webui-user.bat # 首次运行会自动安装torch、xformers等依赖注意:国内用户可能需要配置pip镜像源,并在
webui-user.bat中设置命令行参数,如--xformers以加速,--listen允许局域网访问。下载基础模型和LoRA:
- 将下载的
.safetensors格式基础模型(如ghostmix_v2Baked.safetensors,适合动漫风格)放入stable-diffusion-webui/models/Stable-diffusion/目录。 - 下载《咒术回战》相关的LoRA模型(如
jujutsu_kaisen_lora.safetensors),放入stable-diffusion-webui/models/Lora/目录。 - 重启WebUI即可在界面中加载模型。
- 将下载的
3. 核心工作流与原理拆解
一个完整的AI动画短片制作,可以拆解为以下核心阶段,每个阶段都对应着关键的技术选择和控制参数。
3.1 阶段一:创意与分镜(Prompt Engineering)
这是AI创作的“剧本”。我们需要用精确的文字描述(Prompt)来控制AI生成的内容。
角色设定Prompt:
(masterpiece, best quality, ultra-detailed), 1boy, gojo satoru, white hair, blue eyes, blindfold, black uniform, (standing in a dynamic pose), glowing blue energy around hands, infinity technique, inside destroyed shibuya street, night, raining, cinematic lighting, anime key visual Negative prompt: ugly, deformed, bad anatomy, extra limbs, poorly drawn face, blurry- 核心要素:角色名(
gojo satoru)、特征(white hair, blindfold)、动作(dynamic pose)、能力特效(glowing blue energy)、场景(destroyed shibuya street)、风格(anime key visual)。 - 负面提示词(Negative Prompt):至关重要,用于排除常见劣质图像特征。
- 核心要素:角色名(
分镜描述:将动画拆解为一系列静态关键帧。例如:
- 镜头A:宿傩狞笑,四手结印,身后是领域展开的暗红色结界。
- 镜头B:五条悟摘掉眼罩,六眼发出强光,周围空间扭曲。
- 镜头C:两人高速对撞的瞬间,能量冲击波扩散。
- 为每个镜头编写独立的、细节丰富的Prompt。
3.2 阶段二:静态关键帧生成(Stable Diffusion + ControlNet)
单纯靠文生图,角色姿态和构图很难保持一致。这里需要引入ControlNet插件。
- ControlNet的作用:通过输入一张姿势草图(OpenPose)、深度图(Depth)、线稿(Canny)或涂鸦(Scribble),让AI在生成新图像时严格遵循输入图像的结构。
- 工作流:
- 手动绘制或使用3D软件(如Blender)渲染出角色的大致姿势和镜头构图(简单的色块草图即可)。
- 在SD WebUI中,加载ControlNet单元,上传姿势草图,选择
openpose或depth预处理器和模型。 - 在文生图标签页,输入该镜头的详细Prompt,调整生成参数(采样步数20-30,CFG Scale 7-10)。
- 生成图像,AI会基于你的草图填充细节和风格。
3.3 阶段三:动态化(图生视频)
将生成的关键帧转化为短视频片段。目前主流工具是RunwayML Gen-2。
- 原理:Gen-2是一个扩散模型,它根据输入的图像和文本提示,预测并生成后续的帧序列,模拟运动。
- 操作要点:
- 输入图像一致性:确保输入Gen-2的图片角色、风格、画幅完全一致,否则视频会“跳变”。
- 运动提示词:在Gen-2的文本框中,用英文描述你想要的运动,如:“Gojo Satoru dashes forward, leaving a blue afterimage, camera tracking shot”。
- 参数调整:
Interpolate(插值)可以使运动更平滑;Seed值固定有助于在多次生成中保持风格稳定。 - 分段生成:一个4秒的镜头,可能需要生成2-3个片段,然后在剪辑软件中拼接。
3.4 阶段四:后期合成与特效
这是将AI生成的“素材”变成“动画”的关键步骤。
- 剪辑与节奏:在DaVinci Resolve或Premiere中,将各个视频片段按分镜顺序排列,调整时长,匹配节奏。
- 绿幕抠像与合成:如果生成的视频背景杂乱,可以利用AI工具(如Runway的背景移除功能)或达芬奇的
Color Page里的3D Keyer,将角色抠出,放置在新的统一背景(如废墟、领域)上。 - 特效添加:
- 2D特效:在After Effects或DaVinci Fusion中,使用粒子系统(如
Trapcode Particular)制作“茈”的爆发特效,用光效插件(如Saber)制作“赫”的切割光束。 - 音效与配音:从音效库寻找合适的打击、爆炸、吟唱音效。使用
Audio.ai或RVC变声工具,基于少量角色语音样本,生成符合场景的台词配音。 - 字幕:使用
Whisper识别配音音频,自动生成字幕文件(.srt),导入剪辑软件。
- 2D特效:在After Effects或DaVinci Fusion中,使用粒子系统(如
4. 完整实战案例:制作一个“无量空处”发动镜头
让我们以一个约5秒的镜头为例,完整走一遍流程。
4.1 目标定义与分镜
镜头描述:五条悟特写,他缓缓抬起手,眼中光芒骤亮,“无量空处”的蓝色网格状领域瞬间以他为中心扩散开来。镜头有轻微的冲击波抖动效果。
4.2 使用Stable Diffusion生成三张关键帧
我们将这个动作分解为三个状态:起始(抬手)、过程(眼中发光)、高潮(领域扩散)。
在SD WebUI中配置:
- 选择动漫风格大模型,如
ghostmix_v2Baked。 - 加载
jujutsu_kaisen_lora,权重设为0.7。 - 启用
ControlNet。我们将使用depth(深度图)来控制构图一致性。
- 选择动漫风格大模型,如
生成深度图基底:
- 先文生图一张五条悟上半身特写,作为构图参考。
- 将这张图发送到
ControlNet的depth预处理器,生成一张深度图。这张图定义了人物和空间的远近关系。
生成关键帧:
- 帧1 Prompt:
(close-up shot), gojo satoru, raising his right hand, calm expression, blue eyes glowing slightly, intricate anime style - 帧2 Prompt:
(extreme close-up on eyes), gojo satoru, bright blue light erupting from his six eyes, energy particles, cinematic - 帧3 Prompt:
gojo satoru, “unlimited void” activation, complex blue grid-like domain expanding from his body, shockwave, hair flowing, intense light - 将深度图分别输入三个
ControlNet单元,使用相同的深度图模型,微调Control Weight(如0.8-1.2)以适应不同帧的强度。分别生成三张高质量图片。
- 帧1 Prompt:
4.3 使用RunwayML Gen-2生成动态片段
- 登录RunwayML,进入Gen-2工具。
- 上传“帧1”的图片作为初始帧。
- 在文本提示框中输入:
Gojo Satoru raises his hand, his eyes begin to glow with intense blue light, the unlimited void domain starts to form as a blue grid around him, slow motion, anime style。 - 设置视频时长
4 seconds,选择Interpolate模式。 - 点击生成。这个过程可能需要几分钟。如果结果不理想,可以调整提示词或使用不同的初始帧(帧2)重新生成,最终在剪辑软件中拼接。
4.4 后期合成与特效
- 导入与剪辑:将Runway生成的视频片段导入DaVinci Resolve。
- 添加网格特效:
- 在
Fusion页面,新建一个Background节点作为蓝色网格背景。 - 添加
FastNoise节点,调整参数模拟网格纹理。通过ColorCurve节点将其调成蓝色。 - 添加
Transform节点,制作网格从中心向外扩散的动画(关键帧Scale从0到2)。 - 使用
Merge节点,将网格背景与Runway生成的人物视频(需先抠像)进行Screen或Add模式混合。
- 在
- 添加冲击波与抖动:
- 在剪辑页面,在领域扩散的那一帧,添加一个
Adjustment Clip。 - 在
Fusion中给这个Adjustment Clip添加一个CameraShake节点,模拟冲击波。 - 在颜色页面,可以在冲击瞬间提高亮度和对比度,增强视觉冲击。
- 在剪辑页面,在领域扩散的那一帧,添加一个
- 音效:在时间线上叠加“能量嗡鸣声”和“低音冲击波”音效,对齐领域扩散的瞬间。
5. 常见问题与排查思路
在AI动画制作过程中,你一定会遇到各种问题。以下是一些典型问题及解决思路。
| 问题现象 | 可能原因 | 解决思路 |
|---|---|---|
| Stable Diffusion生成的角色不像 | 1. 基础模型风格不匹配。 2. LoRA权重太低或太高。 3. Prompt不够精确或冲突。 | 1. 换用动漫风格专精模型(如Anything, Counterfeit)。 2. 调整LoRA权重(0.6-0.8),在Prompt中明确角色名。 3. 使用更具体的特征描述,检查负面提示词。 |
| ControlNet控制失效,构图扭曲 | 1. 预处理器和模型不匹配。 2. Control Weight或Starting/Ending Control Step设置不当。3. 输入的控制图(如姿势图)质量太差。 | 1. 确保Preprocessor和Model对应(如depth配depth模型)。2. 降低 Weight(如1.0->0.8),或让ControlNet在生成后期退出(设Ending Control Step为0.6)。3. 优化输入的控制图,使其更清晰、准确。 |
| RunwayML视频闪烁、角色突变 | 1. 输入图像序列本身不一致。 2. 提示词过于复杂或矛盾。 3. 视频时长太长,超出模型连贯性能力。 | 1. 确保输入Gen-2的所有图片在角色、服装、光照上高度一致。 2. 简化运动提示词,只描述核心动作。 3. 生成更短的片段(2-3秒),然后拼接或补帧。 |
| 生成的视频分辨率低、有噪点 | AI视频生成模型的固有局限。 | 1. 使用Upscayl等工具对生成的视频进行超分辨率放大。2. 在Runway中尝试不同的 Upscale选项(如果有)。3. 在后期软件中使用降噪和锐化滤镜。 |
| 抠像不干净,有毛边 | AI抠图对半透明、发丝、运动模糊处理不佳。 | 1. 尝试不同的抠像工具(Runway, RemBG, DaVinci 3D Keyer)。 2. 在DaVinci中,结合 Delta Keyer和Window进行手动调整。3. 如果背景是纯色或简单场景,前期生成时就尽量让背景统一。 |
6. 最佳实践与工程化建议
将AI动画制作从“玩具”升级到“项目”,需要一些工程化思维。
项目管理与文件规范:
- 建立清晰的目录结构:
/project/01_scripts/,/02_sd_generation/,/03_runway_videos/,/04_assets/,/05_davinci_project/。 - 命名规范:
sc01_shotA_gojo_pose01.png,包含场景、镜头、角色、版本信息。 - 版本控制:对Prompt、生成参数、种子值进行记录。可以用Excel或简单的文本文件记录每次生成的
(Prompt, Seed, Steps, CFG, Model),便于复现和筛选。
- 建立清晰的目录结构:
追求一致性(Consistency)的策略:
- 角色一致性:训练专属的LoRA或Textual Inversion模型。收集角色多角度图片,使用Kohya SS等工具进行训练。
- 风格一致性:固定使用一组风格化LoRA,并在所有镜头的Prompt中加入相同的前缀,如
(style of ufotable)。 - 色彩一致性:在后期调色时,为整个项目创建并应用统一的LUT(色彩查找表)。
高效迭代流程:
- 先粗后精:先用低分辨率、低步数快速生成大量草图,确定构图和动作。
- 批量生成:在SD WebUI中使用
X/Y/Z Plot脚本,网格化测试不同种子、CFG值,找到最佳组合。 - 利用图生图(Img2Img):在确定好的构图基础上,使用低重绘强度(
Denoising strength0.2-0.4)进行迭代细化,提升细节。
版权与伦理提醒:
- 明确标注:最终作品应明确标注为“粉丝创作”、“非官方”,并注明原作版权方。
- 避免商用:此类作品通常用于学习交流和个人展示,未经授权直接用于商业用途存在法律风险。
- 尊重社区:发布时感谢使用到的开源模型、工具的作者。
通过以上步骤,你已经掌握了利用AI工具链制作粉丝动画的核心方法论。从构思到成片,每一步都充满了探索和调试的乐趣,也是对多种AI和数字媒体技术的综合运用。技术的最终目的是为创意服务,希望这套流程能帮助你将自己的想象,转化为激动人心的动态视觉作品。