---
# System prepended metadata

title: argo sdk使用說明

---

# Spatial AR SDK (ARGO)

### 前言

過去AR（增強現實）技術需要依賴辨識物（Marker）或需要偵測平面才能擺放虛擬內容，且如果要將內容能夠儲存於真實空間中大多依賴GPS技術來進行內容定位 ; 然而該技術對於終端用戶體驗較為不佳，例如AR使用學習門檻過高、GPS AR內容定位不精準，因此該技術一直無法大量應用於消費者體驗上。因此iStaging發展了AR空間定位技術結合雲服務+5G，簡稱**Spatial AR Cloud**，用戶可以直接對空間掃描進行內容精準定位，這樣多人可以在同地點/時間看到虛擬內容，即可實現室內外的展覽、藝術1:1展示和多人實境互動等應用。

![](https://i.imgur.com/GFkIHOR.png) 
#### GPS AR和Spatial AR差異比較圖
---

### 技術說明

名稱解釋：
1. CloudSession：用來做空間特徵和辨識的服務API
2. Anchor: 定位點，用來儲存虛擬物件的位置資訊
3. Watcher: 用來啟動空間辨識找到定位點的服務
4. 可辨識到不同Session的定位點後，不同Session建置的定位點可以關聯起來，空間辨識機制如下圖：


![](https://i.imgur.com/q6nIik9.png)
---

### 環境準備
請先安裝
1. Unity 2020.2.x
2. ARFoundation 4.x
3. Universal Redering Pipeline
4. XR Interaction Toolkit 1.x

![](https://i.imgur.com/057KXEF.png)

另外要安裝Azure套件
![安裝](https://i.imgur.com/bh9p3r4.png)

根據上圖安裝範例底下的三個套件
1. com.microsoft.azure.spatial-anchors-sdk.core-2.9.0
2. com.microsoft.azure.spatial-anchors-sdk.ios-2.9.0
3. com.microsoft.azure.spatial-anchors-sdk.android-2.9.0

要將環境切到iOS和Android範例才不會有錯誤發生
如果要自動有影子或材質效果 要設定URP
設定URP可參考如下影片或看範例的設定，另外自動影子效果可參考arproxy.shader（在範例Material資料夾內）：
{%youtube jyGQErgVE8E %}

### 範例說明

下載Spatial SDK位置：https://skypu3@bitbucket.org/skypu3/argo.git
用Unity 2020打開後要將專案切到iOS或Android環境

#### 1. Basic Scene

範例用來介紹如何整合XR Interaction Toolkit的互動功能在AR場景上
可用手勢控制-> 旋轉/縮放/位移/Tap新增物件
可參考專案的場景設定

#### 2. Edit Scene

範例說明可將不同顏色的立體方塊儲存於AR世界中，透過將Cube投影到世界中
再將Cube位置和空間特徵儲存到AR雲
之後回到Scan Scene場景可把剛剛在某空間建置的Cube全部找出來，跟呈現當初建置的顏色

可參考範例程式**SpatialAnchorScript.cs**的AdvanceDemoAsync開始追蹤流程
流程是
1. Placing物件到場景中，Tap物件後可開始控制物件移動或縮放等
2. 啟動SDK的CloudSession開始將物件位置和空間資訊儲存到雲端
3. 繼續回到1
4. 透過同一個CloudSession繼續儲存物件，當掃描階段時可將同一個CloudSession建置的物件辨識出來

另外範例有ApiManager用來與雲端溝通，範例將客製化的Cube顏色欄位儲存在雲端
並呼叫**StartNearWatcher**開始尋找附近定位點和取出客製化的資料例如Cube位置和顏色資訊等

#### 3. Scan Scene

流程如下：
1. 啟動CloudSession開始準備掃描
2. 呼叫ApiManager 根據目前用戶GPS位置尋找附近定位點
3. 呼叫**StartNearWatcher**
4. 得到定位點ID和ID內的Metadata開始做AR渲染
5. 實體化Cube物件和顯示儲存在Metadata的顏色內容

{%youtube Wo7PQRoBmlY %}

### SaaS SDK （Comming Soon！）

上述SDK範例是給懂Unity開發者
但如果客戶沒有相關經驗，我們有也預計提供如下SaaS SDK和客製化App將包含：
1. 帳號系統和後台管理介面
2. 媒體庫上架支持照片、影片和GLTF格式，以及Unity Assetbundle等內容支持
3. 內容語音導覽跟跳出Tag頁面設計 
4. Dashboard AR專案管理和APP編輯器
5. 分析數據介面
6. 掃描客戶端SaaS SDK或App客製化





