TZJTan Zi Jian
← 博客

玩火:用 AI 掌握夜景 VFX 重打光

给一段原始素材加上逼真的火焰,一直都是个挑战。但如果是给夜景镜头加呢?那完全是另一回事。你合成的不只是火焰,还得操心那种强烈、闪烁的光线,会如何与周围的环境相互作用:砖墙、深色的树叶,还有烟雾本身。

如果重打光看起来不对,整个幻觉会瞬间破灭。

需要处理的原始素材

我最近用自己惯用的工作流(和 USS Missouri 项目用的是同一套)做了这个测试,结果证明,你并不需要庞大的 3D 流程,也能得到好莱坞级别的夜景重打光。你只需要一条万无一失的公式:好的首帧(FF)+ 参考视频 = 惊艳的输出。

下面是我具体的做法。

工作流拆解

第 1 步:在 After Effects 中准备

在碰任何 AI 工具之前,你需要一张干净的底。

  • 把房子的原始夜景素材导入 After Effects。
  • 找到最合适的起始帧,导出为高质量的 PNG。这将作为我们的画布。

第 2 步:打造完美的首帧(Nano Banana 阶段)

我把这张高质量的 PNG 带进 Nano Banana,把火“画”进去。为了测试我的控制力,我决定让火只集中在二楼,而不是吞没整座房子。

要做对,需要三次有针对性的提示词迭代:

  • 第 1 次迭代(铺设场景):我用红色的“X”标出二楼的窗户,并输入提示词(保持英文原文):“Blazing fire extruding out of the windows marked by red X. Fire source from inside the house. Broken windows. Soot. Smoke.”
原始首帧 + 标注
第一次迭代的结果
  • 第 2 次迭代(优化火焰):“Blazing fire extruding from windows marked X.”
第一次迭代 + 标注
第二次迭代的结果
  • 第 3 次迭代(修正光线):烟雾看起来和光源有点脱节,所以我用红圈圈出烟雾区域,并输入提示词:“Change smoke color circled in red to match the light from the fire.”
第二次迭代 + 标注
最终首帧

经过第三次调整,光线就稳稳地到位了。我得到了一张漂亮、高对比、光线完美的静态首帧。

第 3 步:在 Kling 中让它活起来

接下来,我把刚做好的首帧和原始参考视频,一起带到 Kling AI(使用 Kling Omni 模型)。

用参考视频来引导镜头运动和大致结构,我用下面这条提示词,准确地告诉 Kling 火焰和光线的物理应该如何表现(保持英文原文):

Kling 提示词:

“Reimagine @Video as a realistic house fire burning through second-story windows. Flames are slowly spreading and getting stronger. Thick black-grey smoke billowing upward, denser near the base, thinning as it rises. Flame light flickering and casting moving warm light onto the brick wall and nearby foliage. Subtle heat haze distortion near the flame edges. Night time, high contrast between fire and darkness. Use @Image as the exact first frame.”

结论:为什么这套工作流赢了

我承认,一开始我是怀疑的。把一个昏暗的夜景放进 Nano Banana,手动把火画进去,还指望 AI 逼真地为环境重新打光,这个要求似乎太高了。我以为它可能会显得平淡,或者像是贴上去的。

我完全错了。

Kling 最终输出

Kling 的最终输出相当无缝:

  • 自然的运动:火焰不只是循环播放,它们会舞动、缓慢蔓延,甚至围绕着小小的窗格做出逼真的动画。
  • 动态重打光:闪烁的橙色光芒,漂亮地投在房子的砖墙立面和周围的深色树叶上。
  • 大气的纵深:热浪扭曲和上升烟雾的渐变,把模拟出来的元素与真实世界的素材完美地融合在一起。

如果你对用生成式视频做复杂的夜景特效合成还犹豫不决,别犹豫。先多花点时间,把你的首帧调到位。如果第一帧的光线画对了,视频模型就会承担重活,让这些物理效果保持一致。