メインコンテンツまでスキップ
バージョン: 0.23.2

Unityのセットアップ

このガイドでは、UnityでSnapdragon Spaces SDKを使い始める方法について紹介します。

バージョン

ライブラリバージョン
Unity Editor2022.3.11f1
Snapdragon Spaces SDK0.23.2 (Spaces AR SDK for Unity)
Unityバージョンについて

Snapdragon Spacesでは2021.3 LTSが推奨されていますが、対象デバイスのアプリを開発する場合は2022.3.11f1を推奨しています。それ以外のバージョンは十分にテストされていないため、不具合が発生する可能性があります。

Unityプロジェクトの作成

Unityエディターのバージョンが2022.3.11f1であることを確認し、[Create project]を選択します。 alt text

Target Platformの切り替え

Build Settings > Platformにて、「Android」を選択して[Switch Platform]を選択します。 alt text

SDKのダウンロード

現在、「Snapdragon_Spaces_SDK_0_23_2」のダウンロードページは用意されていません。

これから新たにアプリを開発する場合は、「Snapdragon_Spaces_SDK_1_0_1」をダウンロードしてください。
SDKのダウンロード方法は、1.0.1バージョンの「SDKのダウンロード」の項目から確認できます。

パッケージのインポート

Snapdragon Spaces SDKは、tarballファイルの形でパッケージとして提供されます。
Window > Package Managerで「Add package from tarball...」を選択してください。 alt text

TIP

パッケージを絶対パスではなく相対パスで管理するには、.tgzファイルをプロジェクトのPackagesフォルダ以下に移動することをお勧めします。

基本パッケージ

以下のパッケージを選択してインポートします。
ファイル名:com.qualcomm.snapdragon.spaces-0.23.2.tgz alt text

ハンドトラッキングのパッケージ

ハンドトラッキングも利用する場合は以下のパッケージも同じように選択してインポートします。
ファイル名:com.qualcomm.qcht.unity.interactions-4.1.7.tgz alt text

XR Interaction Toolkitのインポート

Snapdragon Spaces Unityパッケージには、XR Interaction Toolkitパッケージへの依存関係があります。
Snapdragon Spacesパッケージのインポートする際、XR Interaction Toolkitのインポート中に2つのプロンプトが表示されることがあります:

  • 新しいInput Systemの有効
    • OpenXRとXR Interaction Toolkitパッケージで完全に機能するように、[Yes] を選択して新しいInput Systemを含めることをお勧めします。
      従来のInput Systemも必要な場合は、Player > Other Settings > ConfigurationActive Input Handlingの値を両方に設定できます。
  • Interaction Layer Maskのアップデート
    • Interaction Layer Maskのアップデートでは、Interaction Layer Maskをアップグレードするメニューが表示されることがあります。
      XR Interaction Toolkitがプロジェクトに追加されていない場合、[No Thanks]を選択できます。
      もし、2.0.0より前のバージョンのXR Interaction Toolkitがインポートされている場合は、[I Made A Backup, Go Ahead!]を選択して、Interaction Layer Maskをアップグレードすることをお勧めします。 alt text
WARNING

新しいInput Systemにアップデートすると、Unity Editorが再起動します。クラッシュの印象を受けるかもしれませんが、心配する必要はありません。心配であれば、アップデートの前に推奨されるように保存するか、バックアップを取ってください。

プロジェクト設定の変更

Snapdragon Spaces OpenXRプラグインを有効にするには、
Edit > Project Settings > XR Plug-in Managementでプロジェクト設定を開き、Androidタブを開きます。
OpenXRSnapdragon Spaces feature groupをチェックします。 alt text

OpenXRの右横の「赤い(!)」を選択して、OpenXR Project Validationウィンドウに入ります。
入力項目の横にある[Fix All]を選択して、必要なプロジェクト設定を適用します。
alt text

Spacesの機能の有効化

OpenXRの設定で、ランタイム中にアクティブにする機能を有効にします。
現在サポートされている機能と、それと共に使用できるAR FoundationマネージャーXR Subsystemは、以下の表の通りです。

機能AR Foundation/SpacesマネージャーXR Subsystem
Base RuntimeAR SessionAR Pose DriverXRSessionSubsystem
Camera Access (Experimental)AR Camera ManagerXRCameraSubsystem
Hand TrackingSpaces Hand Tracking ManagerSpaces.XRHandTrackingSubsystem
Hit TestingAR Raycast ManagerXRRaycastSubsystem
Image TrackingAR Tracked Image ManagerXRImageTrackingSubsystem
Plane DetectionAR Plane ManagerXRPlaneSubsystem
Spatial AnchorsAR Anchor ManagerXRAnchorSubsystem
Spatial Meshing (Experimental)AR Mesh ManagerXRMeshSubsystem

alt text alt text

サンプルのインポート

Snapdragon Spaces SDKパッケージには、パッケージに含まれるパーセプション機能の使用方法を紹介するサンプルアセットが付属しています。
メニューバーのWindow > Package Managerでパッケージを選択します。

基本サンプル

Snapdragon SpacesCore Samplesの[Import]を選択します。
(Dual Render Fusionも利用する場合は、Fusion Samplesの[Import]も選択します。) alt text

ハンドトラッキングのサンプル

ハンドトラッキングも利用する場合は、QCHT Unity InteractionsCore AssetsQCHT Samplesの[Import]を選択します。
alt text

TIP

Camera Accessのサンプルの実装では、Player Settings (Androidタブ) > Other Settings group > Script Compilation > Allow 'unsafe' Codeで、unsafeなコードを有効にする必要があります。
unsafeなコードを許可せず、Camera Accessのサンプルも不要で、OpenXR Project Validationのエラーを解消したい場合は、Samples > Snapdragon Spaces > {SDK Version}からCamera Access Sampleフォルダを削除してください。

シーンのビルド

サンプルがインポートされると、サンプルシーンをビルド設定に追加するヘル​​パーツールがあります。
ヘルパーツールはメニューバーで[Window] > [Snapdragon Spaces] > [Add Scenes to Build Settings]で実行できます。 alt text

SDKのバージョンによっては上記のツールが存在しない可能性があります。その場合は、以下のシーンをBuild SettingsのScenes In Buildに手動で追加します。
Main Menuのシーンは、一番上になるようにしてください。 alt text

以上で、サンプルシーンをビルドする準備は完了しました。
スマートフォンをPCに接続し、Build Settingsの[Build And Run]を選択することでサンプルシーンをアプリとしてインストール出来ます。

サンプルのアプリ

Snapdragon Spaces SDKのフォルダ内には、上記のサンプルシーンをビルドしたアプリ(APK)があります。
アプリ名:SnapdragonSpaces_Unity_Samples_0_23_2.apk alt text