企业项目
Dunelm:LiDAR 支持 AR“室内查看”体验
基于 ARKit/ARCore 的虚幻引擎 C++ 室内视图体验; LiDAR 遮挡、PBR 和产品数据管道。
Unreal EngineC++ARKitARCoreLiDARDepth OcclusionMobile RenderingPBR MaterialsPlane Detection3D Asset PipelineREST APIE-commerce Integration
工程影响
可衡量的范围与结果
- 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 差异是如何处理的?
通过统一的抽象层和运行时特征门控实现了单一流程。
相关项目
- 快速渲染:实时 3D 产品配置器
- Mulcol:VR Firestop 装配模拟
- [Mulcol:AR 装配目录(基于标记)](/tr/projects/kurumsal/mulcol- assembly-catalog/)
项目印记
- 公司/客户:Dunelm(英国)
- 公司:Lindow Labs(联合创始人)
- 角色:联合创始人兼首席开发人员
- 持续时间:2017年9月至2021年1月
- 平台:iOS、Android
- 引擎:虚幻引擎(C++)
- AR框架:ARKit、ARCore、LiDAR
- 发布:2022 年 6 月(Dunelm 方面;在我积极贡献之后)
- 地点:英国伦敦/土耳其伊斯坦布尔(远程)