Tin tức về sản phẩm

Nội dung cập nhật đối với Android XR SDK: Ra mắt Bản dùng trước cho nhà phát triển 4

Đọc trong 5 phút

Hôm nay, chúng tôi rất vui mừng ra mắt Bản dùng trước cho nhà phát triển 4 của Android XR SDK, tiếp tục tập trung vào việc hợp nhất quá trình phát triển trên nhiều thiết bị cho thiết bị đeo đầu, kính thông minh XR có dây và kính thông minh. Để duy trì tính trực quan cho nền tảng của mình, chúng tôi sẽ áp dụng tên mô tả rõ ràng hơn cho các hệ số hình dạng. Theo đó, kính AI hiện là kính nghe nhạc và kính AI có màn hình hiện là kính có màn hình. Những thay đổi này sẽ xuất hiện trong tài liệu của chúng tôi kể từ hôm nay.

Bản phát hành này có nhiều điểm mới giúp bạn tạo ra những trải nghiệm tuyệt vời cho thiết bị XR, mang đến trải nghiệm sống động hơn trên kính XR và đơn giản hoá quy trình tạo trải nghiệm tăng cường trên kính âm thanh và kính hiển thị.  Ngoài ra, các thư viện cốt lõi của chúng tôi (bao gồm cả XR Runtime, Jetpack SceneCore và ARCore cho Jetpack XR) sẽ chính thức chuyển sang giai đoạn Beta trong thời gian tới!

Để giúp bạn có quyền tiếp cận sớm vào phần cứng và tài nguyên để tạo trải nghiệm sống động và tăng cường trên các thiết bị sắp ra mắt (chẳng hạn như kính hiển thị và kính âm thanh cũng như Dự án Aura của XREAL), chúng tôi xin công bố Chương trình hỗ trợ nhà phát triển Android XR. Tìm hiểu thêm và bắt đầu đăng ký ngay hôm nay. 

Xây dựng trải nghiệm tăng cường cho kính âm thanh và kính hiển thị

Bắt đầu với các thư viện của chúng tôi cho trải nghiệm tăng cường, Bản dùng trước cho nhà phát triển 4 giới thiệu các API mới giúp bạn tạo và kiểm thử ứng dụng.

Jetpack Projected: Tính sẵn có của thiết bị và API ProjectedTestRule

Thư viện Jetpack Projected giúp kết nối trải nghiệm ứng dụng từ điện thoại đến trường nhìn của người dùng. Chúng tôi đã thêm Device Availability API (API về trạng thái sẵn sàng của thiết bị) để hợp nhất trạng thái thiết bị đeo và các tín hiệu kết nối thành các giá trị Lifecycle.State tiêu chuẩn của Android. Điều này cho phép bạn điều chỉnh hành vi của ứng dụng dựa trên việc thiết bị có được đeo hay không.

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 */ }
        }
    }

Để đơn giản hoá việc kiểm thử, API ProjectedTestRule mới trong cấu phần phần mềm kiểm thử được chiếu sẽ tự động hoá việc thiết lập môi trường kiểm thử được chiếu. Điều này giúp bạn viết các bài kiểm thử đơn vị rõ ràng và đáng tin cậy mà không cần mã nguyên mẫu.

// 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 và các thành phần mới

Thư viện giao diện người dùng của chúng tôi dành cho kính hiển thị, Jetpack Compose Glimmer, hiện bao gồm Google Sans Flex để cải thiện khả năng đọc trên màn hình quang học trong suốt. Chúng tôi cũng đã thêm một số thành phần tương tác:

  • Ngăn xếp: Được thiết kế cho các nhóm được tối ưu hoá cho bàn di chuột, hiển thị từng mục tại một thời điểm.
  • Title Chips: Cung cấp thông tin phân loại và bối cảnh cho thẻ nội dung.
glimmer (1).gif

Tạo trải nghiệm sống động cho thiết bị đeo đầu XR và kính thông minh XR có dây

Nếu bạn muốn tạo trải nghiệm hoàn toàn sống động cho thiết bị đeo đầu XR và kính XR có dây, thì chúng tôi có một số tin cập nhật quan trọng.

Beta Transition & Modern Architecture

XR Runtime, Jetpack SceneCore và các tính năng nhận biết ARCore cho Jetpack XR (Bản đồ độ sâuTheo dõi mắt/bàn tay, Kiểm thử lượt truy cập và Neo không gian) sẽ sớm chuyển sang giai đoạn Beta, vì vậy, chúng tôi đã tinh giản các API Jetpack XR. Chúng tôi đã xoá các gói Guava và RxJava3 cũ để chuyển sang một kiến trúc hiện đại, ưu tiên Kotlin.

