4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AndroidXR】うわさのAndroidXR搭載端末のGalaxyXRでAndroidXRExtentionのサンプルを実際に動かしてみた【GalaxyXR】

Last updated at Posted at 2025-12-01

Graffity株式会社でUnityエンジニアをしていますCovaです。

今回は米国・韓国で発売された、初のAndroidXR OS搭載端末であるGalaxyXR実機にて、Android XR Extensions for Unityで公開されている各種サンプルを動かしてみました。

基本的には環境を作って、公開されているSampleSceneをビルドしたというものです。

検証環境

項目 バージョン等
Unity Unity6.2.6f2
Android XR Extensions for Unity 1.2.0
OpenXR Plugin 1.15.1
Unity OpenXR Android XR 1.1.0
MacOS Tahoe 26.0.1

検証項目

1. Environment Blend Mode.

画面のAplhaBlend とOpaque を切り替えるDemoのようです。

Opaque(不透過)

Opaque.jpg

AlphaBlend (透過あり)

AlphaBlend.jpg

2. Object Tracking.

一応ObjectTrack用のReference設定用ScriptableObjectがありましたが、手元の環境では動作しませんでした。

スクリーンショット 2025-11-16 16.46.32.png

ARPlaneManager による平面検知は動いていました。

3. Face Tracking.

4. Image Tracking.

こちらはARFoundation でも見かける画像のReference設定で登録して、各テクスチャをA4用紙にプリントアウトしてみましたが、うまく認識してくれず・・・

スクリーンショット 2025-11-16 16.48.50.png

1. Marker Tracking

画像で設定こそできますが、いまのところうまく動作せず・・・

2. QR Code Tracking.

SampleにはQRコードやArUco まーかの設定などがありましたが、こちらもダメでした・・・

5. Hand Mesh.

手のMesh表示です。
画像では伝わりづらいですが、OpenXRのHandTrackingをベースにしているのか、ちゃんと指のまげ具合も追従してくれて、ラグはあまり感じませんでした

Screenshot_20251116_160449_demo_HandMesh.jpg
Screenshot_20251116_160454_demo_HandMesh.jpg

6. Scene Meshing.

現在見ている環境のMeshを生成するDemoです。
おそらくはQuest3 等と同様、LiDARセンサーを利用しているものと思われます。
そのため、光が反射しやすい材質だとうまく検知できないという結果がありました。

Original

1000002196.jpg

Mesh

Screenshot_20251116_160031_demo_SceneMesh.jpg

7. Unbounded Reference Space.

境界なしの空間ということなのですが、特段PassThroughで何かが表示されるわけでもなくといった形です。
多分うまく動いてないんだと思います。

Screenshot_20251116_160625_demo_Space.jpg

8. Passthrough Composition Layer.

CompositionLayer を使ってどのObjectがどのタイミングでどういうモードで描画されるのか?を設定できるものです。

Scene.png
今回はこのような形で配置しているObjectに対して

Layer.png

みたいに設定されています。
つまり、それぞれのObjectの形でパススルー映像が流れ込むっていう感じです。

実際に動かすとこんな感じの見た目です。

Screenshot_20251116_155617_demo_Passthrough.jpg

左下ですが、表面(Face)が奥側にあるので、頑張って回り込むと無事描画されています。

Screenshot_20251116_155906_demo_Passthrough.jpg

(ちなみに境界外に出ようとするとアプリの画面が薄くなります)

9. Body Tracking (Experimental).

BodyTrackingと言っていますが、実際は手・手首あたりのボーンからIKで体のBoneを推定するだけという感じでした。
Screenshot_20251116_160520_demo_bodytrack.jpg

てっきり服をきてても肘などがトラックできるのかな?と思いましたが、手首位置を固定して肘のみを動かしてもトラックされない のと、体のBoneが全くの固定 だったのでExperimentalが外れるまではただの腕の位置のIKによる推定システム と捉えておくのが良さそうです。

10. Foveated Rendering

Vulcan や最新のMRデバイスといえば、 Foveated(中心窩) Renderingですね。

全てのピクセルを馬鹿正直にRenderingするとコストがかかるので、視線の先を中心とした領域を高解像度に、だんだん中心から遠ざかるに連れて低解像度にすることで、Rendering負荷を下げつつ必要な部分のみ解像度を高めるという手法です。

で、実際に試したのですが、正直違いはわからなかったです・・・(Demoが悪いのか視力が悪いせいなのか・・・)

None

None.jpg

Low

Low.jpg

Medium

Medium.jpg

High

High.jpg

検証するにあたって

APKのInstall方法

Apple Vision Pro 同様本体にはUSB-C のポート等はありません。
そのため、基本的には ADB のワイヤレスデバッグを利用します

ワイヤレスデバッグを使えば有線で端末とPCをつながなくてもapkのInstall/Uninstall/logcat などデバッグコマンドが一通り使えます。

スマホのAndroid 端末と同様、

  1. 設定画面の開発者設定
  2. ワイヤレスデバッグの項目を ON
  3. ワイヤレスデバッグの項目のToggleじゃない部分を選択
  4. ペア設定コードによるデバイスのペア設定 を選択

そうするとおそらく同じLAN環境につながれていれば、6桁の数値とポート番号つきのローカルIPが表示されるので、まずはポート番号つきのローカルIPを以下のように入力します。

$ adb pair xxx.xxx.xxx.xxx:xxxxx 

その後、ペアリング用の番号を聞かれるので

Enter paring code :

のところに先ほどの本体側に表示されている6桁の番号を入力します。

このようにすることで、無線で adb install -r hoge.apk のようにAPKをInstallしたりすることが可能です。

環境構築でハマったポイント

1. 入力で警告が出る

アプリを立ち上げると
galaxy_input_error_modal.jpeg

このような無言の警告が出る場合があります。(おそらくは日本語テキストが本体側でうまく処理できて表示できてないだけです)

これは、公式のStartup ガイドにあるOpenXRの設定の Enabled Interaction Profiles の設定ミスが原因です

OpenXRの設定.jpeg

2. コントローラーの入力設定を求められる

Screenshot_20251115_181402_galaxyxr_demo.jpg

1を設定したのに今度はコントローラーの入力を求められるモーダルが表示される場合があります。
いやハンドトラッキングとGaze操作するからコントローラーなどないという場合もありますが、基本的には1の設定をすることの弊害です。

こちらはInputSystemのInputAction との設定に乖離がある場合に表示されます。

暫定的な対処方法としてはUnityのProjectSettings内にあるInputSystemPackageの
Project-wide Actions をNone にすることで回避できます。

スクリーンショット 2025-11-16 16.37.16.png

ただ、このようにしてしまうと操作がシンプルに出来なくなるので、UnityのMRProjectTemplate にある InputActionManager コンポーネントのようなInputSystemActionを設定するScriptを用意してあげると良いです。

スクリーンショット 2025-11-16 16.39.41.png

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?