プロダクト ニュース

Android XR SDK のアップデート: デベロッパー プレビュー 4 のリリース

所要時間 5 分

本日、Android XR SDK のデベロッパー プレビュー 4 をリリースしました。ヘッドセット、有線 XR グラス、インテリジェント アイウェア向けのクロスデバイス開発の統合に引き続き注力しています。プラットフォームを直感的に使用できるようにするため、フォーム ファクタの命名規則をより説明的なものに変更します。AI グラスはオーディオ グラス、ディスプレイ AI グラスはディスプレイ グラスとなり、これらの変更は本日よりドキュメントに反映されます。

今回のリリースには、XR デバイス向けの優れたエクスペリエンスの構築、XR ヘッドセットでのより深い没入型エクスペリエンスの実現、オーディオ グラスとディスプレイ グラスでの拡張エクスペリエンスの作成の簡素化に役立つアップデートが満載です。 また、XR Runtime、Jetpack SceneCore、ARCore for Jetpack XR などのコア ライブラリは、まもなく正式にベータ版に移行します。

ディスプレイ グラスやオーディオ グラス、XREAL の Project Aura など、今後登場するデバイスで没入型エクスペリエンスや拡張エクスペリエンスを構築するためのハードウェアとリソースに早期にアクセスできるように、Android XR Developer Catalyst Programを発表します。詳細をご確認のうえ、今すぐ お申し込みください。

オーディオ グラスとディスプレイ グラス向けの拡張エクスペリエンスの構築

拡張エクスペリエンス用のライブラリから始めましょう。デベロッパー プレビュー 4 では、アプリの作成とテストに役立つ新しい API が導入されています。

Jetpack Projected: Device Availability API と ProjectedTestRule API

Jetpack Projected ライブラリは、スマートフォンのアプリ エクスペリエンスをユーザーの画角に橋渡しするのに役立ちます。装着状態と接続シグナルを標準の Android Lifecycle.State 値に統合する Device Availability API, を追加しました。これにより、デバイスが装着されているかどうかに基づいてアプリケーションの動作を調整できます。

val xrDevice = XrDevice.getCurrentDevice(projectedContext)

// Observe the device lifecycle flow
xrDevice.getLifecycle().currentStateFlow
    .collect { state ->
        when (state) {
            Lifecycle.State.STARTED -> { /* Device is available (worn) */ }
            Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ }
            Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ }
        }
    }

テストを簡素化するため、projected-testing アーティファクトの新しい ProjectedTestRule API は、プロジェクション テスト環境の設定を自動化します。これにより、ボイラープレート コードなしでクリーンで信頼性の高い単体テストを作成できます。

// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact
@get:Rule
val projectedTestRule = ProjectedTestRule()

@Test
fun testProjectedContextInitialization() {
    // by default, ProjectedTestRule automatically creates and connects
    // a projected device before each test
    val projectedContext = ProjectedContext.createProjectedDeviceContext(context)

    // assert the projected context is successfully initialized
    assertThat(projectedContext).isNotNull()
}

Jetpack Compose Glimmer: Google Sans Flex と新しいコンポーネント

ディスプレイ グラス用の UI ライブラリである Jetpack Compose Glimmer に、光学シースルー ディスプレイの可読性を向上させるGoogle Sans Flexが追加されました。また、インタラクティブなコンポーネントもいくつか追加しました。

  • スタック: タッチパッドに最適化されたグループ向けに設計されており、一度に 1 つのアイテムを表示します。
  • _タイトルチップ_: コンテンツ カードのカテゴリとコンテキストを提供します。
glimmer (1).gif

XR ヘッドセットと有線 XR グラス向けの没入型エクスペリエンスの構築

XR ヘッドセットと有線 XR グラス向けの完全な没入型エクスペリエンスを構築する場合は、いくつかの大きなアップデートがあります。

ベータ版への移行と最新のアーキテクチャ

XR Runtime、Jetpack SceneCore、ARCore for Jetpack XR の知覚機能(デプスマップ目/手のトラッキング、ヒットテスト、空間アンカー)はまもなくベータ版に移行するため、Jetpack XR API を簡素化しました。従来の Guava パッケージと RxJava3 パッケージを削除し、Kotlin ファーストの最新アーキテクチャを採用しました。

Jetpack SceneCore: glTF とカスタム メッシュ

3D モデルの微調整と 3D モデルを使用した特定のノードへのアクセスが可能になり、3D モデルの機能が拡張されました。GltfModelNodeを使用すると、ポーズ、マテリアル、テクスチャなどのプロパティを変更したり、特定のノードのアニメーションを実行したりできます。

// Create a new PBR material
pbrMaterial = KhronosPbrMaterial.create(
    session = xrSession,
    alphaMode = AlphaMode.OPAQUE
)

