プロダクト ニュース

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

所要時間: 5 分

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

このリリースには、XR デバイス向けの優れたエクスペリエンスの構築、XR ヘッドセットでの没入感の高いエクスペリエンスの実現、オーディオ グラスやディスプレイ グラスでの拡張エクスペリエンスの作成パスの効率化に役立つアップデートが満載されています。また、XR Runtime、Jetpack SceneCore、Jetpack XR 向け ARCore などのコア ライブラリも、まもなく正式にベータ版に移行します。

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

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

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

Jetpack Projected: デバイスの可用性と ProjectedTestRule API

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

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 ランタイム、Jetpack SceneCore、Jetpack XR 認識機能(デプスマップ視線/手のトラッキング、ヒットテスト、空間アンカー)がまもなくベータ版に移行するため、Jetpack XR API を合理化しました。最新の Kotlin ファーストのアーキテクチャを優先するため、以前の Guava パッケージと RxJava3 パッケージを削除しました。

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 サポート

Compose for XR で SpatialGltfModel を使用して、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)

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

また、Jetpack XR の ARCore で、有線 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 デベロッパー カタリスト プログラムに申し込む

最新の Android XR ハードウェア向けに開発するチャンスをお見逃しなく。オーディオ グラスとディスプレイ グラスのプロトタイプや XREAL の Project Aura など、リリース前のハードウェアにアクセスできる機会をぜひお見逃しなく。

詳細を確認して今すぐ申し込む

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

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

作成者:

続きを読む