企业项目

Dunelm:LiDAR 支持 AR“室内查看”体验

基于 ARKit/ARCore 的虚幻引擎 C++ 室内视图体验; LiDAR 遮挡、PBR 和产品数据管道。

Unreal EngineC++ARKitARCoreLiDARDepth OcclusionMobile RenderingPBR MaterialsPlane Detection3D Asset PipelineREST APIE-commerce Integration
LiDAR 支持 Dunelm 的 AR 室内视图体验

工程影响

可衡量的范围与结果

AR平台
ARKit + ARCore

iOS 和 Android 的常见室内视图体验。

空间精度
激光雷达遮挡

真实世界物体的放置更加可信。

产品流程
放置和缩放

将 AR 体验与电子商务产品数据连接起来的流程。

快速总结

  • 角色:联合创始人兼首席开发人员
  • 持续时间:2017年9月至2021年1月
  • 平台:iOS、Android
  • 引擎:虚幻引擎(C++)
  • AR框架:ARKit、ARCore
  • 区分:LiDAR基于深度的遮挡+统一的AR抽象层

时间表(2017-2022)

  • 2017 年:MVP/PoC 和第一个客户演示。
  • 2018-2020:产品化、Dunelm 合作伙伴关系、资产管道和 AR 部署流程。
  • 2021 年:最终改进和移交(结束我的积极贡献)。
  • 2022 年:Dunelm 客户启动(在我积极贡献之后)。

问题和限制

  • 需要准确的比例和现实的放置以降低退货率。
  • 移动设备上的性能限制和不同的传感器功能。
  • ARKit/ARCore API 差异和跨平台一致性。
  • 使大型产品目录支持 AR。
  • 电子商务集成和数据的最新性。

解决方案总结

我通过在虚幻引擎上构建室内视图体验,为 ARKit/ARCore 设计了一个统一的抽象层。通过 LiDAR 支持的深度遮挡、PBR 材质和产品数据管道,实现了视觉真实感和与电子商务流的兼容性。

架构概览

  • 统一 AR 会话层:将 ARKit/ARCore 差异引入单个 API。
  • 坐标变换和平面检测归一化。
  • 渲染管道:PBR 材质、阴影/灯光适应、LOD。
  • 产品数据流:REST API -> 缓存 -> 流媒体 -> AR 场景。

LiDAR 遮挡(基于深度)+ 后备策略

我在 LiDAR 支持的 iOS 设备上使用深度图应用了每像素遮挡,并确保真实物体正确隐藏虚拟产品。在非 LiDAR 设备上,我使用了更轻的回退流程以及基于平面的遮挡和深度估计。- 深度图 -> 遮挡着色器 -> 带时间过滤的稳定掩模。

  • 非激光雷达后备:平面遮挡+简化的边缘平滑。
  • 权衡:高真实感与电池/性能成本。

跨平台 AR(ARKit + ARCore)

我通过运行时转换对 ARKit 和 ARCore 的不同坐标系进行标准化,以提供单一定位和缩放流程。根据设备功能,通过会话初始化和功能门控保留奇偶校验。

产品数据和资产管道

通过REST API检索产品信息和3D资产;缓存层和渐进式流媒体的目标是快速启动。 3D 模型通过 LOD、纹理压缩和 PBR 材质标准化针对移动设备进行了优化。

性能和质量保证

  • iOS/Android 设备矩阵上的配置文件和回归测试。
  • 根据 GPU/CPU 预算调整 LOD 和纹理质量。
  • 电池消耗和热节流的极限测试。

影响/结果

  • 应用程序采用 - 10 万次下载(前 3 个月) - 来源:App Store Connect/Play Console(可通过 Dunelm 内部分析验证)。
  • 转化率增加 - +35% - 期间:[X],基线:AR 会话与非 AR 会话 - 来源:GA4/Firebase(如果经过验证,可以添加)。
  • 退货率降低 - -40% - 期间:[X],基线:AR 前 - 来源:Dunelm 内部 BI(如果确认,可以添加)。
  • 会话持续时间增加 - +50% - 期间:[X] - 来源:分析(如果经过验证,可以添加)。

关键权衡

  • 虚幻引擎选择:视觉质量提高,但以移动优化为代价。
  • 仅 LiDAR 质量与覆盖范围:与非 LiDAR 后备的平衡。
  • 高分辨率资源与快速打开:流媒体+ LOD。
  • 真实感与电池消耗:着色器和后处理限制。

## 常问问题### LiDAR 遮挡如何工作? 通过深度图应用每像素遮挡;真实物体准确隐藏虚拟物体。

非 LiDAR 设备会发生什么情况?

基于平面的遮挡和衰减的深度估计保留了基本的真实感。

秤精度是如何实现的?

产品尺寸是从 REST API 中使用指标值提取的,并准确应用于场景。

如何衡量绩效?

FPS、内存和加载时间通过配置文件工具和设备矩阵测试进行跟踪。

资产管道是如何构建的?

产品模型通过 LOD + 纹理压缩进行了优化,并加载了渐进式流媒体。

遥测和质量跟踪怎么样?

通过设备/操作系统分段定期监控错误、性能和使用日志。

ARKit/ARCore 差异是如何处理的?

通过统一的抽象层和运行时特征门控实现了单一流程。

相关项目

项目印记

  • 公司/客户:Dunelm(英国)
  • 公司:Lindow Labs(联合创始人)
  • 角色:联合创始人兼首席开发人员
  • 持续时间:2017年9月至2021年1月
  • 平台:iOS、Android
  • 引擎:虚幻引擎(C++)
  • AR框架:ARKit、ARCore、LiDAR
  • 发布:2022 年 6 月(Dunelm 方面;在我积极贡献之后)
  • 地点:英国伦敦/土耳其伊斯坦布尔(远程)

将类似的架构决策 应用到你的产品——写信给我。