// Load a texture.
val texture = Texture.create(
    session = xrSession,
    path = Path("textures/texture_name.png")
)

// Apply the texture and configure occlusion to define how the material handles ambient lighting.
pbrMaterial.setOcclusionTexture(
    texture = texture,
    strength = 0.5f
)

// Access the hierarchy of nodes within the model entity.
val entityNodes = entity.nodes

// Find the specific node to apply the material override.
val myEntityNode = entityNodes.find { it.name == "node_name" }

// Apply the PBR material to the node.
myEntityNode?.setMaterialOverride(
   material = newMaterial
)

また、カスタム メッシュを SceneCore に導入します。カスタム メッシュを使用すると、プログラムでジオメトリをその場で構築できるため、カスタム 3D モデルの作成に最適です。この機能は試験運用版としてリリースされます。ぜひお試しいただき、ご感想をお寄せください。

// Create the mesh
val roadMesh =
    CustomMesh.BuilderFromMeshData(session, roadVertexLayout)
        .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize))
        .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize))
        .setTopology(MeshSubsetTopology.TRIANGLES)
        .build()

// Define the material
val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE)

// Instantiate the entity using the custom mesh and material
val roadEntity =
    MeshEntity.create(
        session,
        roadMesh,
        listOf(roadMaterial),
        pose = roadPose,
    )

Compose for XR: ネイティブ glTF サポート

SpatialGltfModelを使用して、Compose for XR でネイティブ glTF サポートが直接利用できるようになりました。これと SpatiallGltfModelStateを組み合わせて使用すると、glTF モデルの ノードと アニメーションにアクセスできます。また、3D モデルにテクスチャとマテリアルを追加することもできます。

val myGltfModelState = rememberSpatialGltfModelState(
        source = SpatialGltfModelSource.fromPath(
            Paths.get("models/my_animated_model.glb")
        )
    )

    val myGltfAnimation =
        myGltfModelState.animations.find { it.name == "animation_name" }

    DisposableEffect(myGltfAnimation) {
        myGltfAnimation?.loop()

        onDispose {
            myGltfAnimation?.stop()
        }
    }

    SpatialGltfModel(state = myGltfModelState, modifier = modifier)

ARCore for Jetpack XR: 有線 XR グラス向けの Geospatial API プレビュー

ARCore for Jetpack XR では、有線 XR グラス向けの Geospatial API の早期プレビューも提供しています。このアップデートにより、87 か国以上の現実世界の場所に関連付けられたデジタル コンテンツの高精度なアンカーが可能になります。

ARCore の Visual Positioning System(VPS)と Gemini Live API の推論機能と音声機能を組み合わせることで、ユーザーの位置と姿勢の両方を把握できるコンテンツ ターゲット エクスペリエンスを作成できます。たとえば、没入型の AI ガイド付きウォーキング ツアーを構築し、近くの場所のリアルタイムの音声説明を提供することで、デジタル情報を物理環境にシームレスに統合できます。

今すぐ未来を構築しましょう

Android XR 向けの開発は今がチャンスです。Jetpack XR SDK がまもなくベータ版に移行し、強力な新しいツールがすぐに利用できるようになります。以下の各分野を調べて、アプリのエクスペリエンスを XR に対応させましょう。  

ドキュメントを読み、サンプルを調べ、XR テストを確認する

_Android デベロッパー向け公式サイト_で、完全な技術ガイド、API リファレンス、新しいエミュレータの設定手順をご確認ください。サンプルとテストからインスピレーションを得ましょう。これらの API を使用して、没入型の空間レイアウトの構築、3D モデルの読み込み、空間オーディオの探索などを行う方法をご覧ください。

ゲームエンジンの新機能を確認する

Unreal EngineGodotの公式サポートを追加しました。また、Unity とAndroid XR Interaction Frameworkを使用して Android XR 向けの開発を加速させるための 2 つの新しいツールをリリースしました。また、フィードバックに基づいて、好みのエンジンから直接エクスペリエンスを実行できるようにAndroid XR Engine Hubを導入します。

Android XR Developer Catalyst Programに申し込む

最新の Android XR ハードウェア向けに構築するチャンスをお見逃しなく。オーディオ グラスとディスプレイ グラスのプロトタイプや XREAL の Project Aura など、リリース前のハードウェアにアクセスできる機会を得るために、今すぐお申し込みください。

詳細をご確認のうえ、今すぐお申し込みください

今年後半に Android XR デバイスがさらにリリースされる予定ですので、皆様が構築する素晴らしい XR エクスペリエンスを楽しみにしています。

このお知らせと Google I/O 2026 のすべての最新情報については、io.google をご覧ください。

執筆者:

続きを読む