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プラグインフレームワーク について軽率に学ぶ / about snapdragon spaces sdk and unity xr framework
Search
にー兄さん
July 14, 2023
Programming
0
390
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 にー兄さん
Babylon.js 7注目機能を 軽率にまとめてみる/whats-new-in-babylonjs-v7
drumath2237
1
53
軽率にVFX Graphと Compute Shaderを 組み合わせるテクニック/integrate-vfxgraph-and-compute-shader
drumath2237
1
52
軽率にVue 3で リアルタイム3Dアプリを作れる ライブラリを作ってみた/vue-with-3d-app
drumath2237
3
1.5k
軽率にBabylon.jsを C#で使う技術 / using-babylonjs-with-csharp
drumath2237
1
380
今こそ軽率に理解したい WebXR Device APIとBabylon.jsの話 / understand-webxr-device-api-and-babylonjs
drumath2237
0
30
Vue・Babylon連携ライブラリ BabyuewJSについて / about-babyuewjs
drumath2237
0
78
軽率にBabylon.jsの WebGPUエンジンを使って ComputeShaderに入門した / learn-about-babylonjs-webgpu-computeshader
drumath2237
0
390
Babylon.jsユーザのためのCLIを軽率にnpmで公開した話 / about create babylon app CLI
drumath2237
0
530
軽率な執筆活動 / writing books roughly
drumath2237
0
34
Other Decks in Programming
See All in Programming
Next.js App Router
quramy
14
2.3k
How to implement a RubyVM with PHP?
memory1994
PRO
2
1.1k
Ruby on Fails - effective error handling with Rails conventions
talyssonoc
0
300
Documentation testsの恩恵 / Documentation testing benefits
ssssota
1
570
Productivity is Messing Around and Having Fun
hollycummins
1
190
The World is a Network (and We Are Just Nodes)
whatyouhide
0
100
Powerfully Typed TypeScript
euxn23
4
1.8k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
74k
RubyGems on ruby.wasm
kateinoigakukun
0
160
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
520
教えて!スクラムコーチ品質とスピードのバランスはどうすりゃいいの?
pinboro
0
160
How to improve maintainability and readability of your automated tests? ( #scrumniigata )
teyamagu
PRO
1
130
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
117
18k
10 Git Anti Patterns You Should be Aware of
lemiorhan
649
58k
Navigating Team Friction
lara
179
13k
What's new in Ruby 2.0
geeforr
338
31k
For a Future-Friendly Web
brad_frost
172
9k
Bash Introduction
62gerente
605
210k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Music & Morning Musume
bryan
41
5.6k
Adopting Sorbet at Scale
ufuk
69
8.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
8
3.5k
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