在增强现实 (AR) 中,3D 模型通过实时跟踪、环境理解和合成的组合渲染到实时视频流上。 该过程首先捕获来自摄像头的实时视频流,并对其进行分析以确定设备在 3D 空间中的位置和方向。 这通常使用计算机视觉技术(如 SLAM(同步定位与地图构建))来完成,该技术识别环境中的特征点并逐帧跟踪它们的移动。 一旦已知设备相对于物理世界的位置(位置和旋转),AR 系统中的虚拟相机就会对齐以匹配该位置,从而确保 3D 模型看起来锚定到真实世界的表面或坐标。
下一步涉及使用图形管道渲染 3D 模型。 使用考虑设备姿势的矩阵,将模型的顶点变换为虚拟相机的视图空间。 计算光照和阴影以匹配真实环境——例如,ARKit 或 ARCore 等 AR 框架使用来自相机馈送的环境光估计来调整虚拟模型的亮度和颜色。 然后,着色器处理模型的纹理和材质,将它们与实时视频流混合。 此阶段的一个关键部分是遮挡处理,其中深度缓冲区或分割掩码可确保模型正确地出现在真实物体的前面或后面。 例如,如果将虚拟杯子放在桌子上,则深度测试可防止它覆盖位于其前方的真实物体。
最后,渲染的 3D 模型被合成为实时视频流。 这涉及 alpha 混合,以将模型的像素与相机的像素组合起来,同时保持透明效果。 通常应用性能优化(例如减少多边形计数或使用细节级别 (LOD) 技术)以保持流畅的帧速率。 使用 Unity 或 Unreal Engine 等工具的开发人员可以利用内置的 AR 插件来自动执行此过程的大部分内容。 例如,在 Unity 的 AR Foundation 中,单个着色器可以通过采样相机的深度纹理来处理环境光照和遮挡。 结果是虚拟元素和真实元素的无缝集成,从而能够实现家具预览或交互式游戏等感觉植根于用户物理空间中的应用程序。