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
39
UnJSを使って軽率にCLIを作ってみたらめちゃくちゃ便利だった / create CLI with UnJS
drumath2237
4
1.6k
Other Decks in Programming
See All in Programming
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
26
8k
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
12
7.4k
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
320
リッチエディターを安全に開発・運用するために
unachang113
1
230
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
290
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
240
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
iOS開発スターターキットの作り方
akidon0000
0
170
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
2
690
構文解析器入門
ydah
7
1.8k
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1.3k
React は次の10年を生き残れるか:3つのトレンドから考える
oukayuka
39
14k
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
840
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
A better future with KSS
kneath
238
17k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Cult of Friendly URLs
andyhume
79
6.5k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Into the Great Unknown - MozCon
thekraken
40
1.9k
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