ArCore 當前研究進度 === 使用的 Library 及服務 --- 1.sceneform```已集成 渲染器、場景偵測 API``` 2.Firebase - 放置 3D 模型素材檔 - Realtime 資料庫(多人連線使用) 3.GCP ArCore API (用來取得絕對定位座標) --- 基本原理 --- ArCore 根據表面特徵點進行平面判斷,引此初始時會有以下流程 - 移動攝影機進行表面確認 - 其他 Sensor 搭配進行現實單位偵測 ---- ###### Google 範例影片 <video src="https://developers.google.com/ar/develop/java/images/hellosceneform-demo.mp4" controls style="width: 100%;"></video> --- APP 執行流程 ---- ### 第一步 - 預先載入模型 在載入完程式後,會呼叫 `updateModel` 來載入預設模型 ---- ### 第二步 - 檢測平面後偵測是否有放置點 在執行程式後 `initScene` function 將在螢幕正中央位置尋找是否有可以物理交集點 (HitResult) 可以放置時會自動放置 ---- {%youtube A1iM-Qsx8cY%} ---- ### 第三步 - 從網路讀取 3D 模型列表 會從[此連結](https://raw.githubusercontent.com/a9650615/ar_object_lists/master/fileLists.json?token=ADGCFQSLI2QFLJNUOHFWV6C5JPAIY)載入列表並且添加到選單上 ![](https://i.imgur.com/QR7g5gA.png=300x) ---- 更換模型時將利用 `updateModel` 來更換模型 {%youtube CSFaxkRDX44%} --- ### 多人連線 ---- 名詞講解 --- ### 錨點 - Anchor 保留真實物理資訊的座標點 ### 雲錨點 - Cloud Anchors 可以再多裝置共享的座標點 ### GCP - Google Cloud Google 雲端服務,這邊將使用 ArCore 的 cloud anchor 功能 ---- 取得 Cloud Anchor 流程 --- ```sequence Anchor -> Session: 我想取得 cloud anchor Session->Google Cloud: 我給你 anchor 資訊 Note right of Session: 網路 Google Cloud --> Session: 我給你定位用 Token Session --> Anchor: 給我到指定位置 Note left of Session: 轉換後的 cloud anchor ``` ---- 更新機制 --- ```sequence 手機1 -> Firebase: 發送資料 Firebase --> 手機1 : 更新資料 Firebase --> 手機2 : 更新資料 ``` ---- 實際效果 --- {%youtube EuN0s_z8FOk%} ---- {%youtube bmnhc5YjsMY%} --- 其他 --- 3D 模型檔案格式為 GLB ( GLB = 壓縮為二進制檔的 GLTF 文件 ) 託管於 Firebase storage 上 ![](https://i.imgur.com/PBZGMXX.png =700x) ---- 資源來源 --- sketchfab ( 可自動轉換 GLTF 資源進行下載 )
{"metaMigratedAt":"2023-06-14T23:10:55.273Z","metaMigratedFrom":"Content","title":"ArCore 當前研究進度","breaks":true,"contributors":"[{\"id\":\"d507b28a-10b0-4357-bb50-4da7c8f1a45d\",\"add\":1757,\"del\":114}]"}
    220 views