Slide 1

Slide 1 text

AndroidXR 開発ツールごとの できることできないこと 土鍋 2025/2/15 Android XR触ってみた発表会 (ゆるめ) Iwaken Lab.

Slide 2

Slide 2 text

自己紹介 土鍋 @donadonadonabe XR・Unityエンジニア 大学: 会津大学→筑波大学大学院 活動: XR技術で様々な作品開発・ハッカソン出場&受賞 ポートフォリオ: https://donabe.myportfolio.com 2

Slide 3

Slide 3 text

目次 1. AndroidXR概要 2. 従来のAndroidアプリの移行 3. Jetpack Composeでの開発 4. Unityでの開発 5. WebXRでの開発 6. OpenXRでの開発 3

Slide 4

Slide 4 text

AndroidXRの概要(開発関連) 4

Slide 5

Slide 5 text

スペース ホームスペース フルスペース ・マルチタスク可能 ・空間パネル、3Dモデル、空間環 境はサポートしない ・追加の開発なしでAndroidアプリ が動く ・アプリは1つのみ稼働 ・空間パネル、3Dモデル、空間環 境、空間オーディオをサポート ・Unity、OpenXR、WebXRはフル スペースのみ 5

Slide 6

Slide 6 text

アプリの種類 6 モバイルアプリ サポートされていない機能 を使用していない限りその ままインストール可能 大画面アプリ アダプティブレイアウトに 対応してどんなサイズでも 問題なく動くアプリ https://developer.android.co m/docs/quality-guidelines/la rge-screen-app-quality?hl=j a XR差別化アプリ 次のスライドで解説

Slide 7

Slide 7 text

XR向けに差別化されたアプリの要素 7 空間パネル 3Dモデル(Volume) 空間環境

Slide 8

Slide 8 text

AndroidXR向けアプリの開発方法 ● 従来のAndroidアプリ ● Jetpack Compose ● Unity ● WebXR ● OpenXR 8

Slide 9

Slide 9 text

エミュレーター 現状、唯一AndroidXR環境を試せるもの。 Jetpack Compose、Unity、WebXRを試したが、 動いたのはJetpack Compose製アプリだけだった 環境構築と起動方法は記事書いたのでご覧ください https://donabenabe.hatenablog.com/entry/AndroidXREmulatorTest 9

Slide 10

Slide 10 text

Androidアプリ 10

Slide 11

Slide 11 text

ほとんどのAndroidアプリとの互換性あり 既存のAndroidアプリの多くはそのままPlayStoreに並ぶ サポートされていない機能を利用している場合は並ばない ↓サポート一覧 https://developer.android.com/develop/xr/get-started?hl=ja#app-manifest 11

Slide 12

Slide 12 text

アダプティブレイアウト アダプティブレイアウトに対応していると、 ウィンドウ端を掴んで形を変えられる https://developer.android.com/develop/ui/compose/layouts/adaptive?hl=ja 12

Slide 13

Slide 13 text

Jetpack Compose 13

Slide 14

Slide 14 text

Jetpack Composeとは Android 用Kotlinベースの宣言型 UIフレームワーク Androidネイティブアプリ開発に用いられる 14

Slide 15

Slide 15 text

ホームスペース ホームスペースアプリはAndroid向けコードから 何も追加で開発せず動く ● 移動可能 ● リサイズ可能 ● マルチタスク可能 15

Slide 16

Slide 16 text

フルスペース 要素そのままで少し書き換えるだけで フルスペースアプリ化可能 16

Slide 17

Slide 17 text

公式チュートリアル 2/12公開 初めてKotlinに触れたが分かりやすかった。 Learn Android XR Fundamentals: Part 1 - Modes and Spatial Panels 17

Slide 18

Slide 18 text

ARCore ARCoreも使用できるらしい ● 平面認識 ● 空間アンカー ● ハンドトラッキング エミュレーターで動作確認したかったができなそうだった 18

Slide 19

Slide 19 text

Unity 19

Slide 20

Slide 20 text

開発方法 XR Interaction ToolkitとAR FoundationとOpenXR Pluginで開発する ↑つまり上と同じ構成で作ったアプリはAndroidXRでも動く ハンドトラッキングにはXR Handsを使用可能 AndroidXR固有機能を使用するためには後述のパッケージが必要 導入方法は記事書いているのでご覧ください https://donabenabe.hatenablog.com/entry/UnityAndroidXRStart 20

Slide 21

Slide 21 text

開発方法 Unity OpenXR Android XR パッケージ https://docs.unity3d.com/Packages/com.unity.xr.androidxr-openxr@latest/ Unityが提供するパッケージ 21

Slide 22

Slide 22 text

開発方法 Android XR Extensions for Unity https://github.com/android/android-xr-unity-package Unity OpenXR Android XR パッケージを補完する 没入型エクスペリエンスの構築に役立つ追加機能が含まれる 単独でも組み合わせても利用できる 22

Slide 23

Slide 23 text

2つのパッケージどっちを使うのか? 機能の比較表を公式が公開している https://developer.android.com/develop/xr/unity?hl=ja#features_and_c ompatibility_considerations 併用可能なので作るアプリに合わせて OpenXRのFeature Groupsのチェックボックスを切り替える 23

Slide 24

Slide 24 text

WebXR 24

Slide 25

Slide 25 text

サポートされるWebXRの機能 ● Device API ● AR Module ● Gamepads Module ● Hit Test Module ● Hand Input ● Anchors ● Depth Sensing ● Light Estimation 25

Slide 26

Slide 26 text

エミュレーターで動かない おそらくフルスペース版のChromeが提供されていないから? 26

Slide 27

Slide 27 text

OpenXR 27

Slide 28

Slide 28 text

開発方法 OpenXR向けにビルドしたアプリなら動く エミュレーターが動かない以上確認はできないが、 MetaやSteamVR向けのアプリをOpenXR向けにビルドしていれば AndroidXR上で動く可能性がある 28

Slide 29

Slide 29 text

参考 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