
做原创角色OC设定是一件很有成就感的事情但让角色真正“动”起来变成一支完整的动画短片却是另一套量级的工作。不会画画、不会逐帧补间、不会AE动效过去想给自己的OC做动画基本等于直接放弃。后来随着AI绘画、AI视频生成工具逐步成熟我开始尝试用一套“AI工作流”来替代传统动画制作环节发现这条路真的可以走通。本文是这套OC动画制作系列的第一部分重点梳理从OC设定文档、角色一致性控制到AI逐镜头生成、配音剪辑成片的完整流程并附上可直接复用的提示词模板、配置示例和实操建议。无论你是想给自家OC做一个拜年纪短片还是想系统了解AI动画制作链路这篇文章都值得收藏备用。1. 什么是OC动画用AI做动画到底在做什么1.1 先搞清楚OC动画的痛点在哪里OC 是 Original Character 的缩写指“原创角色”。很多创作者会给自己的小说、漫画或脑内世界观设立专属角色并为这些角色写人设、画立绘、做表情集。OC动画就是围绕这些原创角色制作的动画短片常见于个人作品集、同人创作、游戏角色展示和短视频平台。传统OC动画的制作流程大致是手绘或板绘角色设定图制作分镜脚本逐帧绘制动画或使用骨骼绑定工具配音、配乐、剪辑输出。这一套流程对美术功底和动画基础要求非常高个人创作者往往卡在第一步。即使会画静态立绘也很难让角色自然地运动起来。于是很多人和我一样停留在“有人设图但动画永远在脑内”的状态。1.2 AI如何拆解动画制作流程AI介入后动画制作不再需要“一帧一帧手绘”而是可以被拆解为几个相对独立的环节传统环节AI替代方案说明角色设定图AI绘画生成用提示词或模型微调生成正面、侧面、表情集动态动画图生视频工具将静态图作为首帧AI生成短动作片段配音AI语音合成输入文本生成台词配音配乐AI音乐生成生成背景音乐或音效剪辑传统剪辑工具剪映、Premiere等完成最终成片这并不意味着AI全程一键生成。实际落地时“角色一致性”和“镜头连贯性”仍然需要创作者人工把控AI只是把最耗时的绘制和补帧工作大幅压缩。1.3 三条主流技术路线当前用AI制作OC动画主流路线有三条文生图 图生视频先用AI生成角色立绘再以立绘为起始帧用图生视频工具生成动作片段。这是目前角色一致性最好控制、最推荐入门的方式本文重点讲这条路线。纯文生视频直接输入文字描述生成视频片段简单但角色外观随机性大很难保持同一张脸。AI素材 传统软件补帧AI生成关键帧素材再用Ebsynth、Deforum等工具补帧和做风格化处理适合追求特殊画面质感的创作者。如果你是想快速看到OC“动起来”的效果第一条路线是性价比最高的选择。2. 工具链与环境准备用AI制作OC动画并不需要一次性把工具全部备齐。我的建议是“边做边补”先跑通最小流程再逐步扩展工具链。2.1 图片生成工具怎么选图片生成是整个流程的基础角色能不能“长得很像”完全取决于这一环。Midjourney画质高、风格化强适合快速出图但对角色一致性的控制相对有限需要依赖固定Seed和垫图。Stable Diffusion WebUI开源免费插件生态丰富支持LoRA、ControlNet、IP-Adapter等一致性控制方案是目前OC动画制作者的主力工具。ComfyUI节点式工作流适合批量和自动化操作如果你希望“一次配置反复出图”ComfyUI比WebUI更高效但上手门槛更高一些。Novel AI二次元风格模型较强适合日系角色设定但可控性不如Stable Diffusion灵活。以我个人的经验来看如果你主要做二次元OC动画建议优先熟悉Stable Diffusion WebUI LoRA ControlNet这套组合可以解决绝大多数角色一致性问题。2.2 视频生成工具怎么选图片生成之后下一步需要让静态角色动起来。当前常用的视频生成工具包括Runway的Gen系列在线视频生成平台操作简单适合快速验证镜头Pika轻量易用支持图生视频适合短镜头可灵国内可访问对于人物动作和运镜有不错的生成效果Stable Video DiffusionSVD开源图生视频模型可以本地部署适合批量处理AnimateDiff基于Stable Diffusion的动画插件适合生成二次元风格的循环动作和短动画。这部分工具更新极快具体功能和效果以你打开官网时的版本为准。我的建议是不要追求“最强工具”而是先用一个在线工具跑通流程再根据效果决定是否需要本地部署。2.3 配音、配乐与剪辑工具AI配音推荐ElevenLabs、GPT-SoVITS或剪映自带的AI配音。想要更自然的情绪表达可以多生成几版再挑选。背景音乐目前在线AI音乐生成工具很多也可以用免版权音乐库比如曲多多、爱给网等。剪辑软件剪映是最快上手的Premiere和达芬奇适合需要精细控制的场景。2.4 环境准备建议由于AI绘画和视频生成工具版本变化很快本文不写死具体版本号而是给出环境准备的通用思路本地部署Stable Diffusion建议显卡显存8GB以上16GB以上体验更佳。需要安装Python环境、CUDA和对应版本的PyTorch。安装时注意查看官方GitHub仓库的README不同版本依赖差异较大。云GPU方案如果本地显卡不够可以使用AutoDL、阿里云等GPU实例按小时计费适合偶尔做动画的创作者。纯在线方案Midjourney Runway/Pika 剪映完全不需要本地环境适合零基础入门。这里必须强调一下AI工具的环境配置文档更新频率很高如果你在某一步报错优先去对应项目的GitHub Issues或官方文档里搜索关键词比在网上找旧教程更高效。3. 核心概念拆解角色一致性与镜头连贯性3.1 角色一致性为什么是难关用AI生成一张“好看的二次元少女图”很容易但连续生成10张“同一个人”的图难度就直线上升。原因在于扩散模型每次生成时都会从随机噪声开始角色的五官细节、发色、服装纹样都会产生漂移。AI动画本质上是由多个静态帧串联而成的如果每一帧的角色看起来都“不太像”观众一眼就能发现违和感。所以OC动画制作的核心不是“如何生成好看的图”而是“如何在多次生成中保持同一张脸”。这个问题的解法通常有四种。3.2 保持角色一致性的四种手段第一种固定Seed和提示词模板在Stable Diffusion中固定Seed可以保证同一提示词生成相似的构图。实际操作时我会把角色描述写成一个固定模板每次生成都保留相同的角色Tag只修改镜头、动作和背景Tag。第二种训练LoRA模型如果某个OC会反复出现最推荐的做法是用角色立绘训练一个LoRA小模型。LoRA是Stable Diffusion的一种轻量级模型微调方案训练成本低通常几十张图片就可以让模型学会某个角色的面部特征和服装风格。训练完成后在提示词中添加对应的LoRA触发词就能在保持角色形象的同时自由改变姿势。第三种角色参考图 IP-Adapter / ControlNet如果你不想训练LoRA可以使用IP-Adapter或ControlNet将一张角色参考图作为条件输入让模型在生成时参考角色外貌。这种方式适合快速验证但稳定性略低于LoRA。第四种后期选图校正AI生成不是一次成功而是在多次生成中挑选最接近的几张然后通过重绘、局部修复、或者视频生成后的逐帧修复来完成。说白了AI做动画仍然需要“抽卡”的心态作为创作者你要做的是建立一个筛选和校正机制。3.3 镜头连贯性如何保证AI视频生成目前普遍只能生成3到10秒的短片段因此一支完整的OC动画本质上是由一组短镜头拼接而成的。这时候你需要“分镜思维”把剧情拆成一个个可独立生成的镜头每个镜头表达一个明确的动作或情绪。一般情况下我建议按以下顺序拆解明确镜头里角色在做什么确定景别近景、中景、远景确定动作幅度小幅动作眨眼、头发飘动比大幅动作奔跑、跳跃更容易生成生成逐镜头的静态底图将底图传入图生视频工具生成动态片段。4. 完整实战从OC设定到AI动画成片下面以一个虚构OC“星野遥”为例演示从设定文档到成片的完整流程。这个角色设定是我随手写的示例你可以直接替换成自己的OC。4.1 第一步创建OC设定文档写设定文档不是自嗨而是为了让AI“认识”你的角色。AI无法理解你的脑内形象但它能理解文字特征。设定文档越具体生成结果越稳定。我的设定文档模板如下【名字】星野遥 【年龄】16岁 【种族】人类 【发色】银白色长发发尾渐变成淡紫色 【瞳色】紫罗兰色大眼睛 【服装】白色水手服黑色百褶裙红色领结 【配饰】头戴银色星星发夹 【性格】温柔但有点冒失 【标志动作】喜欢歪头思考笑的时候会捂住嘴巴 【世界观】现代都市背景下的小型魔法学院这段设定文字不需要非常华丽但关键特征一定要明确发色、瞳色、服装配色、标志性配饰。这些特征最终会映射到AI提示词中。4.2 第二步把设定转换成AI提示词将设定文档转换成AI绘画提示词是创作者需要掌握的基本功。下面给出一个Stable Diffusion WebUI可用的正向提示词示例masterpiece, best quality, 1girl, solo, silver long hair, gradient purple hair tips, violet eyes, white sailor uniform, black pleated skirt, red bow tie, silver star hairpin, gentle smile, school background, upper body, looking at viewer, soft lighting, detailed face反向提示词建议固定为lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, bad feet, watermark, signature, blurry, jpeg artifacts这里需要解释几个关键Tagsilver long hair和gradient purple hair tips对应银白长发和淡紫渐变发尾violet eyes对应紫罗兰瞳色white sailor uniform, black pleated skirt, red bow tie对应服装细节silver star hairpin是对配饰的约束gentle smile和looking at viewer用来控制表情与视角。建议保持角色Tag的顺序和措辞固定只修改动作、背景、景别相关Tag这样可以显著提高多次生成的稳定性。你可以用记事本维护一套“角色Tag模板”每次复制后修改场景部分即可。4.3 第三步生成角色设定图三视图拿到基础提示词后我们先用它生成角色的正面立绘再生成侧面和背面参考图。为了方便后续训练LoRA或做一致性对比建议单独创建一个角色参考图文件夹用于存放同一角色在不同角度、不同表情下的图像。一位合格的OC创作者应该在开始动画制作前先积累至少这些参考图正面全身立绘侧面全身立绘背面全身立绘半身表情集开心、难过、惊讶、生气不同构图下的角色图5到10张。如果你使用Stable Diffusion WebUI可以通过写一个简单的Python脚本批量调用SD的API来加速生成。以下是一个示意脚本实际使用时需要根据你的SD WebUI地址和接口版本调整import requests import base64 import os import time api_url http://127.0.0.1:7860/sdapi/v1/txt2img output_dir output/star_no_haruka os.makedirs(output_dir, exist_okTrue) prompt ( masterpiece, best quality, 1girl, solo, silver long hair, gradient purple hair tips, violet eyes, white sailor uniform, black pleated skirt, red bow tie, silver star hairpin, gentle smile, looking at viewer, soft lighting ) negative_prompt ( lowres, bad anatomy, bad hands, missing fingers, extra digit, fewer digits, bad feet, watermark, signature, blurry ) payload { prompt: prompt, negative_prompt: negative_prompt, steps: 30, width: 768, height: 1024, cfg_scale: 7, sampler_name: DPM 2M Karras, batch_size: 4, } for i in range(3): resp requests.post(api_url, jsonpayload) if resp.status_code 200: data resp.json() for idx, img_b64 in enumerate(data.get(images, [])): img_bytes base64.b64decode(img_b64) file_path os.path.join(output_dir, fharuka_front_{i}_{idx}.png) with open(file_path, wb) as f: f.write(img_bytes) print(fSaved: {file_path}) else: print(fRequest failed, status_code{resp.status_code}) time.sleep(2)这个脚本做的事情很简单向本地SD WebUI发送文生图请求每次生成4张图共生成3批最终将图片保存到指定文件夹。你可以直接复制保存为generate_ref.py在安装好requests库的Python环境里运行pip install requests python generate_ref.py运行成功后你会在output/star_no_haruka文件夹中看到一批角色立绘。从中选出最符合设定的一张作为“基准角色图”后续所有动画镜头都以这张图为准。4.4 第四步制作分镜脚本分镜脚本是连接“故事”和“镜头”的桥梁。不需要画得多精致文字分镜足够。我习惯用Markdown或JSON文件记录分镜每个镜头包含编号、内容描述、景别、动作、台词和参考底图路径。下面是一个分镜JSON片段{ project: 星野遥的魔法早晨, characters: { star_no_haruka: { name: 星野遥, ref_image: ./ref/star_no_haruka_base.png, tags: silver long hair, gradient purple hair tips, violet eyes, white sailor uniform, black pleated skirt, red bow tie, silver star hairpin } }, shots: [ { id: shot_001, scene: 教室门口, description: 星野遥小跑进入教室书包晃了一下, shot_type: 中景, action: 小跑呼吸起伏, duration_seconds: 4, dialogue: 早上好我今天又没有迟到吧 }, { id: shot_002, scene: 教室窗边, description: 星野遥望着窗外发呆头发被风吹动, shot_type: 近景, action: 眨眼头发飘动, duration_seconds: 5, dialogue: } ] }分镜信息越详细后面生成底图时越不容易乱。特别是duration_seconds字段它直接决定你在视频生成工具中需要生成多少秒的片段。4.5 第五步逐镜头生成底图根据分镜脚本我们把每一个镜头转化为一张静态底图。这一步是在基础角色提示词上追加动作、景别、背景描述。以shot_001为例完整提示词会是masterpiece, best quality, 1girl, solo, silver long hair, gradient purple hair tips, violet eyes, white sailor uniform, black pleated skirt, red bow tie, silver star hairpin, running into classroom, school bag swinging, medium shot, dynamic pose, motion blur, slight smile, school corridor background, soft daylight这里新增了running into classroom、school bag swinging、medium shot等描述动作和景别的Tag。注意不要改变角色Tag的顺序只追加新内容这是保持角色一致性的关键操作。生成底图时建议每张图生成4到6个候选然后挑选最接近基准角色的那张。如果你的角色一致性不够可以用ControlNet的reference_only模式以基准角色图作为参考条件让生成结果更贴近角色原貌。4.6 第六步用图生视频工具让底图动起来静态底图准备好之后就进入视频生成阶段。以图生视频为例你需要把底图上传到Runway、Pika、可灵或SVD工具中然后输入动作提示词例如The girl is running into the classroom, her hair flowing, school bag swinging gently, camera follows her from the front, natural motion不同工具的动作控制能力不同有的工具甚至支持直接用姿态骨架来控制动作。生成时建议注意以下几点片段时长不要贪长单段生成3到5秒最稳定10秒以上容易出现形变运动幅度要克制眨眼、头发飘动、呼吸起伏这类小动作最容易生成成功首帧选择很关键底图的质量直接决定视频质量底图角色脸部如果有瑕疵视频里会被进一步放大。如果某个镜头的动态效果不满意不要急着换工具可以回到底图环节重新生成一版静态图再用同一个动作提示词重新生成视频。很多时候问题出在“静态图不适合做首帧”而不是视频工具不行。4.7 第七步配音配乐与剪辑合成所有动态镜头生成完毕后进入配音和剪辑阶段。这里我建议的顺序是先把所有镜头按分镜顺序导入剪辑软件添加AI配音生成台词音频添加背景音乐和基础音效调整镜头切换节奏让画面和台词对得上最后统一添加字幕。如果你使用剪映可以直接在“文本朗读”功能里选择AI音色不需要额外安装工具。如果希望角色有更细腻的情绪可以试试GPT-SoVITS这类音色克隆工具但一定要确保你有使用该声音的合法授权。如果视频片段比较多也可以用FFmpeg在命令行完成基础拼接。下面是一个简单的拼接命令示例ffmpeg -f concat -safe 0 -i video_list.txt -c copy output.mp4其中video_list.txt内容为file shot_001.mp4 file shot_002.mp4 file shot_003.mp4这个命令只做无损拼接不处理转场和调色。如果你需要转场效果建议还是放到剪辑软件里完成。5. 常见问题与排查思路5.1 问题速查表问题现象常见原因解决思路角色脸部每次生成都不一样提示词不固定、Seed未固定、未使用LoRA或参考图固定角色Tag顺序和Seed训练LoRA或使用IP-Adapter生成的角色服装颜色变化提示词中服装顺序混乱将服装Tag集中放在角色姓名之后保持顺序固定视频片段里角色脸变形首帧底图质量不够、运动幅度过大重新生成更稳定的底图降低动作提示词幅度视频生成速度非常慢本地显存不足、在线排队降低输出分辨率或改用云GPU方案头发动态效果很生硬视频工具对长发的物理模拟有限改用AnimateDiff等本地工具或在提示词中增加“hair flowing”画面风格不统一不同镜头使用了不同的模型或采样器固定模型、采样器和CFG参数建立参数台账配音和口型对不上台词与镜头时长不匹配先确定音频时长再调整视频片段剪辑节奏5.2 重点问题详解角色一致性漂移这是OC动画制作中最容易遇到的问题也是最需要耐心解决的。我的排查顺序通常是检查角色Tag是否被意外修改有时候我们复制的提示词里多了一个空格或换了个词就可能导致角色外观漂移检查Seed是否固定如果不固定Seed即使提示词完全相同每次生成的构图也会有较大差异检查底图首帧图生视频阶段如果首帧的角色和之前的设定图不一致后续视频会进一步放大这个差异考虑训练一个专属LoRA如果角色要出现在多个镜头、多个场景中训练LoRA才是根治方案。5.3 重点问题详解视频生成时间成本高AI视频生成目前成本不低尤其是使用在线工具时常常需要排队或消耗配额。为了控制成本建议先用小分辨率快速验证动作确认动作效果后再放大生成最终版本同一镜头不要重复刷几十遍先在底图阶段筛选再进入视频生成阶段积累自己的动作提示词库把成功后使用的提示词记录下来后续直接复用。6. 最佳实践与工程建议6.1 建立素材库和参数台账做OC动画不是一次性任务而是持续迭代的过程。建议建立一个项目文件夹结构如下oc_animation_project/ ├── ref/ # 角色基准图、三视图、表情集 ├── prompts/ # 每个镜头的提示词记录 ├── shots/ # 静态底图 ├── videos/ # 生成的动态片段 ├── audio/ # 配音、音乐、音效 ├── output/ # 最终成片 └── logs/ # 每次生成的参数与效果记录另外强烈建议用表格记录每次生成的关键参数例如模型名称、采样器、CFG、Seed、Steps、提示词。这个表格会成为你之后最宝贵的技术资产能帮你快速复现某个成功效果。6.2 控制生成成本避免无脑抽卡很多人刚开始玩AI绘画和AI视频时喜欢一次性生成几十张图再挑这在工具免费时无所谓但一旦进入付费或按量计费的环节成本会迅速上升。更高效的方式是“小步快跑”先用低分辨率快速验证构图确认构图后再加大分辨率出精图精图确认后再进入视频生成视频生成前先阅读官方文档确认动作参数和时长限制。6.3 版权与合规意识要提前建立关于AI创作版权问题需要从一开始就重视起来。以下几点在OC动画制作中尤其重要不要直接拿别人的角色图做训练数据或底图除非你获得了明确授权不要使用真人照片作为角色底图真人肖像权风险非常高AI生成内容在不同平台有不同标识要求发布前记得了解平台规则只对你的原创OC享有完整版权如果使用LCON、开源模型生成注意检查对应模型的License。6.4 保持人可以干预的环节AI工具虽然自动化程度越来越高但现阶段仍然不建议“一键全自动”生成整支动画。我的经验是AI负责扩量人负责筛选和决策。每个镜头在进入下一环节前都应该经过人工审核尤其是角色脸部、手部、服装细节。如果你发现某个镜头连续生成多次都存在问题与其继续刷参数不如回去改底图或调整分镜思路。7. 下一步学习路线完成一支基础OC动画短片只是AI动画制作的第一步。如果你希望继续深入可以考虑以下方向学习ComfyUI节点式工作流更适合批量生成和参数管理是从“偶尔做一支”到“稳定产出”的必经之路训练自己的LoRA模型这是让OC真正“固定下来”的最可靠手段学习ControlNet姿势控制可以让你精确控制角色的动作不再依赖随机抽卡研究AnimateDiff和Ebsynth它们能让你在本地完成更细腻的动画效果和风格化补帧研究声音和音乐生成一个好的声音表现能让OC动画的感染力提升一个档次。另外如果你对AI角色与AI世界的结合感兴趣可以关注一些开源项目比如GitHub上的my_ai_town这类AI小镇项目它将多个AI角色放在一个虚拟环境中交互虽然更偏游戏化但对你理解AI角色的行为生成机制很有启发。本文是AI制作OC动画的第一部分主要打通了“设定→底图→分镜→动态片段→配音→剪辑”的完整链路。下一部分我会继续展开LoRA训练实操、ComfyUI批量出图方案以及如何用ControlNet控制角色动作让OC动画的质量更可控。如果你在实操中遇到新的问题欢迎在评论区留言我们一起交流排错。