サービスに関する最新情報

Android XR SDK の更新: デベロッパー プレビュー 4 のご紹介

所要時間: 5 分

このたび、Android XR SDK のデベロッパー プレビュー 4 がリリースされました。ヘッドセット、有線 XR グラス、スマートグラスのクロスデバイス開発の統合に引き続き注力しています。プラットフォームを直感的に操作できるように、フォーム ファクタにわかりやすい名前を採用しています。AI グラスはオーディオ グラス、ディスプレイ AI グラスはディスプレイ グラスになりました。これらの変更は、本日よりドキュメントに反映されます。

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

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

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

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

Jetpack Projected: Device Availability API と 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、ARCore for 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 プレビュー

また、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 Engine と Godot の公式サポートを追加し、Unity と Android XR Interaction Framework を使用した Android XR の開発を加速する 2 つの新しいツールをリリースしました。また、皆様からのフィードバックに基づき、Android XR エンジンハブを導入します。これにより、お好みのエンジンから直接エクスペリエンスを実行できるようになります。

Android XR デベロッパー Catalyst プログラムに申し込む

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

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

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

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

作成者:
続きを読む