Unityのセットアップ
このガイドでは、UnityでSnapdragon Spaces SDKを使い始める方法について紹介します。
バージョン
ライブラリ | バージョン |
---|---|
Unity Editor | 2022.3.11f1 |
Snapdragon Spaces SDK | 0.23.2 (Spaces AR SDK for Unity) |
Snapdragon Spacesでは2021.3 LTSが推奨されていますが、対象デバイスのアプリを開発する場合は2022.3.11f1を推奨しています。それ以外のバージョンは十分にテストされていないため、不具合が発生する可能性があります。
Unityプロジェクトの作成
Unityエディターのバージョンが2022.3.11f1であることを確認し、[Create project]を選択します。
Target Platformの切り替え
Build Settings > Platform
にて、「Android」を選択して[Switch Platform]を選択します。
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...」を選択してください。
パッケージを絶対パスではなく相対パスで管理するには、.tgzファイルをプロジェクトのPackagesフォルダ以下に移動することをお勧めします。
基本パッケージ
以下のパッケージを選択してインポ ートします。
ファイル名:com.qualcomm.snapdragon.spaces-0.23.2.tgz
ハンドトラッキングのパッケージ
ハンドトラッキングも利用する場合は以下のパッケージも同じように選択してインポートします。
ファイル名:com.qualcomm.qcht.unity.interactions-4.1.7.tgz
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 > Configuration
のActive Input Handlingの値を両方に設定できます。
- OpenXRとXR Interaction Toolkitパッケージで完全に機能するように、
- 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をアップグレードすることをお勧めします。
- Interaction Layer Maskのアップデートでは、Interaction Layer Maskをアップグレードするメニューが表示されることがあります。
新しいInput Systemにアップデートすると、Unity Editorが再起動します。クラッシュの印象を受けるかもしれませんが、心配する必要はありません。心配であれば、アップデートの前に推奨されるように保存するか、バックアップを取ってください。
プロジェクト設定の変更
Snapdragon Spaces OpenXRプラグインを有効にするには、
Edit > Project Settings > XR Plug-in Management
でプロジェクト設定を開き、Androidタブ
を開きます。
OpenXR
とSnapdragon Spaces feature group
をチェックします。
OpenXR
の右横の「赤い(!)」
を選択して、OpenXR Project Validation
ウィンドウに入ります。
入力項目の横にある[Fix All]を選択して、必要なプロジェクト設定を適用します。
Spacesの機能の有効化
OpenXRの設定で、ランタイム中にアクティブにする機能を有効にします。
現在サポートされている機能と、それと共に使用できるAR Foundationマネージャー
とXR Subsystem
は、以下の表の通りです。
機能 | AR Foundation/Spacesマネージャー | XR Subsystem |
---|---|---|
Base Runtime | AR Session、AR Pose Driver | XRSessionSubsystem |
Camera Access (Experimental) | AR Camera Manager | XRCameraSubsystem |
Hand Tracking | Spaces Hand Tracking Manager | Spaces.XRHandTrackingSubsystem |
Hit Testing | AR Raycast Manager | XRRaycastSubsystem |
Image Tracking | AR Tracked Image Manager | XRImageTrackingSubsystem |
Plane Detection | AR Plane Manager | XRPlaneSubsystem |
Spatial Anchors | AR Anchor Manager | XRAnchorSubsystem |
Spatial Meshing (Experimental) | AR Mesh Manager | XRMeshSubsystem |
サンプルのインポート
Snapdragon Spaces SDKパッケージには、パッケージに含まれるパーセプション機能の使用方法を紹介するサンプルアセットが付属しています。
メニューバーのWindow > Package Manager
でパッケージを選択します。
基本サンプル
Snapdragon Spaces
のCore Samples
の[Import]を選択します。
(Dual Render Fusion
も利用する場合は、Fusion Samples
の[Import]も選択します。)
ハンドトラッキングのサンプル
ハンドトラッキングも利用する場合は、QCHT Unity Interactions
のCore Assets
とQCHT Samples
の[Import]を選択します。
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]
で実行できます。
SDKのバージョンによっては上記のツールが存在しない可能性があります。その場合は、以下のシーンをBuild SettingsのScenes In Buildに手動で追加します。
Main Menu
のシーンは、一番上になるようにしてください。
以上で、サンプルシーンをビルドする準備は完了しました。
スマートフォンをPCに接続し、Build Settingsの[Build And Run]を選択することでサ ンプルシーンをアプリとしてインストール出来ます。
サンプルのアプリ
Snapdragon Spaces SDKのフォルダ内には、上記のサンプルシーンをビルドしたアプリ(APK)があります。
アプリ名:SnapdragonSpaces_Unity_Samples_0_23_2.apk