Android XRを調べたみた
こんにちは。
noteでAndroidエンジニアをしているのですが、昨年末にAndroid XRが発表されたので、軽く調べてみましたのでまとめました。
Android XRとは
Android XRは、ヘッドセットやメガネに対応する、AIを搭載した新しいオペレーティングシステムです。 デジタル情報と現実の世界を融合させ、ユーザーが視聴、仕事、探検を支援します。
主な特徴
没入感のある視聴体験
ユーザーは、自分の周りの世界に浮かぶ巨大な仮想スクリーンで映画を見たり、スポーツイベントをライブで視聴したりできます。
無限のワークスペース
ユーザーは、どこにいても複数の仮想スクリーンで作業できます。これにより、生産性が向上し、マルチタスクが容易になります。
世界探検
ユーザーは、自宅にいながらにして世界中のさまざまな場所を仮想的に訪れたり、歴史的な出来事を体験したりできます。
XR向けアプリへのアクセス
ユーザーは、ゲーム、エンターテイメント、生産性など、さまざまなカテゴリのXR向けアプリにアクセスできます。
AIアシスタント
Android XRには、GoogleのAIアシスタントであるGeminiが搭載されています。Geminiは、ユーザーの言葉や視ているものを理解し、それに応じて行動することができます。
開発ツール
Android XRアプリを開発するには、主に4つの方法があります。
Jetpack XR SDK
Jetpack XR SDK には、XR デバイスの独自の機能を活用するために構築された Android XR Jetpack ライブラリが含まれています。
すでにAndroidのモバイルアプリやタブレットアプリを開発している場合、またはAndroid StudioとJetpackを使って新しいAndroid XRアプリを作成する場合は、Jetpack XR SDKから始めるのが適しています。
Unity
Unity Engine は、アーティスト、デザイナー、デベロッパーが共同で没入感のあるインタラクティブなエクスペリエンスを作成できるリアルタイム 3D 開発エンジンです。
UnityでXRエクスペリエンスをすでに作成している場合や、Unity開発に精通している場合は、Unityで始めるのが適しています。
OpenXR
OpenXR は、高性能のマルチプラットフォーム XR エクスペリエンスの構築に使用できる、ロイヤリティフリーのオープン スタンダードです。
Android XRはオープンスタンダードに基づいて構築されているため、OpenXRとAndroidをサポートする開発ツールはAndroid XRと互換性がある必要があります。
WebXR
WebXR を使用すると、ウェブ向けの没入型エクスペリエンスを構築できます。Android XR 版 Chrome などの互換性のあるウェブブラウザで VR デバイスと AR デバイスにアクセスできます。
既存のWebXRエクスペリエンスはAndroid XRでも機能します。
移行方法
ほとんどのAndroidアプリは、追加の開発作業なしで Android XRに対応しています。
実際に動かしてみる
Android XRのSimulatorはAndroid Studio Meerkat | 2024.3.1 Canary 7移行のAndroid Studioで使用することができます。
Simulatorを動かす
SImulatorを起動してみると上記のホーム画面が表示されます。
方向キー等で画面を動かせます。が、操作性がうまく掴むことが出来ずに、Android XRの操作性を体感できなかった印象です。
Sampleアプリを動かしてみる
上記からAndroid XRのSampleアプリのコードを入手できます。
こちらは、Jetpack XR SDKで作成されているので、Jetpack Composeで開発している人ですと、あまり違和感なくコードを読むことができます。
アプリ上部に最小化と閉じるボタンを表示しているのが、Android XR独自ですかね。
キーボードを表示しても、下部に出るのですがSimulatorではXRの操作性がわからないですね。。。
noteアプリを動かしてみる
既存のAndroidアプリのほとんどは何もせずに、Android XRでも動かすことが出来るようです。
試しに、noteアプリをAndroid XRのSImulator上で動かしてみたところタブレットでの表記にはなりますが問題なく動作しました。(カメラ等は上手く動かないかも)
ただ、最適化されていないので、Android XRの良さは活かせてないですね。
最後に
今回、軽くAndroid XRについて調べてみたのですが、実機を触ってみないと良さが分からないかなっと思いました。現状、製品が発売されていないのでSimulatorのみでの動作しか検証できないのですが、それだとよく分からなかったというのが本音です。
ただ、開発手段が多いのと、Jetpack XRはJetpack Composeとほぼ同じような使い方をできるので、ネイティブアプリの開発者に取っては取っ掛かりやすい開発環境なので嬉しいですね。
Samsungが製品を出すようなので、各社製品が出るのを待って手頃な価格帯があったら試してみるのを一つの手かなっと感じました。(Apple Vision Proみたいな高価格にならないことを願います。)
もし、Android XR搭載の製品を入手できたらまた記事にしようと思います。