Composer无法实现景深效果,因其不生成、不存储、也不支持深度缓冲或深度图;景深必须由3D软件渲染输出独立深度通道(如OpenEXR格式),再在AE等工具中配合模糊插件驱动。

Composer 不提供、不处理、也不需要“深度信息”——它根本不是 3D 渲染器或图像处理工具,所谓“后期景深效果”在 Composer 中无法实现。
Composer 里根本没有深度缓冲(depth buffer)概念
你看到的“景深”“聚焦”“背景虚化”等词,来自影视或 3D 软件语境,但 Composer(此处指 Adobe After Effects 的旧称误用,或 Siemens/PTC 工业软件中的工程视图工具)本身不生成、不存储、也不暴露任何 z-depth 数据。它只做图层叠加与色彩合成,所有像素都默认 flat(无深度值)。试图在 Composer 界面里找 depth pass、z-channel 或 depth map 导入入口,结果一定是空白或报错 Property not found。
所谓“景深效果”必须由上游渲染器输出通道
真实可用的景深模糊,依赖 3D 软件(如 Maya、Blender、Cinema 4D)在渲染阶段额外输出一个独立的深度图(通常为 16-bit grayscale EXR,越亮表示越近)。这个图不能靠 Composer 生成,只能作为外部素材导入:
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 确保导出时勾选
Depth或Z-Depth通道,格式为 OpenEXR(非 PNG/JPEG) - 在 AE 中将 depth 图层设为
Track Matte源,配合Compound Blur或第三方插件(如 Red Giant Universe Depth Blur)驱动模糊半径 - Composer 若用于调度 AE 工程,需确认该 depth 图层路径已固化为绝对路径,且未被相对引用机制破坏
- 若 depth 图与 beauty 图分辨率/帧率/alpha 类型不一致,会直接导致模糊区域偏移或边缘泛白
Modifier.blur() 和 RenderEffect.createBlurEffect 都不是景深
这是最容易混淆的点:Jetpack Compose 的 Modifier.blur() 或 Android 的 RenderEffect.createBlurEffect() 是纯均一高斯模糊,单位是像素,无深度感知,更无法读取 depth 值做半径插值。它们和“镜头景深”在原理上毫无关系:
-
Modifier.blur(8.dp)对整个 Box 区域施加固定半径模糊,无视内容远近 -
RenderEffect.createBlurEffect(25f, 25f, Shader.TileMode.CLAMP)在 Android 12+ 上才可用,且模糊半径超过 25 会在三星旧机型崩溃 - 动画
blur()半径会触发全组件重绘,低端机帧率常跌破 15fps - 这些 API 的输出不可截图、无障碍服务不可读、打印预览中消失
真正需要景深动画,该换工具链
如果你的任务是“让产品图中某个零件清晰、背景按距离渐虚”,这不是 Composer 能解决的问题。可行路径只有两条:
- 回到 3D 软件,在渲染设置里启用
Depth of Field,用物理摄像机参数(f-stop、focus distance)直接输出带自然虚化的 beauty 图,再导入 Composer/AE 做合成 - 放弃 Composer,改用支持运行时 depth-aware blur 的引擎:Unity HDRP +
DepthOfFieldVolume、Unreal Engine 的Post Process Volume,或 DaVinci Resolve 的Fusion Depth Blur节点
关键不在怎么调参数,而在是否拥有并正确使用深度数据源——Composer 从不产生它,也从不消费它。

















