TZJTan Zi Jian
← 博客

从绿幕到写实的城市环境:After Effects + AI 混合工作流

在传统合成与生成式 AI 之间找到最佳平衡点,是目前 VFX 领域最令人兴奋的挑战之一。我最近完成了一个镜头,正好体现了这种混合思路:用 After Effects 里传统的空间 blocking,再让 AI 承担环境生成的重活。

下面拆解一下工作流、用到的工具,以及我一路上注意到的几个怪癖。

需求与场景

设定:客户需要为一款战术射击游戏的宣传片,做一个粗粝、写实的电影感镜头。

动作:一名狙击手趴在混凝土屋顶上,朝画外的目标打出一发后坐力很大的子弹,背景是一座普通、安静的夜晚城市。

难点:唯一提供的素材,是一段演员在摄影棚绿幕前完成动作的固定镜头。没有环境底板,也没有任何 3D 环境资产。

绿幕素材

我没有从零开始画一张 matte painting,或者搭一个完整的 3D 环境,而是借这个机会,测试一条用 Nano Banana 和 Kling AI 辅助的流程。

第 1 步:基础(After Effects)

一切都从 After Effects 开始。为了得到一张干净的底,我用 Keylight 抠掉绿幕,把演员完整地分离出来。

对素材应用 Keylight 和垃圾遮罩

AI 视频生成器需要可靠的空间信息来理解深度和几何,所以我不能直接把 alpha 通道喂给生成器。我直接在 AE 里搭了一个粗略的 3D 空间 block-out 作为引导:

  • 灰色 3D 立方体:放在演员周围,用来标示混凝土屋顶和女儿墙。
  • 红色 3D 立方体:放在背景里,用来标示远处公寓楼的比例和位置。
  • 蓝色纯色层:放在最后方,作为夜空的占位。
在 AE 中为素材添加的 3D 元素

第 2 步:Look Dev(Nano Banana)

空间 blocking 完成后,我导出了这段序列的首帧(FF)。

我把这张 FF 放进 Nano Banana 来确立美术方向。我让模型去解读我的彩色立方体:把灰色方块变成风化、带污渍的混凝土,把红色方块变成带消防梯和水塔的写实砖砌公寓楼,把蓝色纯色层变成阴沉的夜空。

这用了几轮迭代生成,但几何 blocking 完全经得起考验,把生成结果精确地引导到了我需要的地方。

Nano Banana Pro 的首帧输出

第 3 步:运动生成(Kling AI)

这一步变得特别有意思。我拿了原始的参考视频(抠像后的演员与简单的彩色 3D 立方体互动),连同 Nano Banana 最终确定的首帧,一起交给 Kling AI 处理。

我在这个镜头里用 AI 的一个重要原因,是处理那些瞬间的特效。我让 Kling 在演员做出开枪动作的那一刻,准确地生成枪口火焰、枪口烟雾和灰尘粒子。环境的一致性好得出奇。AI 追踪了这些立方体的结构意图,在演员动作的后方漂亮地填充出写实的城市背景,同时成功生成了枪火效果。

Kling 生成的结果

注意事项:我发现一个有意思的怪癖,是 Kling 对演员最后姿势的解读。后坐力本身与原始素材完美吻合,但在动作的最后,Kling 把步枪放回了最初的起始位置。而在原始绿幕素材里,由于后坐力的重量,演员实际上是把步枪稍微向后抱着的。这很好地提醒我们:尽管 AI 在风格迁移和环境生成上表现出色,严格的运动学准确性依然需要一双时刻留意的眼睛。

第 4 步:最终合成(After Effects)

Kling 成功生成枪口火光和烟雾之后,我把输出带回 After Effects 做收尾。

我用一些光学辉光、轻微的暗角和电影感调色,把整个镜头统一起来,让 AI 生成的城市与演员原有的光线融为一体。

最终输出

最后的想法:用基础 3D 形状来控制 AI 生成,是一种非常有效的工作流。通过在 After Effects 里明确地定义体积和深度,你可以大幅减少 AI 幻想出结构细节的倾向,让你能把全部精力放在美术方向和完成合成上。

整合后的工作流可视化