執行範例應用程式:iOS - Unity (C#)

本快速入門說明如何使用 Unity 執行適用於 iOS 裝置的 Azure Spatial Anchors 範例應用程式(C#)。 Azure Spatial Anchors 是一項跨平臺開發人員服務,可讓您使用物件建立混合實境體驗,這些物件會隨著時間在裝置之間保存其位置。 當您完成時,將會建置使用 Unity 建置的 ARKit iOS 應用程式,以儲存並重新叫用空間錨點。

您將了解如何:

  • 建立 Spatial Anchors 帳戶
  • 準備 Unity 組建設定
  • 設定 Spatial Anchors 帳戶標識碼和帳戶密鑰
  • 匯出 Xcode 專案
  • 在 iOS 裝置上部署和執行

如果您沒有 Azure 訂閱,請在開始之前,先建立 Azure 免費帳戶

必要條件

若要完成本快速入門,請確定您有:

  • 已啟用開發人員的 ARKit 相容 iOS 裝置。
  • 已安裝最新版 XcodemacOS 計算機。
  • Unity 安裝。 如需支援的版本和必要功能,請流覽 Unity 專案設定頁面
  • 透過 HomeBrew 安裝的 Git。 在終端機的單行中輸入下列命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"。 然後,執行 brew install gitbrew install git-lfs

建立 Spatial Anchors 資源

前往 Azure 入口網站

在左窗格中,選取 [建立資源]。

使用搜尋方塊來搜尋 Spatial Anchors

Screenshot showing the results of a search for Spatial Anchors.

選取 [空間錨點],然後選取 [ 建立]。

在 [ 空間錨點帳戶 ] 窗格上,執行下列動作:

  • 使用一般英數位元輸入唯一的資源名稱。

  • 選取您要附加資源的訂用帳戶。

  • 選取 [新建] 以建立資源群組。 將它命名為 myResourceGroup,然後選取 [ 確定]。

    資源群組是一個邏輯容器,其中會部署和管理 Azure 資源,例如 Web 應用程式、資料庫和記憶體帳戶。 例如,您可以選擇稍後在一個簡單的步驟中刪除整個資源群組。

  • 選取要放置資源的位置(區域)。

  • 選取 [建立] 以開始建立資源。

Screenshot of the Spatial Anchors pane for creating a resource.

建立資源之後,Azure 入口網站 會顯示您的部署已完成。

Screenshot showing that the resource deployment is complete.

選取 [前往資源] 。 您現在可以檢視資源屬性。

將資源的 [帳戶標識符 ] 值複製到文本編輯器中,以供稍後使用。

Screenshot of the resource properties pane.

此外,將資源的 帳戶網域 值複製到文本編輯器中,以供稍後使用。

Screenshot showing the resource's account domain value.

在 [設定] 下,選取 [存取密鑰]。 將 [主要金鑰] 值 [帳戶金鑰] 複製到文字編輯器,以供稍後使用。

Screenshot of the Keys pane for the account.

下載範例項目併匯入 SDK

複製範例存放庫

執行下列命令來複製範例存放

git clone https://github.com/Azure/azure-spatial-anchors-samples.git
cd ./azure-spatial-anchors-samples

匯入 ASA SDK

請遵循這裡的指示,下載並匯入 iOS 平臺所需的 ASA SDK 套件。

設定 Unity

在 Unity 中,開啟 Unity 資料夾中的專案。 Unity 可能會提示您了解專案中的版本與計算機上安裝的版本之間的差異。 只要您的 Unity 編輯器版本比建立專案的版本還新,這個警告就沒問題。 如果您的版本較新,請選取 [ 繼續]。 如果您的版本比專案所需的版本還舊,請選取 [結束],然後升級您的 Unity 編輯器。

Screenshot of the Unity pane.

選取 [檔案>建置] 設定,以開啟 [建置 設定]。

在 [ 平臺] 區段中,選取 [iOS]。

選取 [ 切換平臺] 將平台 變更為 iOS。 如果缺少 iOS 支援元件,Unity 可能會提示您安裝 iOS 支援元件。

Screenshot of the Unity Build Settings window.

關閉 [建置設定] 視窗。

設定帳戶資訊

下一個步驟是將應用程式設定為使用您的帳戶資訊。 您稍早[建立空間錨點資源] 區段中,將帳戶密鑰帳戶標識碼帳戶網域值複製到文本編輯器。

在 [ 專案 ] 窗格中,移至 Assets\AzureSpatialAnchors.SDK\Resources

選取 [SpatialAnchorConfig]。 在 [偵測器] 窗格中,輸入 Account Key 作為 [空間錨點帳戶密鑰] 的值Account ID作為 [空間錨點帳戶標識符] 的值,以及 Account Domain 作為 [空間錨點帳戶網域] 的值

匯出 Xcode 專案

選取 [檔案>建置] 設定,以開啟 [建置 設定]。

[建置中的場景] 下,確定所有場景旁邊都有複選標記。

選取 [ 建置]。 在開啟的窗格中,選取要匯出 Xcode 項目的資料夾。

匯出完成時,會出現包含匯出 Xcode 項目的資料夾。

注意

如果窗口出現訊息,詢問您是否要取代或附加,建議您選取 [附加],因為其速度較快。 取代 會從目標資料夾移除所有檔案,併產生新的內容。

開啟 Xcode 專案

現在,您可以在 Xcode 中開啟專案 Unity-iPhone.xcodeproj

您可以從匯出專案的位置執行下列命令,啟動 Xcode 並開啟匯出 Unity-iPhone.xcodeproj 的專案,或在 Xcode 中啟動專案:

open ./Unity-iPhone.xcodeproj

選取根 Unity-i 電話 節點以檢視項目設定,然後選取 [一般] 索引標籤。

在 [ 部署資訊] 下,確定部署目標已設定為 iOS 11.0

選取 [ 簽署與功能] 索引標籤, 並確定已啟用 [自動管理簽署 ]。 如果不是,請加以啟用,然後在出現的窗格中選取 [啟用自動 ] 來重設組建設定。

將應用程式部署至 iOS 裝置

連線 iOS 裝置到 Mac,並將作用中設定設定為 iOS 裝置。

Screenshot of the My iPhone button for selecting the device.

選取 [ 建置],然後執行目前的配置

Screenshot of the

在應用程式中,使用箭號選取 [BasicDemo ],然後按 [Go! ] 按鈕來執行示範。 請依照指示放置並重新叫用錨點。

Screenshot 1Screenshot 2Screenshot 3

完成後,在 Xcode 中按 [停止 ] 以停止應用程式。

疑難排解

轉譯問題

執行應用程式時,如果您看不到相機做為背景(例如您改為看到空白、藍色或其他紋理),則您可能需要在 Unity 中重新匯入資產。 執行應用程式。 從 Unity 的頂端選單中,選擇 [ 資產 -> 全部重新匯入]。 然後,再次執行應用程式。

清除資源

在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。

從 [Azure 入口網站] 功能表或 [首頁] 頁面中,選取 [資源群組]。 然後,在 [ 資源群組] 頁面上,選取 myResourceGroup

[myResourceGroup ] 頁面上,確定列出的資源是您想要刪除的資源。

選取 [ 刪除資源群組],在文本框中輸入 myResourceGroup 以確認,然後選取 [ 刪除]。

下一步

在本快速入門中,您已建立 Spatial Anchors 帳戶。 然後,您已設定並部署應用程式,以儲存並重新叫用空間錨點。 若要深入瞭解如何改善應用程式,使其可以與其他裝置共享空間錨點,請繼續進行下一個教學課程。