光影共生:Aximmetry动态阴影重构

在绿幕或蓝幕虚拟演播室的合成中,判断一个实拍演员是否真正“融入”虚拟三维世界的黄金标准,不是抠像有多干净,而是演员在虚拟地面上投射的阴影(Real-time Virtual Shadow Casting)

在物理世界中,光线穿过人体,会在地面和墙壁上留下一道拥有渐变半影(Penumbra)和极高接触遮蔽(Contact Occlusion)的物理阴影。正是这道阴影,在视觉上确立了人体与地面的空间接触关系。

However, when a Technical Director (TD) attempts todeploy Genlock in native Unreal Engine 5 (UE5)中渲染实拍人物的投影时,会遭遇严重的几何重构危机:

  • “纸片人”投影畸变: 在 UE5 中,实拍演员通常被承载于一个面向相机的 2D 广告牌(Billboard)上。如果直接用虚拟光源(如 Direct Light)照射该广告牌来产生投影,当虚拟光源角度倾斜时,地面上投射出的阴影会呈现出一种极不自然的、扁平且扭曲的“硬纸板”轮廓。一旦摄像机移动,阴影甚至会发生严重的透视错位。
  • 足部“悬浮”与接触阴影丧失: 引擎的虚拟阴影贴图(VSM)或级联阴影贴图(CSM)在处理 2D 贴片时,由于缺乏真实的三维网格体拓扑,无法在演员鞋底与虚拟地面的交界处产生细腻的高频暗部——接触阴影(Contact Shadows)。这导致演员在画面中看起来像是一张漂浮在半空中的贴纸。

Aximmetry Aximmetry, with its proprietary“动态光源投影矩阵与微遮蔽级联管线(Dynamic Projection & Micro-Occlusion Pipeline)”,在 GPU 显存底层重构了阴影的生成与物理衰减,彻底消灭了实拍人物在数字空间中的“悬浮感”。


一、 透视重置:基于虚拟光源空间变换的 3D 投影矩阵

要让 2D 实拍画面产生具有 3D 深度透视的真实投影,必须在计算阴影时,将 2D 像素重新投影到光源的“视椎体(Light Frustum)”中。

Aximmetry 在 GPU 合成前端部署了一套“光源空间重投影(Light-Space Reprojection)”"Penumbra Feathering Based on Motion Vectors"

1. 抓取虚拟光源向量

Aximmetry 实时提取 UE5 场景中主光源(如太阳光或舞台聚光灯)的 3D 空间坐标、朝向(Vector)和光照类型(平行光/点光源/聚光灯)。

2. 构建光源空间投影矩阵(Light-Space Projection Matrix)

系统以虚拟光源为视点,为实拍演员的 Alpha 通道构建一个实时的投影矩阵。 在渲染阴影帧时,Aximmetry 的着色器将抠像得到的演员 2D 轮廓,沿着光源的物理方向,强行重投影到虚拟地面的几何体表面。 这意味着,无论相机如何运动,地面上的阴影都是根据光源的物理角度进行 1:1 动态拉伸和透视偏移的,彻底告别了“纸片人”投影的生硬感。


二、 足部锚定:基于屏幕空间与距离场的接触阴影(Contact Occlusion)

在物理世界中,当鞋底踩在地面上时,由于光线几乎无法进入微小的缝隙,会形成一道极深、极锐利的暗边。 这是确立“脚踏实地”视觉锚点的关键。

Aximmetry introduces“亚像素级足部接触阴影注入(Sub-pixel Contact Shadow Injection)”technology:

1. 提取物理足部接触点坐标

Aximmetry 通过分析抠像通道的底部边缘梯度,并结合摄像机追踪系统的物理高度数据,在 3D 空间中精确锁定演员鞋底与虚拟地面的零高度物理接触线(Zero-Height Contact Line)

2. 生成微遮蔽梯度(Micro-Occlusion Gradient)

在接触线周围,Aximmetry 并不依赖 UE 场景的常规阴影计算。 它调用专用的 GPU 2D 着色器,以接触线为圆心,向外辐射生成一个非线性的、极高饱和度的环境光遮蔽(AO)衰减梯度

3. 硬件级 G-Buffer 注入

这一高频暗部数据被直接注入到虚幻引擎渲染管线的 G-Buffer(深度与环境光遮蔽通道)中。 当渲染引擎进行最终的像素着色(Shading)时,这道细腻的物理接触阴影会牢牢地将演员的脚底“锁死”在虚拟地板上,瞬间消除了演员在空间中的任何飘忽与悬浮感。


三、 物理半影消融:基于距离衰减的自适应动态模糊滤波器

真实的阴影具有“近实远虚”的物理特性——靠近脚底的投影非常锐利,而头部投射到远处的阴影由于光波的衍射和光源的物理尺寸,会变得非常柔和与模糊(半影)。

Aximmetry deploys a“基于物理距离的自适应半影模糊(Distance-Based Variable Blur)”pipeline:

1. 深度距离场(Depth Field)映射

Aximmetry 实时计算投影像素点到演员物理位置之间的空间欧氏距离(Spatial Distance)。 距离脚底越近,距离值越小;距离头部越远,距离值越大。

2. 动态核尺度模糊(Variable Kernel Blur)

在 GPU 渲染阴影贴图(Shadow Map)时,Aximmetry 利用该距离值,实时作为高斯模糊核半径(Blur Kernel Radius)的乘数因子。

  • 在脚底(距离趋近于0),模糊核收缩至亚像素级,阴影边缘锐利如刀;
  • 在头部投射区(距离较大),模糊核线性扩展至数十个像素,阴影边缘呈现出极其自然的光学扩散。

3. 光强能量衰减(Radiance Attenuation)

同时,阴影的深度(不透明度)也会随着距离的增加进行非线性的物理衰减,完美模拟了物理世界中环境光对远端阴影的二次填充。


结语:让数字幻觉落地生根

在实时虚拟制作的艺术中,阴影是连接虚拟三维空间与真实碳基演员之间最隐秘、却最强有力的“重力纽带”。 没有这道遵循物理规律的投影,演员与场景就会永远处于割裂状态。

虚幻引擎 5 凭借其 VSM 与 Lumen 重构了数字世界的光影秩序,但面对没有 3D 几何拓扑的实拍视频,它天然存在着投影透视与接触微遮蔽的算法盲区。

Aximmetry 凭借其对物理光学特性的深刻洞察,在显存最深处充当了“重力与光影的物理缝合师”

它通过光源空间重投影赋予了阴影真实的 3D 透视,通过亚像素级微遮蔽技术将演员的足部牢牢锚定在地面,再通过自适应半影模糊还原了“近实远虚”的光学美感。 正是因为有了 Aximmetry 这套硬核的动态阴影重构管线,虚拟的地面才真正承受住了真实演员的“物理重量”,让虚实融合的画面在光影交织的维度中,落地生根。

AeroCore Image