Jetpack SceneCore: glTF và Lưới tuỳ chỉnh

Chúng tôi đang mở rộng các chức năng của mô hình 3D bằng cách thêm khả năng tinh chỉnh mô hình 3D và truy cập vào các nút cụ thể bằng mô hình 3D. Bằng cách sử dụng GltfModelNode, bạn có thể sửa đổi các thuộc tính như tư thế, chất liệu và hoạ tiết, thậm chí chạy ảnh động cho các nút cụ thể.

// 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
)

Chúng tôi cũng sẽ đưa Lưới tuỳ chỉnh vào SceneCore. Lưới tuỳ chỉnh cho phép bạn tạo hình học ngay lập tức theo cách lập trình, rất phù hợp để tạo mô hình 3D tuỳ chỉnh. Tính năng này sẽ ra mắt ở dạng thử nghiệm. Vì vậy, hãy dùng thử và cho chúng tôi biết ý kiến của bạn!

// 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 cho XR: Hỗ trợ glTF gốc

Giờ đây, chúng tôi đã có tính năng hỗ trợ glTF gốc ngay trong Compose cho XR bằng SpatialGltfModel. Sử dụng cùng với SpatiallGltfModelState để truy cập vào các núthoạt ảnh trong mô hình glTF, hoặc sử dụng chúng để thêm hoạ tiết và chất liệu vào mô hình 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 cho Jetpack XR: Bản dùng thử Geospatial API cho kính XR có dây

Chúng tôi cũng cung cấp bản xem trước ban đầu của Geospatial API cho kính XR có dây trong ARCore cho Jetpack XR. Bản cập nhật này cho phép neo nội dung kỹ thuật số có độ chính xác cao vào các vị trí trong thế giới thực ở hơn 87 quốc gia.

Bằng cách kết hợp Hệ thống định vị trực quan (VPS) của ARCore với khả năng suy luận và âm thanh của Gemini Live API, bạn có thể tạo ra những trải nghiệm nhận biết theo bối cảnh, hiểu được cả vị trí và tư thế của người dùng. Hãy tưởng tượng bạn đang xây dựng một chuyến tham quan đi bộ sống động, có hướng dẫn bằng AI, cung cấp nội dung mô tả bằng âm thanh theo thời gian thực về những địa điểm lân cận, kết hợp liền mạch thông tin kỹ thuật số với môi trường thực tế.

Bắt đầu xây dựng tương lai ngay hôm nay

Đây là thời điểm tuyệt vời để phát triển ứng dụng cho Android XR. Với việc SDK Jetpack XR sắp chuyển sang giai đoạn Beta và một bộ công cụ mới mạnh mẽ trong tầm tay, hãy khám phá từng lĩnh vực sau đây để chuẩn bị trải nghiệm của ứng dụng cho XR!  

Đọc tài liệu, khám phá các mẫu và xem các thử nghiệm XR

Truy cập vào trang web chính thức dành cho Nhà phát triển Android để xem hướng dẫn kỹ thuật đầy đủ, tài liệu tham khảo API và hướng dẫn về cách thiết lập trình mô phỏng mới. Xem các mẫu và thử nghiệm của chúng tôi để lấy cảm hứng. Hãy xem cách chúng tôi sử dụng các API này để tạo bố cục không gian sống động, tải mô hình 3D, khám phá âm thanh không gian và nhiều nội dung khác!

Xem những điểm mới về công cụ phát triển trò chơi

Chúng tôi đã thêm tính năng hỗ trợ chính thức cho Unreal Engine và Godot, đồng thời ra mắt 2 công cụ mới để đẩy nhanh quá trình phát triển cho Android XR bằng Unity và Android XR Interaction Framework. Dựa trên ý kiến phản hồi của bạn, chúng tôi sẽ ra mắt Android XR Engine Hub để bạn có thể chạy trải nghiệm ngay từ công cụ mà bạn muốn,

Đăng ký tham gia Chương trình hỗ trợ nhà phát triển Android XR

Đừng bỏ lỡ cơ hội xây dựng cho phần cứng Android XR mới nhất. Hãy đăng ký ngay hôm nay để có cơ hội dùng thử phần cứng trước khi phát hành, bao gồm cả nguyên mẫu kính âm thanh và kính hiển thị của chúng tôi cũng như Dự án Aura của XREAL.

Tìm hiểu thêm và đăng ký ngay hôm nay

Chúng tôi rất mong được thấy những trải nghiệm XR tuyệt vời mà bạn tạo ra khi chúng ta tiến tới việc ra mắt nhiều thiết bị Android XR hơn vào cuối năm nay!

Khám phá thông báo này và tất cả thông tin cập nhật tại Google I/O 2026 trên trang io.google.

Tác giả:

Tiếp tục đọc