$30 off During Our Annual Pro Sale. View Details »

Snapdragon Spacesを通して Unity XRプラグインフレームワーク について軽率に学ぶ / about snapdragon spaces sdk and unity xr framework

Snapdragon Spacesを通して Unity XRプラグインフレームワーク について軽率に学ぶ / about snapdragon spaces sdk and unity xr framework

yokohama.unity #12で登壇した資料です

にー兄さん

July 14, 2023
Tweet

More Decks by にー兄さん

Other Decks in Programming

Transcript

  1. Snapdragon Spacesを通して
    Unity XRプラグインフレームワーク
    について軽率に学ぶ
    にー兄さん@ninisan_drumath
    yokohama.unity #12

    View Slide

  2. にー兄さん(@ninisan_drumath)
    ソフトウェアエンジニア
    株式会社ホロラボ / IwakenLab
    Unity / ロケーションベースAR / WebAR /
    Babylon.js / Azure Kinect
    最新技術を使った検証開発や
    デモンストレーションが好き
    唐突な
    うちの猫たち→

    View Slide

  3. アジェンダ
    - Spaces SDKについて
    - Spaces SDKとXRフレームワーク
    - おわりに

    View Slide

  4. Snapdragon Spaces SDK

    View Slide

  5. Snapdragon Space SDK
    Qualcommが開発するXRアプリ用SDK
    Qualcommが製造するチップを搭載したARグラスやVRHMD
    対応していればクロスデバイスで動く
    https://spaces.qualcomm.com/

    View Slide

  6. 対応デバイスやプラットフォーム
    現状はLenovo ThinkReality A3がメイン
    Lenovo VRX、Lynx R1、Oppo MR Glass
    などがサポート予定を発表
    今後対応デバイスは増えていくと予想
    SDKはUnityとUE用がある

    View Slide

  7. 提供機能
    https://docs.spaces.qualcomm.com/unity/setup/SetupGuideUnity.html

    View Slide

  8. ARFoundationやOpenXRに準拠
    個人的に一番気になっていた点
    業界/Unity標準のしくみを使ってるのは良いな
    でもそれってどういうこと?
    →調査をすることに

    View Slide

  9. Spaces SDKと
    XRフレームワーク

    View Slide

  10. 調査環境
    ● Snapdragon Spaces SDK 0.14.0
    ○ Dual Render Fusionは扱いません
    ● Unity 2021.3.16f1
    ● ARFoundation 2.8
    ● ThinkReality A3
    SDKはtgz形式で提供されるが、
    コードリーディングのために敢えてAssets内に展開

    View Slide

  11. SDKの中身
    通常2つのパッケージを導入する
    - com.qualcomm.qcht.unity.interactions
    - QCHT=Qualcomm Hand Tracking(たぶん)
    - ハンドトラッキングの機能がある
    - com.qualcomm.snapdragon.spaces
    - QCHTに依存している
    - SpacesSDKのメイン

    View Slide

  12. Unity XRプラグインフレームワークの構造
    ARFoundationや
    OpenXR Pluginなどの
    おおまかな関係図
    (from Unityドキュメント)
    ユーザコードへの
    インターフェースと
    具体的な実装が分割
    https://docs.unity3d.com/ja/2022.3/Manual/XRPluginArchitecture.html

    View Slide

  13. 具体実装(Spaces)とインターフェースの依存関係例
    CameraSubsystemの例

    View Slide

  14. CameraSubsystemに注目して整理
    - Subsystem
    - Providor
    - OpenXR Feature
    などをSpacesSDKが実装している
    特にOpenXRFeatureにメイン実装があり、
    Providorが参照し
    さらにSubsystemがProvidorをARFoundation
    へ橋渡しする構造

    View Slide

  15. 同様のSubsystemが並んでいるイメージ

    View Slide

  16. Hand Tracking Subsystem
    Hand TrackingはQCHTに実装
    カスタムSubsystemが作られてる
    ARFoundationにはハントラ機能はない
    以前はSpacesパッケージ内にあったが、
    現在はObsolete扱い

    View Slide

  17. おわりに

    View Slide

  18. まとめと感想
    Qualcomm謹製Snapdragon Spaces SDKは
    ARFoundationやOpenXR pluginといったフレームワークから使える
    XR系のフレームワークは内部の動きが隠蔽されがち
    何が起きてるのか興味があった
    標準システムに準拠して実装しているSpaces SDK、実にイケてる

    View Slide

  19. 参考
    Snapdragon Spaces
    https://spaces.qualcomm.com/
    XR Plug-in ManagementによるXR機能(サブシステム)の仕組みを追う
    https://edom18.hateblo.jp/entry/2022/09/24/xr-plugin-management
    About ARFoundation
    https://docs.unity3d.com/Packages/[email protected]/manual/index.html#subsystems
    Unity XR architecture
    https://docs.unity3d.com/ja/2022.3/Manual/XRPluginArchitecture.html

    View Slide