分享方式:


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

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

您將學習如何:

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

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

必要條件

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

  • 已啟用開發人員且支援ARCore的Android裝置。
    • 您的電腦可能需要額外的設備驅動器才能與 Android 裝置通訊。 如需詳細資訊和指示,請參閱 這裡
  • Windows 或 macOS 計算機。
    • 如果在 Windows 上執行,您也需要適用於 Windows 和 Git LFSGit。
    • 如果在 macOS 上執行,請透過 HomeBrew 取得 Git 安裝。 在終端機的單行中輸入下列命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"。 然後,執行 brew install gitbrew install git-lfs
  • Unity 安裝,包括 Android SDK 和 NDK 工具和 OpenJDK 模組的 Android 組建支援。 如需支援的版本和必要功能,請流覽 Unity 專案設定頁面

建立 Spatial Anchors 資源

前往 Azure 入口網站

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

使用搜尋方塊來搜尋 Spatial Anchors

顯示搜尋 Spatial Anchors 結果的螢幕快照。

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

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

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

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

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

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

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

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

[空間錨點] 窗格的螢幕快照,用於建立資源。

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

顯示資源部署已完成的螢幕快照。

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

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

資源屬性窗格的螢幕快照。

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

顯示資源的帳戶網域值的螢幕快照。

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

帳戶 [金鑰] 窗格的螢幕快照。

下載範例項目併匯入 SDK

複製範例存放庫

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

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

匯入 ASA SDK

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

設定 Unity

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

Unity 窗格的螢幕快照。

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

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

Unity [組建設定] 窗格的螢幕快照 - Android

關閉 [建置設定] 視窗。

設定帳戶資訊

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

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

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

匯出 Android Studio 專案

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

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

在 [執行裝置] 中選取您的裝置,然後選取 [建置並執行]。 系統會要求您儲存檔案 .apk ,您可以為其挑選任何名稱。

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

螢幕擷取畫面 1螢幕擷取畫面 2螢幕快照 3

請遵循應用程式中的指示來放置並重新叫用錨點。

疑難排解

轉譯問題

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

清除資源

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

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

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

選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]

下一步

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