🗒️

Snapdragpn Spaces SDK V0.13.0 リリースノート

2023/05/08に公開

Snapdragpn Spaces SDK V0.13.0

2023/05/04に新しいものがリリースされた。詳細は以下のリンク

https://docs.spaces.qualcomm.com/common/about/CHANGELOG.html

全体的には軽微な修正が多いのですが、コンポーネントの依存関係、性能に関する改善が入っています。調査のために一通り読んだので見直すための備忘録に残しておきます。

Snapdragon Spaces SDK for Unity (V0.13.0)

追加

  • サンプルアプリ
    • QCHTパッケージがプロジェクトに含まれている場合、ハンドトラッキングがデフォルトの入力モードとして有効。それ以外の場合は、視線ポインタがデフォルト。
  • オプションの画像トラッキングモードを設定機能(詳細)
    • トラッキングタイミングを利用方法に応じて3タイプで利用可能
      • Dynamic:毎フレームでトラッキング。消費電力大
      • Static:トラッキング画像自体が動かない場合に有効。視野外でもオブジェクトは消えない。消費電力小
      • Adaptive:トラッキング画像が動いた時、約5フレームに1回トラッキング。視野外でオブジェクトは消える。DynamicとStaticのいいとこどりで消費電力を抑える
  • Base Runtime設定でスリープモードを防止する設定を追加。これによりアプリケーション画面タイムアウトが防止できるように。
  • OriginLocationUtilityクラスを経由することで適切なセション(ARSessionOriginまたはXROrigin)を取得することが可能
  • Passthroughを有効時、カメラ背景が正しく設定されていない場合、警告が表示
  • Unityのビルドバージョンが、サンプルのメインメニューの情報パネルに表示

変更

  • QCHT interactionsのバージョンが4.0.0-pre.11に更新
  • サンプルコードに関する修正
    • 外観変更
    • ARPoseDriverコンポーネント(非推奨)をTrackedPoseDriverに変更。
  • Unity 2022.1、2022.2、2023.1 (Beta)との互換性を確保するためのコードリファクタリング
  • パッケージ内の SpacesLauncher.aar と ServicesHelper.aar アーカイブのリファクタリング
  • Hit TestingとPlane Detectionのライフサイクルの改善と変更:
    • AR Raycastsの内部で設定されていた距離の制限を削除
    • Plane extentsの計算が変更され、後方互換性が損なわれる可能性があり
  • 安全でないコードを強制的に有効にする検証ルールをプラグインから削除(この対応はサンプル内のみ必要な措置だった)
    • 必要な機能はCameraFrameAccessSampleController.csに移動
  • Scene Understandingバックエンドが無効の場合、Plane Detection、Image Tracking、Hit Testingサブシステムが、ランタイムカメラのパーミッションを要求するように変更。
    • ※後述のSnapdragon Spaces Servicesにもある通り、Scene Understanding、Plane Detection、Image Tracking、Hit Testingに関する機能間の依存関係が変わったためと思われる

修正

  • 注視インタラクタの位置の計算に関する問題の修正
  • Launch Controller on Hostオプションを無効にすると、UnityアクティビティにwindowFocusChangedの付加が追加されないという問題を修正しました。
  • Base Runtime feature options の Export Headless オプションは、最終マニフェストの SpacesLauncher アクティビティのインテントを正しく削除します。
  • Hit Testing、Plane Detection、Spatial Meshing プロバイダが不要になった場合、正しく停止するように修正。
    • 以前のランタイムでは、プロバイダを 20~40 秒以内に起動できない
    • 旧動作を想定したアプリはこの修正により後方互換性が失われる可能性があります。
  • カメラフレームアクセスライフサイクルの改善により、この機能が誤って初期化されないようにしました。

Snapdragon Spaces SDK for Unreal Engine (V0.13.0)

追加

  • サンプルでHand Trackingがデフォルトの入力モードとして有効化
  • 遠距離操作のための新しいハンドトラッキングのコンポーネントの追加
  • オプションの画像トラッキングモードを設定機能(詳細)※Unityの修正と同様
  • アプリケーション画面のタイムアウトを防止するためのプロジェクト設定の追加
  • カメラフレームアクセス機能は、パフォーマンス向上のため、RGBフレームを非同期計算するように
  • 新しいカスタムノード「Toggle Spaces Feature」を追加
    • 「Toggle AR Capture」の代わりにperception機能を開始するためのものです。

変更点

  • すべてのサンプルの外観を変更しました。
  • 画面の向き「Landscape Left」を再度必須設定にした。
  • ハンドジェスチャー「ポイント」を非推奨としました。
  • パッケージ内の SpacesLauncher.aar と ServicesHelper.aar アーカイブのリファクタリング
  • 視線使用時の情報パネルで、矢印のスクロール方向が反転するようになりました。
  • Hit TestingとPlane Detectionのライフサイクルの改善と変更:
    • AR Raycastsの内部で設定されていた距離制限を削除
    • Plane extentsの計算が変更され、後方互換性が損なわれる可能性があり
  • Scene Understandingバックエンドが無効の場合、Plane Detection、Image Tracking、Hit Testingサブシステムが、ランタイムカメラのパーミッションを要求するように変更。
    • ※後述のSnapdragon Spaces Servicesにもある通り、Scene Understanding、Plane Detection、Image Tracking、Hit Testingに関する機能間の依存関係が変わったためと思われる

修正済み

  • エディターでハンドトラッキングを実行するとクラッシュする問題を修正
  • std::join がアプリケーションプロセスの外部(Snapdragon Spaces Services プロセスやサードパーティライブラリなど)で呼び出された場合にクラッシュする問題を修正
  • perception機能のロードを修正し、必要なときだけロードされるようにしました。
  • Hit Testing、Plane Detection、Spatial Meshing プロバイダが不要になった場合、正しく停止するように修正。
    • 以前のランタイムでは、プロバイダを 20~40 秒以内に起動できない
    • 旧動作を想定したアプリはこの修正により後方互換性が失われる可能性があります。
  • Spatial Meshingを使用する際のメモリーリークを修正しました。

Snapdragon Spaces Services

追加

  • イメージトラッキングモード設定のための以下のメソッドを追加
    • xrSetImageTargetsTrackingModeQCOM
    • xrStopImageTargetTrackingQCOM

変更点

  • Image Tracking、Hit Testing、Plane Detectionは、アプリケーションプロセスではなく、Snapdragon Spaces Servicesプロセスで実行されています。以前は、Scene Understandingバックエンドが内部で使用されているか否かに依存していました。
  • カメラフレームアクセスの改善。この変更により、後方互換性が失われる可能性があります。

修正済み

  • ハンドトラッキングレイヤーにおけるメガネの抜き差しの不具合を修正しました。
  • メガネを抜き差しした後にアプリを起動すると、黒い画面が表示される問題を修正しました。

Discussion