サンプル アプリを実行する: iOS - Unity (C#)

このクイックスタートでは、Unity (C#) を使用して iOS デバイス用の Azure Spatial Anchors サンプル アプリを実行する方法について説明します。 Azure Spatial Anchors は、クロスプラットフォーム対応の開発者向けサービスです。このサービスを使用すると、時間が経過した後でも複数のデバイス間で位置情報を保持するオブジェクトを使用して複合現実エクスペリエンスを作成できます。 完了すると、Unity でビルドされた、空間アンカーを保存して呼び戻すことができる ARKit iOS アプリが作成されます。

学習内容は次のとおりです。

  • Spatial Anchors アカウントを作成する
  • Unity のビルド設定を準備する
  • Spatial Anchors アカウント識別子とアカウント キーを構成する
  • Xcode プロジェクトをエクスポートする
  • iOS デバイスにデプロイして実行する

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

このクイック スタートを実行するには、以下が必要です。

  • 開発者向けの ARKit 対応 iOS デバイス。
  • 最新バージョンの Xcode がインストールされた macOS マシン。
  • Unity のインストール。 サポートされているバージョンと必要な機能については、Unity プロジェクトの設定ページを参照してください。
  • HomeBrew を介してインストールされた Git。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" コマンドをターミナルに 1 行で入力します。 続けて、brew install git および brew install git-lfs を実行します。

Spatial Anchors リソースを作成する

Azure ポータルにアクセスします。

左側のウィンドウで、 [リソースの作成] を選択します。

検索ボックスを使用して、「Spatial Anchors」を検索します。

Screenshot showing the results of a search for Spatial Anchors.

[Spatial Anchors] を選択し、 [作成] を選択します。

[Spatial Anchors アカウント] ウィンドウで次を行います。

  • 通常の英数字を使用して一意のリソース名を入力します。

  • リソースをアタッチするサブスクリプションを選択します。

  • [新規作成] を選択して、リソース グループを作成します。 「myResourceGroup」と名前を付け、 [OK] を選択します。

    リソース グループとは、Web アプリ、データベース、ストレージ アカウントなどの Azure リソースのデプロイと管理に使用する論理コンテナーです。 たとえば、後から簡単な手順で一度にリソース グループ全体を削除することもできます。

  • リソースを配置する場所 (リージョン) を選択します。

  • [作成] を選択して、リソースの作成を開始します。

Screenshot of the Spatial Anchors pane for creating a resource.

リソースが作成されると、Azure portal に、デプロイが完了したことが表示されます。

Screenshot showing that the resource deployment is complete.

[リソースに移動] を選択します。 これでリソースのプロパティを表示できます。

リソースの [アカウント ID] 値は後で使用するためにテキスト エディターにコピーしておきます。

Screenshot of the resource properties pane.

また、リソースの [アカウント ドメイン] 値を後で使用するためにテキスト エディターにコピーします。

Screenshot showing the resource's account domain value.

[設定][アクセス キー] を選択します。 [主キー] 値の [アカウント キー] を後で使用するためにテキスト エディターにコピーします。

Screenshot of the Keys pane for the account.

サンプル プロジェクトのダウンロードと SDK のインポート

サンプル リポジトリを複製する

次のコマンドを実行して samples リポジトリを複製します。

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] を選択します。

[Switch Platform](プラットフォームの切り替え) を選択して、プラットフォームを [iOS] に変更します。 iOS をサポートするコンポーネントが不足している場合は、Unity によってそれらをインストールすることを要求される場合があります。

Screenshot of the Unity Build Settings window.

[ビルド設定] ウィンドウを閉じます。

アカウント情報を構成する

次のステップは、自分のアカウントの情報を使用するようにアプリを構成することです。 前の「Spatial Anchors リソースを作成する」セクションでテキスト エディターに [アカウント キー][アカウント ID][アカウント ドメイン] 値をコピーしました。

[プロジェクト] ウィンドウで Assets\AzureSpatialAnchors.SDK\Resources に進みます。

[SpatialAnchorConfig] を選択します。 [インスペクター] ウィンドウで Spatial Anchors アカウント キーの値として Account Key を、Spatial Anchors アカウント ID の値として Account ID を、Spatial Anchors アカウント ドメインの値として Account Domain を入力します。

Xcode プロジェクトをエクスポートする

[ファイル]>[ビルド設定] を選択して、 [ビルド設定] を開きます。

[Scenes In Build](ビルド内のシーン) で、すべてのシーンの横にチェック マークが付いていることを確認します。

[Build](ビルド) を選択します。 ウィンドウが開いたら、Xcode プロジェクトのエクスポート先にするフォルダーを選択します。

エクスポートが完了すると、エクスポートされた Xcode プロジェクトを含むフォルダーが表示されます。

注意

置き換えるか追加するかを尋ねるメッセージを含むウィンドウが表示された場合、 [Append](追加) を選択することをお勧めします。その方が時間が節約されます。 置換すると、ターゲット フォルダーからすべてのファイルが削除され、新しいコンテンツが生成されます。

Xcode プロジェクトを開く

これで Xcode で Unity-iPhone.xcodeproj プロジェクトを開くことができるようになります。

Xcode を起動してエクスポートされた Unity-iPhone.xcodeproj プロジェクトを開くか、プロジェクトをエクスポートした場所から次のコマンドを実行して、Xcode でプロジェクトを起動することができます。

open ./Unity-iPhone.xcodeproj

ルートの Unity-iPhone ノードを選択してプロジェクトの設定を表示し、[General](全般) タブを選択します。

[Deployment Info](展開情報) で、展開ターゲットが iOS 11.0 に設定されていることを確認します。

[Signing & Capabilities]\(署名と機能\) タブを選択し、[Automatically manage signing]\(署名を自動的に管理\) が有効になっていることを確認します。 有効でない場合は有効にして、表示されたウィンドウで [Enable Automatic](自動を有効にする) を選択して、ビルドの設定をリセットします。

アプリを iOS デバイスにデプロイする

iOS デバイスを Mac に接続し、アクティブ スキームを iOS デバイスに設定します。

Screenshot of the My iPhone button for selecting the device.

[Build and then run the current scheme](ビルドしてから現在のスキームを実行する) を選択します。

Screenshot of the

アプリで矢印を使って [BasicDemo] を選び、[実行] ボタンを押してデモを実行します。 指示に従って、アンカーを配置し、呼び戻します。

Screenshot 1Screenshot 2Screenshot 3

完了したら、Xcode で [Stop](停止) を押してアプリを停止します。

トラブルシューティング

レンダリングに関する問題

アプリを実行したとき、背景としてカメラが表示されない場合は (たとえば、代わりに空白、青、または他のテクスチャが表示される場合)、Unity に資産を再インポートすることが必要な場合があります。 アプリを停止します。 Unity の上部のメニューで、[Assets]\(資産\) -> [Re-import all]\(すべて再インポート\) を選択します。 その後、アプリをもう一度実行します。

リソースをクリーンアップする

前の手順では、リソース グループ内に Azure リソースを作成しました。 これらのリソースが将来必要になると思わない場合は、リソース グループを削除してリソースを削除できます。

Azure portal メニューまたは [ホーム] ページから、 [リソース グループ] を選択します。 次に、 [リソース グループ] ページで [myResourceGroup] を選択します。

[myResourceGroup] ページで、一覧表示されたリソースが、削除しようとするリソースであることを確認します。

[リソース グループの削除] を選択し、確認のためテキスト ボックスに「myResourceGroup」と入力して、 [削除] を選択します。

次のステップ

このクイック スタートでは、Spatial Anchors アカウントを作成しました。 次に、空間アンカーを保存して再呼び出しするようにアプリを構成してデプロイしました。 他のデバイスと空間アンカーを共有できるようにアプリを改良する方法の詳細を学習するには、次のチュートリアルに進んでください。