コーポレートプロジェクト

Dunelm: LiDAR をサポートする AR「室内ビュー」エクスペリエンス

Unreal Engine C++ による ARKit/ARCore ベースのビューインルーム エクスペリエンス。 LiDAR オクルージョン、PBR、製品データ パイプライン。

Unreal EngineC++ARKitARCoreLiDARDepth OcclusionMobile RenderingPBR MaterialsPlane Detection3D Asset PipelineREST APIE-commerce Integration
Dunelm での LiDAR 対応の室内 AR ビュー エクスペリエンス

ENGINEERING IMPACT

測定可能な範囲と成果

ARプラットフォーム
ARKit + ARCore

iOS と Android に共通の室内ビュー エクスペリエンス。

空間精度
LiDAR オクルージョン

現実世界のオブジェクトをより忠実に配置できます。

製品の流れ
配置と拡大縮小

AR体験とECの商品データを結び付けるフロー。

簡単な概要

  • 役割: 共同創設者兼主任開発者
  • 期間: 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 対応にします。
  • 電子商取引の統合とデータの最新性。

ソリューションの概要

Unreal Engine 上で室内ビュー エクスペリエンスを構築することで、ARKit/ARCore 用の統合抽象化レイヤーを設計しました。視覚的なリアリズムと電子商取引フローとの互換性の両方が、LiDAR でサポートされる深度オクルージョン、PBR マテリアル、および製品データ パイプラインによって実現されました。

アーキテクチャの概要

  • 統合された AR セッション レイヤー: ARKit/ARCore の違いを単一の API にまとめます。
  • 座標変換と平面検出の正規化。
  • レンダリング パイプライン: PBR マテリアル、シャドウ/ライト アダプテーション、LOD。
  • プロダクト データ フロー: REST API -> キャッシュ -> ストリーミング -> AR シーン。

LiDAR オクルージョン (深度ベース) + フォールバック戦略

LiDAR 対応 iOS デバイス上で深度マップを使用してピクセルごとのオクルージョンを適用し、現実のオブジェクトが仮想製品を正しく隠すことを確認しました。非 LiDAR デバイスでは、平面ベースのオクルージョンと深度推定を備えた軽量のフォールバック フローを使用しました。- 深度マップ -> オクルージョン シェーダー -> 時間的フィルタリングを備えた安定したマスク。

  • 非 LiDAR フォールバック: プレーン オクルージョン + 簡素化されたエッジ スムージング。
  • トレードオフ: 高いリアリズムとバッテリー/パフォーマンスのコスト。

クロスプラットフォーム AR (ARKit + ARCore)

ARKit と ARCore のさまざまな座標系をランタイム変換で正規化し、単一の位置決めとスケーリングのフローを提供しました。パリティは、デバイスの機能に応じてセッションの初期化と機能ゲーティングによって保持されました。

製品データと資産パイプライン

製品情報と 3D アセットは REST API 経由で取得されました。キャッシュ レイヤーとプログレッシブ ストリーミングにより高速な起動を目指しました。 3D モデルは、LOD、テクスチャ圧縮、PBR マテリアルの標準化によりモバイル向けに最適化されています。

パフォーマンスと QA

  • iOS/Android デバイス マトリックスでのプロファイル テストと回帰テスト。
  • GPU/CPU の予算に応じた LOD とテクスチャの品質調整。
  • バッテリー消費とサーマルスロットルの制限テスト。

影響/結果

  • アプリの導入 - 100,000 ダウンロード (最初の 3 か月) - 出典: App Store Connect/Play Console (Dunelm 内部分析によって検証可能)。
  • コンバージョン増加 - +35% - 期間: [X]、ベースライン: AR セッションと非 AR セッション - ソース: GA4/Firebase (検証されれば追加可能)。
  • 返品率の低下 - -40% - 期間: [X]、ベースライン: AR 前 - ソース: Dunelm 社内 BI (確認されれば追加される可能性があります)。
  • セッション継続時間の増加 - +50% - 期間: [X] - ソース: 分析 (検証されれば追加可能)。

主なトレードオフ

  • Unreal Engine の選択: ビジュアル品質は向上しますが、モバイルの最適化が犠牲になります。
  • LiDAR のみの品質とカバレッジ: 非 LiDAR フォールバックとのバランス。
  • 高解像度アセットと高速オープニング: ストリーミング + LOD。
  • リアリズムとバッテリー消費量: シェーダーと後処理の制限。

## よくある質問### LiDAR オクルージョンはどのように機能しますか? ピクセルごとのオクルージョンは深度マップを介して適用されます。現実のオブジェクトは仮想オブジェクトを正確に隠します。

非 LiDAR デバイスでは何が起こりますか?

基本的なリアリズムは、平面ベースのオクルージョンと減衰された深度推定によって維持されます。

スケールの精度はどのようにして達成されたのでしょうか?

製品の寸法はメトリック値を使用して REST API から取得され、シーンに正確に適用されます。

パフォーマンスはどのように測定されましたか?

FPS、メモリ、ロード時間は、プロファイル ツールとデバイス マトリックス テストを使用して追跡されました。

アセット パイプラインはどのように構築されましたか?

製品モデルは LOD + テクスチャ圧縮で最適化され、プログレッシブ ストリーミングでロードされました。

テレメトリと品質追跡はどうでしたか?

エラー、パフォーマンス、使用状況のログは、デバイス/OS のセグメンテーションにより定期的に監視されました。

ARKit/ARCore の違いはどのように処理されましたか?

統合された抽象化レイヤーとランタイム機能ゲーティングにより、単一のフローが実現されました。

関連プロジェクト

プロジェクトの紹介

  • 会社/クライアント: Dunelm (英国)
  • 会社名: Lindow Labs (共同設立者)
  • 役割: 共同創設者兼主任開発者
  • 期間: 2017 年 9 月から 2021 年 1 月
  • プラットフォーム: iOS、Android
  • エンジン: アンリアル エンジン (C++)
  • AR フレームワーク: ARKit、ARCore、LiDAR
  • 発売: 2022 年 6 月 (デュネルム側; 私の積極的な貢献後)
  • 場所: 英国ロンドン / イスタンブール、トゥルキエ (遠隔地)

同様のアーキテクチャ判断を あなたのプロダクトに適用するためにご連絡ください。