サンプル アプリを実行する: Android - Unity (C#)
このクイックスタートでは、Unity (C#) を使用して Android デバイス用の Azure Spatial Anchors サンプル アプリを実行する方法について説明します。 Azure Spatial Anchors は、クロスプラットフォーム対応の開発者向けサービスです。このサービスを使用すると、時間が経過した後でも複数のデバイス間で位置情報を保持するオブジェクトを使用して複合現実エクスペリエンスを作成できます。 完了すると、Unity でビルドされた、空間アンカーを保存して呼び戻すことができる ARCore Android アプリが作成されます。
学習内容は次のとおりです。
- Spatial Anchors アカウントを作成する
- Unity のビルド設定を準備する
- Spatial Anchors アカウント識別子とアカウント キーを構成する
- Android Studio プロジェクトをエクスポートする
- Android デバイスに配置して実行する
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
前提条件
このクイック スタートを実行するには、以下が必要です。
- 開発者向けの ARCore 対応 Android デバイス。
- コンピューターが Android デバイスと通信するには、追加のデバイス ドライバーが必要になることがあります。 追加情報と手順については、こちらを参照してください。
- Windows または macOS マシン。
- Windows 上で実行する場合は、Git for Windows および Git LFS も必要になります。
- MacOS で実行する場合は、HomeBrew から Git をインストールします。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
コマンドをターミナルに 1 行で入力します。 続けて、brew install git
およびbrew install git-lfs
を実行します。
- Unity のインストール (Android Build Support と Android SDK & NDK Tools および OpenJDK モジュールを含む)。 サポートされているバージョンと必要な機能については、Unity プロジェクトの設定ページを参照してください。
Spatial Anchors リソースを作成する
Azure ポータルにアクセスします。
左側のウィンドウで、 [リソースの作成] を選択します。
検索ボックスを使用して、「Spatial Anchors」を検索します。
[Spatial Anchors] を選択し、 [作成] を選択します。
[Spatial Anchors アカウント] ウィンドウで次を行います。
通常の英数字を使用して一意のリソース名を入力します。
リソースをアタッチするサブスクリプションを選択します。
[新規作成] を選択して、リソース グループを作成します。 「myResourceGroup」と名前を付け、 [OK] を選択します。
リソース グループとは、Web アプリ、データベース、ストレージ アカウントなどの Azure リソースのデプロイと管理に使用する論理コンテナーです。 たとえば、後から簡単な手順で一度にリソース グループ全体を削除することもできます。
リソースを配置する場所 (リージョン) を選択します。
[作成] を選択して、リソースの作成を開始します。
リソースが作成されると、Azure portal に、デプロイが完了したことが表示されます。
[リソースに移動] を選択します。 これでリソースのプロパティを表示できます。
リソースの [アカウント ID] 値は後で使用するためにテキスト エディターにコピーしておきます。
また、リソースの [アカウント ドメイン] 値を後で使用するためにテキスト エディターにコピーします。
[設定] で [アクセス キー] を選択します。 [主キー] 値の [アカウント キー] を後で使用するためにテキスト エディターにコピーします。
サンプル プロジェクトのダウンロードと SDK のインポート
サンプル リポジトリを複製する
次のコマンドを実行して samples リポジトリを複製します。
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 エディターをアップグレードします。
[ファイル]>[ビルド設定] を選択して、 [ビルド設定] を開きます。
[Platform](プラットフォーム) セクションで [Android] を選択し、 [Switch Platform](プラットフォームの切り替え) を選択してプラットフォームを [Android] に変更します。 Android をサポートするコンポーネントが不足している場合は、Unity によってそれらをインストールすることを要求される場合があります。
[ビルド設定] ウィンドウを閉じます。
アカウント情報を構成する
次のステップは、自分のアカウントの情報を使用するようにアプリを構成することです。 前の「Spatial Anchors リソースを作成する」セクションでテキスト エディターに [アカウント キー] 、 [アカウント ID] 、 [アカウント ドメイン] 値をコピーしました。
[プロジェクト] ウィンドウで Assets\AzureSpatialAnchors.SDK\Resources
に進みます。
[SpatialAnchorConfig] を選択します。 [インスペクター] ウィンドウで Spatial Anchors アカウント キーの値として Account Key
を、Spatial Anchors アカウント ID の値として Account ID
を、Spatial Anchors アカウント ドメインの値として Account Domain
を入力します。
Android Studio プロジェクトをエクスポートする
[ファイル]>[ビルド設定] を選択して、 [ビルド設定] を開きます。
[Scenes In Build](ビルド内のシーン) で、すべてのシーンの横にチェック マークが付いていることを確認します。
[Run Device](実行デバイス) でデバイスを選択し、 [ビルドして実行] を選択します。 .apk
ファイルを保存するよう求められたら、任意の名前を選択できます。
アプリで矢印を使って [BasicDemo] を選び、[実行] ボタンを押してデモを実行します。 指示に従って、アンカーを配置し、呼び戻します。
アプリの指示に従って、アンカーを配置し、呼び戻します。
トラブルシューティング
レンダリングに関する問題
アプリを実行したとき、背景としてカメラが表示されない場合は (たとえば、代わりに空白、青、または他のテクスチャが表示される場合)、Unity に資産を再インポートすることが必要な場合があります。 アプリを停止します。 Unity の上部のメニューで、[Assets]\(資産\) -> [Reimport all]\(すべて再インポート\) を選びます。 その後、アプリをもう一度実行します。
リソースをクリーンアップする
前の手順では、リソース グループ内に Azure リソースを作成しました。 これらのリソースが将来必要になると思わない場合は、リソース グループを削除してリソースを削除できます。
Azure portal メニューまたは [ホーム] ページから、 [リソース グループ] を選択します。 次に、 [リソース グループ] ページで [myResourceGroup] を選択します。
[myResourceGroup] ページで、一覧表示されたリソースが、削除しようとするリソースであることを確認します。
[リソース グループの削除] を選択し、確認のためテキスト ボックスに「myResourceGroup」と入力して、 [削除] を選択します。
次のステップ
このクイック スタートでは、Spatial Anchors アカウントを作成しました。 次に、空間アンカーを保存して再呼び出しするようにアプリを構成してデプロイしました。 他のデバイスと空間アンカーを共有できるようにアプリを改良する方法の詳細を学習するには、次のチュートリアルに進んでください。