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
710
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 にー兄さん
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.2k
create-babylon-appを軽率にアプデしたい / update create babylon app
drumath2237
1
1.3k
Babylon.js 7注目機能を 軽率にまとめてみる/whats-new-in-babylonjs-v7
drumath2237
1
170
軽率にVFX Graphと Compute Shaderを 組み合わせるテクニック/integrate-vfxgraph-and-compute-shader
drumath2237
1
210
軽率にVue 3で リアルタイム3Dアプリを作れる ライブラリを作ってみた/vue-with-3d-app
drumath2237
3
1.8k
軽率にBabylon.jsを C#で使う技術 / using-babylonjs-with-csharp
drumath2237
1
630
今こそ軽率に理解したい WebXR Device APIとBabylon.jsの話 / understand-webxr-device-api-and-babylonjs
drumath2237
0
110
Vue・Babylon連携ライブラリ BabyuewJSについて / about-babyuewjs
drumath2237
0
140
軽率にBabylon.jsの WebGPUエンジンを使って ComputeShaderに入門した / learn-about-babylonjs-webgpu-computeshader
drumath2237
0
590
Other Decks in Programming
See All in Programming
PHPを書く理由、PHPを書いていて良い理由 / Reasons to write PHP and why it is good to write PHP
seike460
PRO
5
460
선언형 UI를 학습할 때 알아둬야하는 키워드들
l2hyunwoo
0
140
GitHub Copilot Workspace で我々のアプリ開発がどう変わるのか?
shuyakinjo
0
940
モジュラモノリス、その前に / Modular monolith, before that
euglena1215
6
690
ML-прайсинг_на_Lamoda__вошли_и_вышли__приключение_на_20_минут__Слава_Цыганков.pdf
lamodatech
0
140
VS Code extension: ドラッグ&ドロップでファイルを並び替える
ttrace
0
170
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
0
120
Removing Corepack
yosuke_furukawa
PRO
9
1.2k
App Router 悲喜交々
quramy
7
380
複数プロダクトの技術改善・クラウド移行に向き合うチームのフレキシブルなペア・モブプログラミングの実践 / Flexible Pair Programming And Mob Programming
honyanya
0
220
perl for shell, awk and sed programmers
mackee
1
690
Subclassing, Composition, Python, and You
hynek
3
160
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.7k
No one is an island. Learnings from fostering a developers community.
thoeni
19
2.9k
The Cult of Friendly URLs
andyhume
77
6k
Designing with Data
zakiwarfel
98
5.1k
Code Review Best Practice
trishagee
62
16k
The Invisible Customer
myddelton
119
13k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
29
1.7k
Building an army of robots
kneath
302
42k
Side Projects
sachag
452
42k
What's in a price? How to price your products and services
michaelherold
243
11k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
25
660
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
355
29k
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/
[email protected]
/manual/index.html#subsystems Unity XR architecture https://docs.unity3d.com/ja/2022.3/Manual/XRPluginArchitecture.html