Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Snapdragon Spacesを通して Unity XRプラグインフレームワーク について...
Search
にー兄さん
July 14, 2023
Programming
0
1.1k
Snapdragon Spacesを通して Unity XRプラグインフレームワーク について軽率に学ぶ / about snapdragon spaces sdk and unity xr framework
yokohama.unity #12で登壇した資料です
にー兄さん
July 14, 2023
Tweet
Share
More Decks by にー兄さん
See All by にー兄さん
軽率にプログラミング言語のシンタックスについて考えてみよう / lets-think-about-programming-lang-syntax
drumath2237
0
47
エンジニアが軽率に趣味から始める、OSS貢献を軸とした個人活動 / oss-contribution-as-a-hoby-project
drumath2237
0
32
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
160
フォークギター with VFXの 制作を軽率に振り返ろう! / look back fork guitar with vfx
drumath2237
0
32
軽率に始まった Babylon.js勉強会運営の 1年間をふりかえって / look back babylonjs japan activity
drumath2237
0
57
利己的利他、 あるいは軽率2.0に備えよ。 / prepare-for-keisotsu-2.0
drumath2237
0
47
軽率にAndroidXRのJetpack SceneCoreを使って3Dモデルを表示してみる / androidxr-scenecore-3dmodels
drumath2237
0
110
あなたの知らないWebXR Device APIの話を軽率に / about-webxr-device-api-you-dont-know
drumath2237
0
40
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.6k
Other Decks in Programming
See All in Programming
テスト駆動Kaggle
isax1015
1
890
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
230
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
27
8.1k
Claude Code で Astro blog を Pages から Workers へ移行してみた
codehex
0
150
副作用と戦う PHP リファクタリング ─ ドメインイベントでビジネスロジックを解きほぐす
kajitack
3
450
AI Ramen Fight
yusukebe
0
110
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
100
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
100
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
640
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
階層化自動テストで開発に機動力を
ickx
1
420
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
4
600
Featured
See All Featured
Code Review Best Practice
trishagee
69
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Facilitating Awesome Meetings
lara
54
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Automating Front-end Workflow
addyosmani
1370
200k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
Being A Developer After 40
akosma
90
590k
Transcript
Snapdragon Spacesを通して Unity XRプラグインフレームワーク について軽率に学ぶ にー兄さん@ninisan_drumath yokohama.unity #12
にー兄さん(@ninisan_drumath) ソフトウェアエンジニア 株式会社ホロラボ / IwakenLab Unity / ロケーションベースAR / WebAR
/ Babylon.js / Azure Kinect 最新技術を使った検証開発や デモンストレーションが好き 唐突な うちの猫たち→
アジェンダ - Spaces SDKについて - Spaces SDKとXRフレームワーク - おわりに
Snapdragon Spaces SDK
Snapdragon Space SDK Qualcommが開発するXRアプリ用SDK Qualcommが製造するチップを搭載したARグラスやVRHMD 対応していればクロスデバイスで動く https://spaces.qualcomm.com/
対応デバイスやプラットフォーム 現状はLenovo ThinkReality A3がメイン Lenovo VRX、Lynx R1、Oppo MR Glass などがサポート予定を発表
今後対応デバイスは増えていくと予想 SDKはUnityとUE用がある
提供機能 https://docs.spaces.qualcomm.com/unity/setup/SetupGuideUnity.html
ARFoundationやOpenXRに準拠 個人的に一番気になっていた点 業界/Unity標準のしくみを使ってるのは良いな でもそれってどういうこと? →調査をすることに
Spaces SDKと XRフレームワーク
調査環境 • Snapdragon Spaces SDK 0.14.0 ◦ Dual Render Fusionは扱いません
• Unity 2021.3.16f1 • ARFoundation 2.8 • ThinkReality A3 SDKはtgz形式で提供されるが、 コードリーディングのために敢えてAssets内に展開
SDKの中身 通常2つのパッケージを導入する - com.qualcomm.qcht.unity.interactions - QCHT=Qualcomm Hand Tracking(たぶん) - ハンドトラッキングの機能がある
- com.qualcomm.snapdragon.spaces - QCHTに依存している - SpacesSDKのメイン
Unity XRプラグインフレームワークの構造 ARFoundationや OpenXR Pluginなどの おおまかな関係図 (from Unityドキュメント) ユーザコードへの インターフェースと
具体的な実装が分割 https://docs.unity3d.com/ja/2022.3/Manual/XRPluginArchitecture.html
具体実装(Spaces)とインターフェースの依存関係例 CameraSubsystemの例
CameraSubsystemに注目して整理 - Subsystem - Providor - OpenXR Feature などをSpacesSDKが実装している 特にOpenXRFeatureにメイン実装があり、
Providorが参照し さらにSubsystemがProvidorをARFoundation へ橋渡しする構造
同様のSubsystemが並んでいるイメージ
Hand Tracking Subsystem Hand TrackingはQCHTに実装 カスタムSubsystemが作られてる ARFoundationにはハントラ機能はない 以前はSpacesパッケージ内にあったが、 現在はObsolete扱い
おわりに
まとめと感想 Qualcomm謹製Snapdragon Spaces SDKは ARFoundationやOpenXR pluginといったフレームワークから使える XR系のフレームワークは内部の動きが隠蔽されがち 何が起きてるのか興味があった 標準システムに準拠して実装しているSpaces SDK、実にイケてる
参考 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/com.unity.xr.arfoundation@4.2/manual/index.html#subsystems Unity XR architecture https://docs.unity3d.com/ja/2022.3/Manual/XRPluginArchitecture.html