關於SceneView Demo: 3D & AR SDK
Compose 的 3D 模型、AR 佈局和房間掃描功能,每個功能都附帶原始程式碼。
在編寫任何程式碼之前,先在自己的手機上體驗 SceneView SDK 的功能。
SceneView 是一款開源的 3D 和擴增實境 SDK,支援 Jetpack Compose、SwiftUI 和 Web,基於 Android 平台的 ARCore 建置。這款應用程式就是它的演示:超過 40 個螢幕,每個螢幕都是一個可運行的功能範例,您可以將其添加到自己的應用程式中。每個螢幕都連結到繪製它的原始程式碼,而且大多數螢幕只有幾行程式碼。
從這裡開始
- 家 — 一個在即時 3D 場景中的特色模型。打開它,即可在螢幕上旋轉它,或將其以實際大小放置在您的房間中。
- 宇宙 — 一個星系、粒子碰撞、流場和一個環狀恆星系統,透過一個帶您穿梭其中的相機導覽。觸碰螢幕即可將相機拉回。
- 3D 掃描 — 在房間內走動,觀看牆壁在您移動的過程中以 3D 形式呈現,掃描面積會不斷增加。在配備 ARCore 深度感知功能的手機上,它會繪製房間實際形狀的示意圖,包括門窗、尺寸和麵積,您可以將其儲存為 PDF 或 DXF 格式的圖紙。漏掃了某個角落?重新掃描該部分即可將其添加到房間中。手邊沒有房間?點擊「檢視範例」即可回放已錄製的掃描結果,以 3D 地圖或相機視圖的形式呈現。
範例展示內容
- 3D 模型 — 載入 GLB 和 glTF 文件,播放動畫,並旋轉、捏合和縮放相機。點擊“給我驚喜”即可查看下一個模型。
- 擴增實境 — 將玩具車、沙發或咖啡杯放置在地板或桌子上,將物品平放在牆上,追蹤影像和人臉,並測量距離、牆壁、門窗等。
- 真實世界融合 — 真實的家具和人物會顯示在虛擬物體前方,房間本身的光線會照亮模型。
- 光線和材質 — 切換 HDR 環境,即時觀察反射和陰影的變化。
- 錨點、深度、物理、幾何、空間音訊等等。
- 您自己的檔案 — 開啟 GLB、glTF、OBJ、STL 或 PLY 文件,檢視 SDK 的渲染效果。
每個螢幕都會根據您手機的淺色或深色主題自動調整。
面向開發者
螢幕上的 3D 模型只需一個可組合元件,AR 放置只需一次呼叫。找到符合您需求的螢幕範例,打開其程式碼,並將其複製到您的專案中。 SDK、範例和此應用程式均為開源:SceneView 在 GitHub 上擁有超過 1300 個 star,超過 500 個公共倉庫將其聲明為依賴項。
github.com/sceneview/sceneview
隱私
無需註冊帳號,無廣告,無跨應用程式追蹤。您的模型和相機畫面均在您的裝置上處理—相機僅用於擴增實境 (AR),不會儲存或上傳任何拍攝內容。應用程式會傳送使用統計資料和崩潰報告(透過 Firebase),這些資訊絕不會與您的身分關聯,用於改善應用程式。您可以在「關於」>「隱私權和通知」中關閉此功能。除此之外,只有兩項資料會上傳到網絡,且僅在您要求時才會上傳:搜尋線上模型庫,以及少量使用 Google ARCore 雲端服務託管錨點的範例。
本應用採用 Apache License 2.0 開源。
https://github.com/sceneview/sceneview
最新版本4.65.0的更新日誌
- glTF and GLB on iOS, macOS and visionOS (#4889). ModelNode.load("models/fox.glb") now opens glTF 2.0 with SceneViewSwift's own importer, with no third-party dependency. It works through the same call as USDZ, with the URL and remote variants too. The importer reads GLB, .gltf with its .bin and images next to it, and data: URIs. It brings in the node hierarchy, metallic-roughness materials with their textures, alpha modes, unlit, texture transforms, skins and animations; the animation…






