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
AndroidXR 開発ツールごとの できることできないこと
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
donabe
February 15, 2025
Technology
0
310
AndroidXR 開発ツールごとの できることできないこと
Android XR触ってみた発表会 (ゆるめ)にて発表
https://iwakenlab.connpass.com/event/345127/
donabe
February 15, 2025
Tweet
Share
More Decks by donabe
See All by donabe
Unityがマルチプラット フォームビルドできる理由は? よく聞くIL2CPPって? 調べてみました!
donabe3
0
14
ハッカソン請負人の 開発ルーティンを紹介!
donabe3
0
60
OutOfRange 【プロトスプリントリーグ】
donabe3
0
80
Unityで都市開発シミュレーションゲーム開発をしてみよう
donabe3
0
410
現実 VS バーチャルのマルチプレイゲームを作ろう
donabe3
0
170
Speech to Textureで 思い通りに世界を改変しよう
donabe3
0
30
院試までなにやったか
donabe3
0
31
XR Interaction toolkit & XRHands & Passthrough API で MR 開発
donabe3
0
280
XRの魅力を語りたい
donabe3
0
49
Other Decks in Technology
See All in Technology
製造業ドメインにおける LLMプロダクト構築: 複雑な文脈へのアプローチ
caddi_eng
1
450
AI時代にエンジニアはどう成長すれば良いのか?
recruitengineers
PRO
1
140
Kiro のクレジットを使い切る!
otanikohei2023
0
110
Security Diaries of an Open Source IAM
ahus1
0
200
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
18k
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
200
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
6
7.8k
Digitization部 紹介資料
sansan33
PRO
1
7k
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
1
100
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
150
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
19
7.3k
開発組織の課題解決を加速するための権限委譲 -する側、される側としての向き合い方-
daitasu
4
240
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
210
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
So, you think you're a good person
axbom
PRO
2
1.9k
How STYLIGHT went responsive
nonsquared
100
6k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
Are puppies a ranking factor?
jonoalderson
1
3.1k
The Language of Interfaces
destraynor
162
26k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
140
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Transcript
AndroidXR 開発ツールごとの できることできないこと 土鍋 2025/2/15 Android XR触ってみた発表会 (ゆるめ) Iwaken Lab.
自己紹介 土鍋 @donadonadonabe XR・Unityエンジニア 大学: 会津大学→筑波大学大学院 活動: XR技術で様々な作品開発・ハッカソン出場&受賞 ポートフォリオ: https://donabe.myportfolio.com
2
目次 1. AndroidXR概要 2. 従来のAndroidアプリの移行 3. Jetpack Composeでの開発 4. Unityでの開発
5. WebXRでの開発 6. OpenXRでの開発 3
AndroidXRの概要(開発関連) 4
スペース ホームスペース フルスペース ・マルチタスク可能 ・空間パネル、3Dモデル、空間環 境はサポートしない ・追加の開発なしでAndroidアプリ が動く ・アプリは1つのみ稼働 ・空間パネル、3Dモデル、空間環
境、空間オーディオをサポート ・Unity、OpenXR、WebXRはフル スペースのみ 5
アプリの種類 6 モバイルアプリ サポートされていない機能 を使用していない限りその ままインストール可能 大画面アプリ アダプティブレイアウトに 対応してどんなサイズでも 問題なく動くアプリ
https://developer.android.co m/docs/quality-guidelines/la rge-screen-app-quality?hl=j a XR差別化アプリ 次のスライドで解説
XR向けに差別化されたアプリの要素 7 空間パネル 3Dモデル(Volume) 空間環境
AndroidXR向けアプリの開発方法 • 従来のAndroidアプリ • Jetpack Compose • Unity • WebXR
• OpenXR 8
エミュレーター 現状、唯一AndroidXR環境を試せるもの。 Jetpack Compose、Unity、WebXRを試したが、 動いたのはJetpack Compose製アプリだけだった 環境構築と起動方法は記事書いたのでご覧ください https://donabenabe.hatenablog.com/entry/AndroidXREmulatorTest 9
Androidアプリ 10
ほとんどのAndroidアプリとの互換性あり 既存のAndroidアプリの多くはそのままPlayStoreに並ぶ サポートされていない機能を利用している場合は並ばない ↓サポート一覧 https://developer.android.com/develop/xr/get-started?hl=ja#app-manifest 11
アダプティブレイアウト アダプティブレイアウトに対応していると、 ウィンドウ端を掴んで形を変えられる https://developer.android.com/develop/ui/compose/layouts/adaptive?hl=ja 12
Jetpack Compose 13
Jetpack Composeとは Android 用Kotlinベースの宣言型 UIフレームワーク Androidネイティブアプリ開発に用いられる 14
ホームスペース ホームスペースアプリはAndroid向けコードから 何も追加で開発せず動く • 移動可能 • リサイズ可能 • マルチタスク可能 15
フルスペース 要素そのままで少し書き換えるだけで フルスペースアプリ化可能 16
公式チュートリアル 2/12公開 初めてKotlinに触れたが分かりやすかった。 Learn Android XR Fundamentals: Part 1 -
Modes and Spatial Panels 17
ARCore ARCoreも使用できるらしい • 平面認識 • 空間アンカー • ハンドトラッキング エミュレーターで動作確認したかったができなそうだった 18
Unity 19
開発方法 XR Interaction ToolkitとAR FoundationとOpenXR Pluginで開発する ↑つまり上と同じ構成で作ったアプリはAndroidXRでも動く ハンドトラッキングにはXR Handsを使用可能 AndroidXR固有機能を使用するためには後述のパッケージが必要
導入方法は記事書いているのでご覧ください https://donabenabe.hatenablog.com/entry/UnityAndroidXRStart 20
開発方法 Unity OpenXR Android XR パッケージ https://docs.unity3d.com/Packages/com.unity.xr.androidxr-openxr@latest/ Unityが提供するパッケージ 21
開発方法 Android XR Extensions for Unity https://github.com/android/android-xr-unity-package Unity OpenXR Android
XR パッケージを補完する 没入型エクスペリエンスの構築に役立つ追加機能が含まれる 単独でも組み合わせても利用できる 22
2つのパッケージどっちを使うのか? 機能の比較表を公式が公開している https://developer.android.com/develop/xr/unity?hl=ja#features_and_c ompatibility_considerations 併用可能なので作るアプリに合わせて OpenXRのFeature Groupsのチェックボックスを切り替える 23
WebXR 24
サポートされるWebXRの機能 • Device API • AR Module • Gamepads Module
• Hit Test Module • Hand Input • Anchors • Depth Sensing • Light Estimation 25
エミュレーターで動かない おそらくフルスペース版のChromeが提供されていないから? 26
OpenXR 27
開発方法 OpenXR向けにビルドしたアプリなら動く エミュレーターが動かない以上確認はできないが、 MetaやSteamVR向けのアプリをOpenXR向けにビルドしていれば AndroidXR上で動く可能性がある 28
参考 Android XR https://developer.android.com/develop/xr?hl=ja Android XR - UI デザイン https://developer.android.com/design/ui/xr?hl=ja
Learn Android XR Fundamentals: Part 1 - Modes and Spatial Panels https://developer.android.com/codelabs/xr-fundamentals-part-1#0 Introducing Android XR SDK Developer Preview https://android-developers.googleblog.com/2024/12/introducing-android-xr-sdk-developer-preview.html Android XR向けのUIデザインについて https://zenn.dev/hololab/articles/androidxr-design Android XR アプリ開発 | 3Dモデルを ActivitySpace に配置する方法 | 技術ブログ | 株式会社OnePlanet https://1planet.co.jp/tech-blog/android-xr-oneplanet-241226-1-3d-model-activity-space 29