1. 从“抽卡”到“捏泥人”:为什么我决定用3D画布重构AI短片工作流
做AI短片这一年多,我最深的感受就一个字:赌。输入一段提示词,点下生成,然后像开盲盒一样等结果——构图对不对、角色有没有崩、镜头运动是不是我想要的方向,全看运气。一条15秒的片子,抽几十次能出一条能用的就算烧高香。这种“提示词抽卡”的模式,在单张图阶段还能忍,一旦进入多镜头叙事,问题就彻底暴露了:角色换个角度就变脸,场景换个机位就穿帮,镜头之间的空间关系全靠脑补,根本谈不上“导演”二字。
ArtCraft这个项目,就是冲着这个痛点来的。它的核心思路很直接:把AI生成从“文字驱动”改成“空间驱动”。你不再是对着输入框敲提示词,而是在一个3D画布上摆机位、放角色、调灯光,像搭积木一样把整个场景的空间结构先定下来,再让AI基于这个确定的三维信息去渲染画面。说白了,就是从“抽卡”变成“捏泥人”——你先捏出个大概形状,AI负责把它精细化、风格化。
这套工作流适合谁?如果你只是偶尔生成单张配图,那传统提示词方式够用了,没必要折腾。但如果你在做多镜头短片、分镜预演、角色一致性要求高的叙事内容,或者你是个分镜师、独立动画人、短视频导演,想用AI提效又不想被随机性折磨,那这套3D画布的思路值得你花时间研究。它解决的不是“能不能生成”的问题,而是“能不能可控地、可重复地生成”的问题。
我花了大概三周时间,把市面上能试的3D+AI方案都跑了一遍,踩了不少坑,也总结出一套相对稳定的流程。下面我把整个思路拆开讲,从设计逻辑到实操细节,尽量说透。
2. 核心设计思路:为什么是3D画布,而不是继续卷提示词
2.1 提示词抽卡的根本缺陷在哪里
先想清楚一个问题:为什么提示词方式在多镜头场景下必然翻车?根源在于信息维度的缺失。一段文字提示词,本质上是在用一维的符号序列去描述一个三维的空间关系。你写“一个穿红衣服的女孩站在左边,背景是咖啡馆”,AI理解的是“红衣”“女孩”“左边”“咖啡馆”这几个概念的统计关联,它并不知道“左边”到底是画面左边还是场景左边,也不知道女孩和咖啡馆之间的空间距离、遮挡关系、透视角度。
单张图的时候,这些模糊性可以被AI的“脑补”能力掩盖过去,甚至产生意外的美感。但到了多镜头,你需要的是跨帧的一致性——同一个角色在镜头A和镜头B里必须是同一个人,同一个场景在不同机位下必须保持空间逻辑自洽。这时候,一维提示词的信息量根本不够用,AI只能靠猜,猜错就是崩。
2.2 3D画布补上了哪几个关键维度
ArtCraft的思路,是在提示词和最终画面之间,插入一个显式的三维场景层。这个层至少补上了四个关键维度:
- 空间坐标:每个角色、道具、场景元素在三维空间中有明确的XYZ位置,镜头机位也有明确的坐标和朝向。这意味着“左边”不再是模糊的,而是精确的(-2, 0, 3)。
- 相机参数:焦距、光圈、机位高度、俯仰角、旋转角,这些在传统提示词里只能靠“广角”“俯拍”这种模糊词汇描述,现在全部变成可调参数。
- 光照信息:主光方向、色温、强度、阴影软硬,这些直接影响画面氛围和角色立体感,在3D画布里可以直观调整。
- 时间轴:多镜头之间的相机运动、角色动作、场景切换,可以在时间轴上编排,形成真正的“分镜序列”。
有了这四个维度,AI生成就不再是“从零猜测”,而是“基于已知空间信息进行风格化渲染”。随机性被大幅压缩,可控性自然就上来了。
2.3 为什么不用传统3D软件直接渲染
你可能会问:既然都搭3D场景了,为什么不直接用Blender、C4D渲染出图,还要过一道AI?答案在于风格化和效率。传统3D渲染要达到电影级质感,需要精细的模型、复杂的材质、昂贵的渲染时间,而且风格调整极其麻烦——你想从写实改成赛博朋克,基本等于重做。
AI生成的优势在于,它可以在一个粗糙的3D白模基础上,直接“脑补”出高质量的材质、光影和风格。你搭一个方块人,AI能把它渲染成穿皮衣的赛博格;你摆几个简单几何体,AI能把它变成繁华的街景。3D负责结构和一致性,AI负责质感和风格,各取所长,这才是这套工作流的核心价值。
2.4 方案选型的几个关键取舍
在实际搭建时,我面临几个选择,这里把取舍逻辑说清楚:
| 方案 | 优势 | 劣势 | 我的选择 |
|---|---|---|---|
| 纯提示词+ControlNet | 上手快,工具链成熟 | 多镜头一致性差,空间关系靠猜 | 单镜头可用,多镜头放弃 |
| 3D软件渲染+AI重绘 | 空间精确,可控性最强 | 流程重,渲染慢,风格迁移损失细节 | 适合高精度项目,日常太笨重 |
| 3D白模+AI实时渲染 | 兼顾可控与效率,风格灵活 | 需要调教AI对白模的理解 | 最终采用,平衡最好 |
| 纯AI视频生成 | 动态效果好 | 一致性最差,几乎不可控 | 仅用于最终插帧或补帧 |
我最终选的是3D白模+AI实时渲染的路线。具体来说,用轻量级3D引擎搭场景,导出深度图、法线图、姿态图等多通道信息,再喂给AI模型做风格化生成。这样既保留了3D的空间精确性,又利用了AI的质感生成能力。
3. 核心细节拆解:3D画布上到底要摆什么、怎么摆
3.1 场景搭建:从“白模”开始,别一上来就抠细节
很多人一进3D画布就想把模型做精细,这是大忌。ArtCraft的工作流里,3D场景的作用是提供空间约束,不是最终画面。你搭的白模越简单,AI的发挥空间越大,生成速度也越快。
我的做法是:用基础几何体(立方体、球体、圆柱体)快速搭建场景骨架。比如一个咖啡馆场景,我用一个立方体当吧台,几个圆柱体当桌子,球体当吊灯,角色用胶囊体代替。整个过程不超过10分钟,但空间关系已经定死了——吧台在画面左侧,桌子在中景,吊灯在顶部,角色站在吧台后面。
注意:白模的比例一定要准。角色身高、桌子高度、镜头距离,这些比例关系会直接影响最终画面的透视。我试过用比例失调的白模,AI生成出来的画面透视全乱,角色像巨人或者侏儒。
3.2 相机设置:焦距和机位决定一切
相机是3D画布上最重要的元素,没有之一。同样的场景,换个焦距和机位,画面叙事完全不一样。我一般会先定几个关键机位:
- 主镜头:中景,焦距50mm,机位高度1.5米,平视。这是最常用的叙事镜头,接近人眼视角。
- 特写镜头:焦距85mm,机位高度1.2米,稍微俯拍。用于强调角色表情或关键道具。
- 全景镜头:焦距24mm,机位高度2米,轻微俯拍。用于交代环境关系。
- 过肩镜头:焦距35mm,机位在角色肩膀后方,用于对话场景。
这些参数不是随便定的。50mm接近人眼透视,适合日常叙事;85mm压缩空间,适合特写;24mm夸张透视,适合大场景。你在3D画布里调好这些,AI生成出来的画面就会自然带有对应的镜头感,比在提示词里写“特写”“广角”精确得多。
3.3 角色摆放与姿态控制
角色一致性是多镜头短片的命门。在3D画布里,我通常用两种方式控制角色:
第一种是静态姿态:用简单的骨骼绑定或者直接摆胶囊体的朝向,确定角色在空间中的位置和面向。比如角色A站在吧台左侧,面向右前方45度;角色B站在右侧,面向左前方30度。这些朝向信息会通过姿态图传给AI,确保生成的角色朝向一致。
第二种是动态姿态:如果角色有动作,我会在3D软件里做简单的关键帧动画,导出每一帧的姿态图。AI基于这些姿态图生成画面,动作连贯性比纯提示词好太多。
实操心得:角色的服装和面部特征,不要在3D阶段抠。用纯色材质标记不同角色就行,比如角色A用红色,角色B用蓝色。AI会根据颜色标记和提示词,自动生成对应的服装和面部。这样既保证了区分度,又给了AI发挥空间。
3.4 光照与氛围的预设置
光照在3D画布里调,比在提示词里写“暖光”“冷光”“逆光”精确一百倍。我一般会设置三个光源:
- 主光:从场景左上方45度打下来,强度1.0,色温5600K(日光白)。
- 补光:从右前方低角度补,强度0.3,色温4000K(暖白),用于填充阴影。
- 轮廓光:从角色后方打,强度0.8,色温7000K(冷白),用于勾勒角色边缘。
这套三点布光是最经典的,能保证角色立体感和场景层次。AI拿到光照信息后,会在此基础上做风格化处理——你提示词里写“赛博朋克”,它就会把主光染成霓虹色;写“黄昏”,它就会把色温整体拉暖。
3.5 多通道导出:AI到底需要哪些信息
3D画布搭好后,需要导出哪些通道给AI?我实测下来,这几个是必须的:
- 深度图:告诉AI每个像素离相机多远,用于控制景深和空间层次。
- 法线图:告诉AI每个面的朝向,用于控制光照和材质反射。
- 姿态图:告诉AI角色的骨骼位置和朝向,用于保持角色一致性。
- 边缘图:告诉AI物体的轮廓边界,用于控制生成范围。
- 语义分割图:告诉AI每个区域是什么(人、背景、道具),用于分区控制。
这些通道图在ComfyUI或者类似的节点式工作流里,可以分别接入不同的ControlNet节点,实现精细控制。导出格式用PNG,分辨率建议至少1080P,太低会影响生成质量。
4. 实操全流程:从零搭一个可复现的3D+AI短片工作流
4.1 工具链选型与安装配置
我用的工具链如下,都是开源或免费方案,方便复现:
- 3D引擎:Blender(免费,插件生态好,Python脚本支持强)
- AI生成:Stable Diffusion + ComfyUI(节点式工作流,控制精细)
- 控制插件:ControlNet(深度、法线、姿态、边缘、分割多通道支持)
- 后期合成:DaVinci Resolve(免费版够用,调色和剪辑一体)
安装配置这块,Blender直接官网下载,ComfyUI用Git克隆到本地,ControlNet模型放到指定目录。具体路径和版本号我就不列了,网上教程很多,注意版本兼容就行。
注意:ControlNet模型要下载对应版本的,SD1.5和SDXL的模型不通用。我一开始混用了,结果姿态图完全没效果,排查了半天才发现是模型版本不对。
4.2 场景搭建的实操步骤
打开Blender,新建场景,按以下步骤操作:
- 设置单位:场景单位设为米,比例1.0。这样角色身高1.7米、桌子0.75米这些参数才准确。
- 搭建白模:用立方体、圆柱体、球体快速搭建场景。角色用胶囊体代替,高度1.7米。
- 摆放角色:按分镜需求,把角色胶囊体放到对应位置,调整朝向。
- 设置相机:新建相机,按前面说的焦距和机位参数设置。可以多建几个相机,对应不同镜头。
- 布置灯光:按三点布光设置主光、补光、轮廓光。
- 导出通道图:用Blender的合成节点或者Python脚本,批量导出深度图、法线图、姿态图、边缘图、分割图。
整个过程熟练的话,一个简单场景30分钟能搭完。复杂场景可能一两个小时,但相比传统3D建模,已经快太多了。
4.3 ComfyUI工作流搭建与参数调优
ComfyUI的工作流是这套方案的核心。我搭的工作流大致如下:
- 输入层:加载深度图、法线图、姿态图、边缘图、分割图。
- ControlNet层:每个通道图接入对应的ControlNet节点,权重设置不同。深度图权重0.8,法线图0.6,姿态图1.0,边缘图0.4,分割图0.7。
- 提示词层:输入风格描述,比如“赛博朋克风格,霓虹灯光,雨夜街道,电影质感”。
- 采样层:用DPM++ 2M Karras采样器,步数25-30,CFG 7-9。
- 输出层:保存生成图像,分辨率1080P。
参数调优这块,我踩过的坑主要是权重平衡。姿态图权重太低,角色会崩;深度图权重太高,画面会显得僵硬。经过多次测试,上面这套权重组合在我这边比较稳定。
实操心得:建议先用低步数(15步)快速测试,看构图和姿态对不对,再提高步数出最终图。这样能省不少时间。
4.4 多镜头序列的生成与一致性校验
单镜头跑通后,多镜头序列的生成就是重复劳动。但有几个关键点要注意:
- 角色一致性:确保每个镜头里角色的姿态图、分割图标记一致。我一般会给每个角色分配固定的颜色标记,比如角色A永远是红色,角色B永远是蓝色。
- 场景一致性:同一个场景的不同机位,深度图和法线图要基于同一个3D场景导出,不能重新搭。
- 光照一致性:如果场景光照不变,灯光参数不要改。如果时间变化(比如从白天到夜晚),可以调整色温和强度,但要保持方向一致。
生成完所有镜头后,导入DaVinci Resolve做剪辑和调色。调色这一步很重要,因为AI生成的每个镜头可能有轻微色差,统一调色能让整片看起来更连贯。
4.5 后期合成与输出参数
后期合成主要做三件事:
- 剪辑:按分镜顺序排列镜头,调整每个镜头的时长。一般每个镜头2-4秒,太快观众看不清,太慢节奏拖沓。
- 调色:用DaVinci的色轮和曲线,统一每个镜头的色调。我一般会拉一个LUT,让整体风格统一。
- 输出:分辨率1080P,帧率24fps(电影感)或30fps(网络视频),码率10-20Mbps。格式用H.264,兼容性好。
整个流程跑下来,一个15秒的短片,从搭场景到输出,大概需要4-6小时。相比纯提示词抽卡,时间可能差不多,但可控性和一致性完全不是一个级别。你不再需要抽几十次碰运气,而是像导演一样,精确控制每一个镜头。
5. 常见问题与排查技巧实录
5.1 角色一致性崩坏:原因与修复
这是最常见的问题。表现是同一个角色在不同镜头里脸型、发型、服装不一致。原因通常有三个:
- 姿态图不一致:检查每个镜头的姿态图,确保角色的骨骼位置和朝向一致。如果姿态图有偏差,AI就会生成不同的角色。
- 分割图标记混乱:确保角色在分割图里的颜色标记一致。我试过用相近颜色标记不同角色,结果AI把两个角色混在一起了。
- 提示词描述矛盾:如果提示词里对角色描述有变化,AI也会跟着变。建议把角色描述固定成一个模板,每个镜头都复制粘贴。
修复方法:先检查姿态图和分割图,再检查提示词。如果都没问题,可能是ControlNet权重太低,适当提高姿态图权重到1.2试试。
5.2 画面透视错乱:3D场景的锅
表现是生成画面的透视关系不对,比如桌子看起来是斜的,或者角色和场景的比例失调。这通常是3D场景本身的问题:
- 相机焦距设置错误:检查相机焦距是否和预期一致。我试过用24mm焦距拍特写,结果透视夸张到变形。
- 白模比例失调:检查角色和场景元素的比例。角色1.7米,桌子0.75米,这些基本比例不能错。
- 深度图导出问题:检查深度图是否正常导出,有没有被裁剪或压缩。
修复方法:在Blender里用相机预览功能,先确认3D场景的透视是对的,再导出通道图。
5.3 生成速度太慢:优化策略
AI生成速度慢是常态,但可以优化:
- 降低分辨率:先用512x512测试构图,确认后再用1080P出图。
- 减少ControlNet通道:不是每个通道都必须用。如果场景简单,可以只用深度图和姿态图,速度能快一倍。
- 用LCM或Turbo模型:这些加速模型能把步数降到4-8步,速度提升明显,但质量会略有下降。
注意:加速模型和ControlNet的兼容性需要测试,有些组合会出问题。
5.4 风格迁移过度:AI把白模“脑补”得太离谱
有时候AI会把白模脑补成完全不同的东西,比如把胶囊体角色生成成机器人或者动物。这通常是提示词太模糊,或者ControlNet权重太低。
修复方法:在提示词里明确描述角色类型(“人类女性”“穿着皮衣”),提高姿态图和分割图权重,降低深度图权重。让AI知道哪些是必须保留的,哪些是可以发挥的。
5.5 常见问题速查表
| 问题 | 可能原因 | 排查方法 | 解决方案 |
|---|---|---|---|
| 角色变脸 | 姿态图不一致 | 对比各镜头姿态图 | 统一姿态图,提高权重 |
| 透视错乱 | 相机参数错误 | 检查焦距和机位 | 重新设置相机,预览确认 |
| 生成慢 | 分辨率过高 | 查看生成日志 | 降低分辨率,减少通道 |
| 风格跑偏 | 提示词模糊 | 检查提示词 | 明确描述,调整权重 |
| 画面僵硬 | 深度图权重过高 | 检查权重设置 | 降低深度图权重 |
| 角色混淆 | 分割图标记相近 | 检查颜色标记 | 用对比色标记不同角色 |
6. 这套工作流还能怎么扩展
跑通基础流程后,我试了几个扩展方向,效果不错:
动态镜头:在Blender里给相机做关键帧动画,导出每一帧的通道图,AI逐帧生成后再合成视频。这样能实现真正的相机运动,比如推拉摇移。缺点是生成量大,一个5秒的镜头24fps就是120帧,需要耐心。
多角色互动:用不同的颜色标记多个角色,在分割图里精确区分。AI会根据标记生成不同角色,互动场景也能hold住。我试过两个角色对话的场景,一致性比纯提示词好太多。
风格迁移:同一套3D场景和通道图,换不同的提示词,可以生成完全不同风格的画面。比如同一场景,提示词写“写实电影”就是写实风,写“日式动画”就是二次元风。这给创作带来了极大的灵活性。
与视频生成模型结合:把AI生成的静帧作为关键帧,喂给视频生成模型做插帧,能得到更流畅的动态效果。不过这块我还在测试,稳定性有待提高。
这套工作流的核心价值,是把AI短片创作从“赌运气”变成了“做工程”。你不再需要祈祷AI理解你的意图,而是用3D画布把意图明确地“画”出来,让AI在这个框架内发挥。对于需要多镜头叙事、角色一致性要求高的项目,这可能是目前最靠谱的方案。当然,它也有门槛——你得学点3D基础,得搭工作流,得调参数。但一旦跑通,效率和质量提升是肉眼可见的。我个人的体会是,前期投入的学习成本,在第二个项目里就赚回来了。