做《归义军》是我第二次完整走一遍AIGC电影制作链条。和第一部现代都市题材相比,这次转向古代战争题材,完全是另一种难度——没有真实取景地,没有群演,没有现成的历史道具,银幕上每一粒沙子、每一面残破的军旗、每一张饱经风霜的脸,都只能靠生成模型“无中生有”。片子全片大概12分钟,讲的是古代西北一支边镇守军在被围孤城中的坚守与撤离,算是一部中等体量的短片。做完之后我最直观的感受是:AIGC电影真正难的不是单张画面的质量,而是“一致性”和“叙事节奏”。这篇文章就是我从剧本拆解、视觉设定、角色绑定、场景生成、声音制作到最终交付的完整幕后记录,给想走同一条路的朋友做个参考。
1. 项目定位:为什么第二部选了历史题材
1.1 历史题材反而更适合AIGC
很多人一听“AI做电影”,第一反应是做个科幻短片:霓虹灯、机械义体、赛博城市,因为这类题材对“真实感”的容错率很高,画面稍微有点不合理,观众也看不出来。但我这次反着来,选了历史题材。原因很简单:历史题材有大量现成的绘画、雕塑、壁画和服化道资料可以作为生成的视觉锚点。比起凭空想象一个未来世界,让模型去理解“唐代铠甲大概长什么样”“西北边城的夯土城墙是什么质感”,反而更容易稳定输出。
更关键的是,历史题材离观众的日常生活足够远,大家对细节的“较真”反而集中在大氛围上——你要让观众相信这座城真的在戈壁滩上被围了三年。而AI生成恰好擅长营造这种宏观氛围:漫天的风沙、斑驳的血迹、晨光里孤独的烽燧。它不是机械地复刻历史,它是在“画”一种关于历史的感觉。
1.2 项目规模与目标设定
定项目之前我给自己定了三条硬约束:
- 全片控制在12分钟以内,叙事上做成“一个决策、一场夜袭、一次撤离”,不搞多线叙事。
- 不用真人实拍补镜头,所有画面全部由AI生成或AI辅助合成。
- 不超过4个主要人物,避免角色一致性压力过大。
这三条约束其实是从第一部作品的教训里来的。当时我试图做一部20分钟的片子,结果角色一多,后期修脸修到崩溃。AIGC制作的成本曲线不是线性的,每多一个关键角色,一致性维护成本可能翻一倍甚至更多。这次把人物砍到4个,场景集中在“城头”“议事厅”“戈壁夜路”三处,整个制作压力一下子就可控了。
周期上,这部片子从今年年初开始动工,前前后后做了大概四个月。其中真正“拍摄”(也就是批量生成素材)的时间只有一半,另一半全花在前期设定和后期修整上。这个比例我觉得会对想做类似项目的人有参考价值:别指望AI能帮你跳过思考环节,它的确是加速器,但前提是你得把方向想清楚。
1.3 目标观众:给谁看,解决什么问题
做AIGC短片很容易陷入自嗨,生成了一批酷炫画面就往一起拼。我在立项时就明确:这部片子的核心观众是两类人——一类是对历史题材感兴趣但没耐心看严肃纪录片的普通观众,另一类是从事AI内容创作、想看看完整工作流的同行。所以我定的影片风格不是纯写实,而是“带有版画质感的写实”:光影真实,但色调统一偏赭石色和暗青色,配合粗颗粒,让它看起来像一部年代久远的胶片。
这个取向也直接影响了我后面的所有技术选择:绘图阶段需要压住饱和度,视频生成阶段需要控制对比度,调色阶段只需要做轻微统一,不能让画面变得太“数码味”。
2. 前期准备:剧本拆解、视觉基准与分镜设计
2.1 把剧本“翻译”成可生成的镜头语言
传统电影剧本写的是“动作+对白”,分镜师再把它转化成视觉画面。AIGC工作流的区别在于:你的分镜不仅是给摄影师看的,更是给模型看的。模型不理解“悲壮”,它只理解“一个人站在城墙上,背对镜头,远处是沙尘暴,光线是黄昏,构图是三分法”,所以我在写分镜表时做了两个额外工作。
第一个工作是“关键词白盒化”。我会在每个镜头后面列出五类信息:人物状态、服装特征、环境要素、光线方向、镜头运动。比如“主角听到援军无望的消息”这个镜头,我的标注是“中年将领,深色铠甲,披风被风吹起,站在破损的城垛旁,脸色阴沉,前景有飘动的沙尘,侧逆光,镜头缓慢推进”。
第二个工作是“反向提示词清单”。哪些东西绝对不能出现?在我的片子里,这包括:现代物品(手表、塑料、不锈钢)、不合理的文字标识、过度鲜艳的颜色、表情僵硬的笑脸。我把这份反向提示词整理成了固定后缀,在批量生成时统一追加,省去了很多返工时间。
2.2 建立视觉基准:两轮概念设计定调
在正式做任何镜头之前,我花了两周时间做“视觉基准测试”。这个阶段不追求出图数量,追求的是“每张图都值得反复看”。
第一轮是“风格探索”,把同一条提示词同时丢给三个不同的绘图模型,生成20到30张测试图。然后我把它们按色温、细腻度、真实感、构图潜力四个维度打分。这一轮能淘汰掉明显不适合历史题材的模型——有些模型生成的人脸太“网红脸”,放在古代环境下非常出戏;有些模型的铠甲质感像塑料,一眼假。
第二轮是“定向收敛”,选定一个主模型之后,用“低角度仰拍”“航拍俯瞰”“近景浅景深”等不同镜头方式,反复生成核心场景,直到确认这个模型在“黄昏”“夜晚”“黎明”三种光线下都能稳定输出我想要的情绪。这一轮的产出物是大约60张参考图,它们会成为后面所有生成任务的对齐基准。
2.3 分镜表:从文字到生成的“施工图纸”
我的分镜表不是简单的画面草图,它是一张包含六个字段的表格:镜号、时长、景别、内容描述、参考图编号、生成参数备注。每一行对应一段最终会出现在成片里的镜头素材。
这里有个很实用的经验:AIGC生成的分镜时长,最好和最终剪辑需要的时长严格对齐。我这次把所有镜头控制在3到6秒之间,因为目前主流的视频生成模型,一次性生成10秒以上的长镜头仍然容易出现内容漂移。与其生成长片段再截取,不如在前期就按3到6秒的“短句”来设计,后期用剪辑把这些短句连成段落。这种“短句叙事”反而让节奏更紧凑,没有拖泥带水的感觉。
全片我拆成了47个镜头,其中纯大场景空镜8个,人物近景19个,战斗及运动镜头14个,过场转场6个。每个镜头在分镜表里都有唯一的编号,后面所有素材文件名都以这个编号开头。
3. 核心制作管线:从文本描述到动态影像的完整链路
3.1 图像生成阶段:稳定化生成的三个要素
正式开始做画面是在分镜表冻结之后。这里所谓“冻结”,是指我不再临时修改镜头设计和人物服装设定。AIGC工作流最忌讳边做边改设定,因为每改一次设定,前面所有的素材都可能作废。
图像生成阶段我主要用了三类工具组合:一个开源绘图模型作为底模,一个商用在线绘图服务做快速对比,一个本地部署的增强工具用来控制构图。核心参数三件套:采样步数、提示词引导系数、分辨率。
经验数值是这样:底模步数上限控制在30步,太高的步数并不会让画面更精细,只会让细节变得僵硬;引导系数我一般设在7到9之间,这个数值决定了画面贴合提示词的程度,调太高会出现“过拟合”般的塑料感,调太低画面会散漫;分辨率先出基础构图用768×1152(竖构图)或1344×768(横构图),确认构图后再用放大模型做2倍超分,直接依赖单次生成高分辨率反而容易崩坏。
3.2 视频生成:选型、运镜与片段拆解
视频生成是整个流程的“心脏”。我这次主要用了两个视频生成模型,一个擅长写实风格,一个擅长风格化转场与特殊效果。选型时我比较看重三件事:单段生成时长、运动幅度控制、以及画面的时序稳定性。
工具没有完美的,写实模型生成的画面真实度高,但运动幅度大了之后人的脸会变形;风格化模型转场惊艳,但写实度略逊一筹。我的解决方案是“场景主从搭配”:普通叙事镜头全部用写实模型生成,转场空镜与梦境段落用风格化模型生成。这样扬长避短,让每种工具发挥最擅长的部分。
运镜控制方面,如果模型支持首尾帧,我会给首帧和尾帧各指定一张参考图,让模型自动补全中间的过渡;如果不支持,就用提示词里的镜头运动词语配合低幅度控制。有一点必须提醒:生成“快速推镜”或“剧烈晃动”的镜头时,主体变形概率会大幅上升。我的做法是把剧烈运动镜头拆成两段,前段做中速推进,后段做轻微震动,最后在剪辑软件里加一个加速和抖动特效,效果反而更可控。
3.3 声音与音乐:一部短片的声音设计路线
声音是AIGC电影最容易被忽视、但对观感影响最大的环节。一部全AI生成画面的短片,如果声音是廉价电子音效加无版权配乐,观众会立刻出戏。这次我在声音上花了约三成的时间预算,上下分了三条线。
第一条线是环境底噪。西北戈壁的风声、沙粒打在铠甲上的细碎声、夜晚的虫鸣和篝火的噼啪声,这些素材来自无版权音效库和自行录制,铺在音轨底层,为所有画面建立空间感。第二条线是对白。全片对白不多,台词都是短句,我用AI语音合成生成主干,再用音频编辑软件的变调工具统一压低音色,配合房间混响模拟古代殿堂的声场。第三条线是音乐。我用了AI作曲工具生成一段以埙和鼓为主的基调音乐,全片围绕这段主题做变奏,配上Foley音效点(马蹄声、金属碰撞声、旗帜猎猎声)。
声音设计给画面带来的提升是几何级的。很多朋友看完片子说“画面很有质感”,其实一半功劳要分给音轨里的风声和低频共鸣声。
3.4 素材库管理:片比与命名规范
AIGC电影的废弃素材量非常大,我的原生素材积累了接近1200段视频片段,但成片里真正用到的核心片段大约只有110段,片比超过10比1。如果没有一套高效的素材管理方法,后期会彻底失控。
我的命名规则是“镜号+版本+日期”。比如“Shot07_v3_0612.mp4”,意思是第七个镜头的第三版,6月12日生成。同时每次批量生成的批次,我会在一个表格里记录参数摘要:提示词后缀用的哪种风格模板、生成分辨率、模型版本、有没有做超分。可能听起来繁琐,但正是这张表,在我后期处理到第30个镜头时,能快速回答“这个镜头为什么当时选这个版本”的问题。
工具层面,我强烈建议用支持标签的素材管理软件。不需要多复杂,关键是能按镜号过滤和预览。
4. 角色一致性实战:从“每次长得都不一样”到“稳定的一张脸”
4.1 角色锁定的三板斧
角色一致性是所有AIGC叙事片的核心痛点。生成10次,同一个角色能给你10张完全不同的脸。我在《归义军》里使用的角色锁定方法,可以总结为“三板斧”。
第一板斧是“参考图绑底”。选定主绘图模型后,为每个角色单独生成一张定妆照,要求正面、中性表情、单一光源。后续所有涉及该角色的画面,都以这张定妆照作为参考图输入,让模型模仿人物的面部特征。这个方法比单纯靠提示词描述“坚毅的中年男人”要稳定得多。
第二板斧是“局部特征强化”。定妆照只能锁定大概轮廓,发际线、眉毛形状、疤痕位置这些细节还是会漂移。所以我在生成时,会在提示词里强调角色的三到四个独特特征,同时把“特征描述”放进反向提示词(比如不希望出现“圆脸”“光滑皮肤”)。这部片子里主角脸上有一道旧伤疤,就是全部镜头必须严格保留的视觉锚点。
第三板斧是“剪辑角度回避”。即便如此,AI仍会偶尔给出偏离角色的脸,我在前期分镜时就有意识地给每个角色设计“标志性角度”——主角正面近景加侧逆光,副将四分之三侧脸,敌军统帅只出剪影和背影。这个设计既是叙事需要(保持敌军的神秘感),也是技术需要(限制角色必须被完整“看清”的次数)。
4.2 表情与神态:利用“参考帧”控制情绪
静态的脸锁定了,动态表情是下一个大坑。很多AI生成的人脸在说话或微笑时会出现“肌肉不自然”的恐怖谷效应,尤其是历史正剧,表情夸张了油腻,面无表情又像木偶。
我的经验是用“情绪参考帧”而不是单纯文字描述。先为每个角色生成一套六张核心情绪图(平静、悲愤、绝望、决绝、疲惫、警觉),视频生成时把这六张图按情绪标签输入到提示词里。例如生成“主角得知大军即将撤离、自己被留下断后”的镜头时,我会用“悲愤”和“决绝”两张图来回切换,提示词用“克制住情绪的中年将领,眼神坚定,面部肌肉微颤”。
实际效果验证下来,这种方法生成的表情层次感比只输入“表情痛苦”要好很多。它本质上是在“教模型”:情绪的波动是通过眼角、嘴角这些局部小变化来表达的,而不需要大幅度挤眉弄眼。
4.3 多人同框的合成问题
单人镜头的角色一致性还能靠参考图硬扛,多人同框就麻烦得多。模型在生成两人以上场景时,经常会把两个人的特征搞混——主角的脸跑到配角身上,两个人的服装颜色互换,甚至直接出现第三张不存在的脸。
我这次严格控制了同框场面。全片最大的一个同框镜头也就三个人:主角、副将、一位老兵。这个三人的群像镜头,我生成了四十多版才拿到一个满意的版本。后来我不仅输入三个人的定妆照,还在提示词里用“左一”“右二”的空间位置描述来约束站位,比如“画面左侧是穿深色铠甲的中年人,画面右侧是穿旧皮甲的年轻人”,同时把三人之间的互动描述为“目光交汇”而不是“交谈”——减少脸部局部细节的生成压力。
如果非要出现更大规模的同框,我的建议是“分层做”:先单独生成每个人的主体画面,再把人物分别抠出,在合成软件里组装成一个镜头。虽然合成的工作量大一点,但每个角色的面貌都得到了保障。
5. 场景与氛围:城墙、戈壁与战争场面的生成细节
5.1 大场景的稳定视角策略
《归义军》的三处核心场景——城头、议事厅、戈壁夜路——在前期视觉基准阶段就已经生成了“标准空镜”。标准空镜是指没有人物、纯场景的高质量画面,它们在整个片子里承担两个任务:一是作为“环境定场镜头”,二是作为“场景锚点”。所有带人物的场景镜头,在生成时都要参考对应的标准空镜,确保同一个场景在不同光线、不同天气下依然能让人认出“这是同一个地方”。
具体做法是:在生成带人物镜头时,把标准空镜作为参考背景图输入,提示词里写“保持背景布局和建筑结构不变,只增加前景动作”。你会发现模型对构图和结构的保持能力远好于对物体细节的保持能力。城墙上的砖缝走向、烽燧的朝向、议事厅里的柱子数量,这些结构细节一旦在标准空镜里确定下来,后面所有镜头都会自动遵循。
5.2 时间流逝与氛围转换
整部片子的叙事时间跨越了三天两夜,如何在AI生成中体现时间的变化?我用的是“光线语言”:把同一场景按“黄昏”“深夜”“黎明前最黑暗的时刻”“清晨”四个时间段各生成一套环境。
这个环节要特别注意色温控制。黄昏用暖橙加低照度,深夜用冷蓝加高对比,黎明前是青灰色调加浓重阴影,清晨则让整个画面恢复到偏中性的色温。我每天做的第一件事就是打开当天要生成的镜头列表,统一把色温倾向写进提示词后缀。这样即使不同天生成的素材,最终剪辑在一起时色彩也是连贯的。调色阶段只需要做轻微统一,而不是大面积校正。
5.3 战争场面与人群:AI生成最脆弱的领域
战争场面是本片最难啃的骨头。AI生成大量人物冲锋时,经常出现肢体粘连、多长手指、铠甲变形的问题。我用的策略是“近处重质、远处重量”。
近处的战斗镜头,严格控制在两到三个人的交战场面,刀剑相击的瞬间使用慢动作生成,减少动态模糊带来的肢体变形。远处的战争大场面,则只生成“人群剪影加烟尘”的意象画面——在漫天沙尘中,能看到军旗的轮廓和奔跑的人影,但看不清具体的人。距离感天然掩盖了细节缺陷,同时这种处理在美学上也更高级:战争的残酷不是靠血腥特写,而是靠声音和氛围传达。
战争镜头生成时我还会加一条固定提示:“灰尘颗粒感,空气中有沙尘,背景人物模糊”,这个提示词有效地统一了远景和近景的质感,让画面不会出现人物假清、背景模糊的两层皮现象。
6. 声音剪辑与后期精修:把AI素材变成一部电影
6.1 剪辑节奏的控制:AI素材怎么避免“拼贴感”
AI片段有个共性问题是“节奏太均匀”——每个镜头都有相似的动态幅度和相似的信息量,剪在一起就像看一段循环的幻灯片。为了打破这种均匀感,我在剪辑时做了三件事。
第一,按“呼吸感”排列镜头。每个叙事段落由“大环境空镜(吸气)+人物反应(屏息)+动作推进(呼气)”构成,让观众的注意力有规律地收紧和放松。第二,留出“多余画面”做转场。我会故意选择那些角色身体局部特写、飘动的旗帜、风沙掠过地面的镜头作为转场缓冲,它们不需要承担信息量,只是为了给观众一刹那的喘息。第三,插入“黑场”和“声音先入”。每次场景切换前,声音先进来0.5秒,画面再跟随,这个手法叫“声音蒙太奇”,用来弥补AI画面之间过渡的生硬感。
6.2 调色、降噪与统一处理
AI生成的原片会有两种比较讨厌的瑕疵:一是皮肤质感过度平滑,俗称“塑料肌”;二是暗部噪点不均匀,画面像脏了一样。我的处理流程是:先在视频编辑软件里做一级调色,把所有素材的色温、曝光、对比度统一到主色调区间;然后叠加一层“胶片颗粒”覆盖整个视频,颗粒强度控制在8%到12%,它能魔术般地掩盖皮肤光滑感和轻微的颜色断层。
对于实在抹不掉的畸形画面,早期我会花大量时间用修复工具逐帧涂改,但后来发现效率太低,性价比最高的方案是直接重生成该片段。AIGC的优点就是重做的成本远低于实拍,一个镜头不满意就重新生成,直到得到可用的素材,比手工修要省时间得多。
6.3 对白、字幕与口型同步
全片没有太多对白,主角的台词加起来大约十句左右。我做了两个选择:一是所有对白尽量只用一句话,保持短促有力;二是生成画面时,让人物的嘴部动作幅度小一些,避免AI口型明显跟不上语音。
具体来说,我在提示词里会依赖“神情反应”而不是说话的过程,比如“中年将领低头沉默,缓缓握住佩剑”。等到剪辑时,把AI语音放在画面上,再用时间重映射微调视频的播放速度,让语音的节奏与画面的变速相匹配。因为是短句,这个操作量可以接受。真正的大段对白场景,我建议单独生成“人声特写镜头”,再手工配合画面,而不是寄希望于AI直接把口型和声音完全匹配。
6.4 交付规格与素材归档
完成成片之后,我做了多版本输出:一部横屏标准版(1920×1080,24帧),一部竖屏宣传版(1080×1920)用于社交平台推广,还有一部无字幕纯净版用于投递放映活动。编码统一用H.265,码率控制在8到12Mbps之间,既保证画质又便于在线传输。
素材归档我保留了所有原始生成片段、工程文件、定妆照、标准空镜、音效文件,并把这些统一存进一个以片名命名的目录,里面按“00_基准设定”“01_原生素材”“02_剪辑工程”“03_成片输出”分层。我把这次制作的全部搭建过程整理成了一份项目手册,以方便后续扩展成系列作。归档这件事一定要在做完当天就做,等到全部片子剪完再补,你大概率已经找不到某个镜头对应的提示词了。
7. 问题排查实录:这份避坑清单值得保存
7.1 角色漂移的临时修补与根治
角色漂移是最常见的问题,我的处理流程分三级:轻度漂移(比如肤色差一点、发型方向不对)直接用局部重绘工具修掉;中度漂移(五官轮廓对不上)把镜头重生成一次,这次把定妆照的权重从0.7提到0.85;重度漂移(脸完全变了)直接换镜头方案,改成剪影或背影。
要特别留意:角色的“外形”漂移可以修,但“服装细节”漂移很难修。铠甲片甲的颜色从暗金变成灰银这种变化,一旦在全片里出现两次,就非常扎眼。因此我建议在视觉基准阶段就把每个角色的服装颜色用“色号级”的精度固定下来,写进所有提示词的后缀。
7.2 生成素材的闪烁、形变与伪影
视频生成最让人头疼的是“闪烁”——同一段画面里,背景的砖缝、旗帜的褶皱、皮肤的纹理在帧与帧之间会跳变,压缩后尤其明显。这类问题在3到6秒的短镜头里不算严重,真正严重的是跨越多个镜头剪辑时,观众能感受到场景的“呼吸感”。
我的解决办法是:尽量用静态镜头配合轻微运镜,减少纹理跳动;画面中不要有太多细碎的高频元素(比如密集的砖网格、细碎的砂石地面);如果必须保留,就在后期加一层动态模糊和噪点来“压住”闪烁。生成参数上,提高帧稳定性比提高分辨率更关键。如果模型支持“批次生成多候选片段”,优先选同一批次里内容连续的版本,它们之间的风格一致性远高于不同批次的结果。
7.3 无法修复的内容:该放弃就放弃
做这部片子时我明白了一个重要道理:AI修复是有限度的。一个镜头生成效果很差,大概率不是运气问题,而是这个镜头设计本身不符合模型的生成特点。比如我早期设计了一个“骑马冲出城门”的镜头,试了三十几次,马腿和骑手的姿态都无法同时保持自然,到头来我明白了:高速运动下的人马关系是当前模型的弱点,于是我把这个镜头改成了“马蹄扬起尘土的特写+城门打开的空镜+人物在城外的背影”,三个短镜头相接,既规避了技术短板,还让节奏更有张力。
7.4 工具链版本管理的教训
AIGC工具迭代速度非常快,我制作周期内就遇到了两次模型版本升级。这次教训是:不要把已经确认的画面风格锁在一个旧版本上,也不要在制作中途频繁切换新版本。新模型效果虽好,但生成的风格会和已经完成的部分有细微差异,导致前后观感割裂。
我的做法是:全片正式开始后,冻结主要模型版本。如果有特别好的新功能,只在新素材上试用,且必须用“与旧素材同场景对比测试”的方法验证风格一致性。片子的整体统一性,永远比单一镜头的最高质量更重要。
8. 做了两部AIGC电影之后,我最想说的几件事
如果只看标题,《归义军》是一个古代战争短片;但对我来说,它更像是一次对AIGC叙事边界的技术验证。第一部片子我学会了怎么生成好看的画面,第二部片子我才真正学会怎么用AI生成的内容来讲一个完整的故事。两者差的不是工具熟练度,而是对“一致性”和“节奏”的控制。
从实际执行角度,我最想分享的经验有三条。第一,前期投入再多都不嫌多,视觉基准、分镜拆解、角色定妆,每一项都会在后期省下十倍的时间。第二,用流程管理代替灵感驱动,每天只生成当天要用的镜头,绝不随手积累“以后可能用得上”的素材,否则你的硬盘和脑子都会爆炸。第三,弃用不可耻,一定要摆脱“都生成了这么多个版本,总得留下一个用”的心态。素材是手段,镜头是目的,能服务的镜头才是好素材。
下一部片子,我想尝试更长的篇幅,大概20到25分钟,结构上会引入更多人物关系,我也准备开始搭建一套更正式的本地素材库和参数管理系统。希望这次的幕后记录能帮到正在准备第一部AIGC短片的你。生成模型半年一变,但做内容的底层逻辑不会变——清楚你要表达什么,然后让工具为你服务。