Unreal EngineC++ARKitARCoreLiDARDepth OcclusionMobile RenderingPBR MaterialsPlane Detection3D Asset PipelineREST APIE-commerce Integration

Dunelm: LiDAR Destekli AR "View-in-Room" Deneyimi

Dunelm için LiDAR destekli AR view-in-room deneyimi

Hızlı Özet

  • Rol: Kurucu Ortak & Lider Geliştirici
  • Süre: Eylül 2017 - Ocak 2021
  • Platformlar: iOS, Android
  • Engine: Unreal Engine (C++)
  • AR Frameworks: ARKit, ARCore
  • Ayırt Edici: LiDAR depth-based occlusion + unified AR abstraction layer

Timeline (2017-2022)

  • 2017: MVP/PoC ve ilk müşteri demoları.
  • 2018-2020: ürünleştirme, Dunelm ortaklığı, asset pipeline ve AR yerleştirme akışları.
  • 2021: son geliştirmeler ve handover (aktif katkımın kapanışı).
  • 2022: Dunelm müşteri lansmanı (aktif katkımın sonrası).

Problem ve Kısıtlar

  • İade oranlarını düşürmek için doğru ölçek ve gerçekçi yerleştirme ihtiyacı.
  • Mobil cihazlarda performans sınırları ve farklı sensör yetenekleri.
  • ARKit/ARCore API farkları ve çapraz platform tutarlılığı.
  • Büyük ürün kataloğunun AR-ready hale getirilmesi.
  • E-ticaret entegrasyonu ve verinin güncelliği.

Çözüm Özeti

View-in-room deneyimini Unreal Engine üzerinde kurarak ARKit/ARCore için birleşik bir soyutlama katmanı tasarladım. LiDAR destekli depth occlusion, PBR materyaller ve ürün veri pipeline’ı ile hem görsel gerçekçilik hem de e-ticaret akışlarıyla uyum sağlandı.

Architecture at a Glance

  • Unified AR session katmanı: ARKit/ARCore farklılıklarını tek API’de toplama.
  • Coordinate transform ve plane detection normalizasyonu.
  • Render pipeline: PBR materyaller, gölge/ışık adaptasyonu, LOD.
  • Ürün verisi akışı: REST API -> cache -> streaming -> AR sahne.

LiDAR Occlusion (Depth-Based) + Fallback Strategy

LiDAR destekli iOS cihazlarda depth map kullanarak per-pixel occlusion uyguladım ve gerçek nesnelerin sanal ürünleri doğru biçimde gizlemesini sağladım. LiDAR olmayan cihazlarda plane-based occlusion ve derinlik tahmini ile daha hafif bir fallback akışı kullandım.

  • Depth map -> occlusion shader -> temporal filtreleme ile stabil maske.
  • Non-LiDAR fallback: plane occlusion + basitleştirilmiş edge smoothing.
  • Trade-off: yüksek gerçekçilik vs batarya/performans maliyeti.

Cross-Platform AR (ARKit + ARCore)

ARKit ve ARCore’un farklı coordinate sistemlerini runtime dönüşümleriyle normalize ederek tek bir konumlandırma ve ölçekleme akışı sağladım. Cihaz yeteneklerine göre oturum başlatma ve feature gating ile parity korundu.

Product Data & Asset Pipeline

REST API üzerinden ürün bilgisi ve 3D asset’ler çekildi; cache katmanı ve progressive streaming ile hızlı başlangıç hedeflendi. 3D modeller LOD, texture compression ve PBR materyal standardizasyonu ile mobil için optimize edildi.

Performance & QA

  • iOS/Android cihaz matrisi üzerinde profil ve regress testleri.
  • GPU/CPU bütçesine göre LOD ve texture kalite ayarlamaları.
  • Batarya tüketimi ve termal throttling için sınır testleri.

Impact / Results

  • Uygulama benimsenmesi - 100k indirme (ilk 3 ay) - kaynak: App Store Connect/Play Console (Dunelm internal analytics ile doğrulanabilir).
  • Dönüşüm artışı - +%35 - dönem: [X], baseline: AR kullanan vs kullanmayan oturumlar - kaynak: GA4/Firebase (doğrulanırsa eklenebilir).
  • İade oranı düşüşü - -%40 - dönem: [X], baseline: AR öncesi - kaynak: Dunelm internal BI (doğrulanırsa eklenebilir).
  • Oturum süresi artışı - +%50 - dönem: [X] - kaynak: analytics (doğrulanırsa eklenebilir).

Key Trade-offs

  • Unreal Engine seçimi: görsel kalite artışı, ancak mobil optimizasyon maliyeti.
  • LiDAR-only kalite vs kapsama: non-LiDAR fallback ile denge.
  • Yüksek çözünürlüklü asset’ler vs hızlı açılış: streaming + LOD.
  • Gerçekçilik vs batarya tüketimi: shader ve post-process sınırları.

SSS

LiDAR occlusion nasıl çalışır?

Depth map üzerinden per-pixel occlusion uygulanır; gerçek nesneler sanal objeleri doğru biçimde gizler.

LiDAR olmayan cihazlarda ne olur?

Plane-based occlusion ve hafifletilmiş derinlik tahmini ile temel gerçekçilik korunur.

Ölçek doğruluğu nasıl sağlandı?

Ürün ölçüleri REST API’den metrik değerlerle çekilip sahneye birebir uygulanır.

Performans nasıl ölçüldü?

Profil araçları ve cihaz matrisi testleriyle FPS, bellek ve yükleme süreleri takip edildi.

Asset pipeline nasıl kurgulandı?

Ürün modelleri LOD + texture compression ile optimize edilip progressive streaming ile yüklendi.

Telemetri ve kalite takibi nasıldı?

Cihaz/OS segmentasyonu ile hata, performans ve kullanım logları düzenli izlendi.

ARKit/ARCore farklılıkları nasıl yönetildi?

Unified abstraction katmanı ve runtime feature gating ile tek akış sağlandı.

İlgili Projeler

Proje Künyesi

  • Şirket/Client: Dunelm (UK)
  • Firma: Lindow Labs (kurucu ortak)
  • Rol: Kurucu Ortak & Lider Geliştirici
  • Süre: Eylül 2017 - Ocak 2021
  • Platformlar: iOS, Android
  • Engine: Unreal Engine (C++)
  • AR Frameworks: ARKit, ARCore, LiDAR
  • Launch: Haziran 2022 (Dunelm tarafı; aktif katkımın sonrası)
  • Konum: Londra, UK / İstanbul, Türkiye (remote)

Yazılımınızın Geleceğini Birlikte Tasarlayalım Gerçek dünya ihtiyaçlarına dayanıklı, ölçeklenebilir ve akıllı sistemler tasarlamak için birlikte çalışalım.

Hizmet

Hizmet başlığı

Hizmet açıklaması burada görünecek.

Çalışma modeli Esnek + hızlı geri dönüş
Hizmet talep edin

İhtiyaca göre kapsamlandırma · Net çıktılar ve raporlama