必備條件

  1. Xcode 12.5 或更高版本
    RoomPlan API 需要 Xcode 12.5 或更高版本支持,該版本包含構建 AR 應用程序所需的工具和框架。

  2. 支持的設備
    僅支持配備 LiDAR 傳感器的 iOS 設備,例如:


RoomPlan API 的基本工作流程

RoomPlan API 的實現主要分為以下三個部分:

在應用中實現 RoomPlan API 有兩種方式:

  1. 使用 RoomCaptureSession
  2. 使用 RoomCaptureView

接下來,我們將分別介紹這兩種實現方式。


使用 RoomCaptureSession 實現房間掃描

第一步:設置房間捕捉會話

  1. 在應用中添加一個 ARView。
  2. 實例化一個 RoomCaptureSession 對象,并將當前的 ViewController 擴展為 RoomCaptureSessionDelegate。
  3. self 分配為會話的委托屬性。
  4. 創建自定義可視化工具,用于向用戶實時更新掃描進度。

第二步:實現 RoomCaptureSession 的委托方法

RoomCaptureSession 提供了多個委托方法,用于處理掃描過程中的不同事件:

此外,還有以下方法可供使用:

這些方法主要用于處理掃描過程中的動態變化。

第三步:捕獲并導出最終模型

當會話停止時,RoomCaptureSessionDelegatedidEndWith 方法會被調用。此方法會返回捕獲的房間數據或錯誤信息。通過此方法,我們可以處理掃描數據并導出最終的 3D 模型。

CapturedRoom 的屬性

CapturedRoom 包含以下屬性,用于描述掃描結果:

對象的獨特屬性

曲面和對象的共同屬性

通過導出功能,我們可以將 CapturedRoom 轉換為 USD/USDZ 文件格式,并將其保存或分享。


使用 RoomCaptureView 實現房間掃描

RoomCaptureView 是一個 UIView 子類,能夠簡化房間掃描的實現。它提供了以下功能:

第一步:設置房間捕捉視圖

  1. 在 ViewController 中創建一個 RoomCaptureView 引用。
  2. 將其添加到視圖層次結構中。

第二步:開始房間捕捉會話

創建一個 RoomCaptureSession.Configuration 實例,用于啟動掃描會話。通過該實例,可以啟用或禁用掃描指導功能。

第三步:捕獲并導出最終模型

實現 RoomCaptureViewDelegate 的方法,以處理掃描結果并導出模型:

通過擴展 ViewController 為 RoomCaptureViewDelegate,并將 self 分配為 RoomCaptureView 的委托屬性,即可完成實現。


掃描結果示例

以下是使用 RoomPlan API 掃描房間的示例結果:
檢測到 6 把椅子、1 張桌子、1 臺電視、1 扇門、1 扇窗戶以及周圍的墻壁。


原文鏈接: https://medium.com/simform-engineering/building-a-room-scanning-app-with-the-roomplan-api-in-ios-a5e9f66cfaaf

上一篇:

如何獲取 Pexels 開放平臺 API Key 密鑰(分步指南)

下一篇:

如何使用NASA API:完整指南
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費