Phát triển bằng Unreal Engine cho Android XR

Các thiết bị XR được hỗ trợ
Hướng dẫn này giúp bạn xây dựng các trải nghiệm cho những loại thiết bị XR sau.
Thiết bị đeo đầu XR
Kính thông minh XR có dây

Tính năng hỗ trợ của Unreal Engine cho hoạt động phát triển XR được xây dựng trên tiêu chuẩn OpenXR, đảm bảo rằng các tính năng OpenXR được hỗ trợ cho Android XR đều được hỗ trợ sẵn trong Unreal.

Hãy làm theo hướng dẫn này để tìm hiểu về:

  • Hỗ trợ Unreal Engine cho Android XR
    • Kiến thức cơ bản về XR trong Unreal Engine
    • Phát triển và phát hành ứng dụng cho Android XR
    • Trình bổ trợ Unreal Engine cho Android XR
    • Yêu cầu hỗ trợ
  • Nhập và tương tác
  • Đuôi tệp được hỗ trợ

Hỗ trợ Unreal Engine cho Android XR

Khi tạo ứng dụng Unreal cho Android XR, bạn có thể tận dụng các chức năng điện toán không gian của phiên bản Unreal Engine 5 mới nhất. Unreal Engine 5 hỗ trợ thông số kỹ thuật cốt lõi của OpenXR, còn Android XR Extensions cho Unreal hỗ trợ Android XR và các tiện ích cụ thể khác để giúp bạn bắt đầu nhanh chóng.

Kiến thức cơ bản về XR trong Unreal Engine

Nếu mới làm quen với Unreal hoặc phát triển XR, bạn có thể tham khảo tài liệu dành cho nhà phát triển XR của Unreal để hiểu các khái niệm và quy trình làm việc cơ bản. Sau đây là một số khía cạnh quan trọng cần khám phá:

Phát triển và xuất bản ứng dụng cho Android

Unreal Engine cung cấp tài liệu toàn diện về việc phát triển, xây dựng và phát hành cho Android. Tài liệu này đề cập đến việc quản lý quyền của Android trong Công cụ, định cấu hình Chế độ cài đặt bản dựng Android (thông qua Project Settings > Platforms > Android (Cài đặt dự án > Nền tảng > Android)) và sử dụng Công cụ tự động hoá Unreal (UAT).

Ngoài ra, hãy xem tài liệu về cách đóng gói và phân phối ứng dụng cho Android XR để biết các yêu cầu cụ thể áp dụng cho ứng dụng không gian được phân phối trên Cửa hàng Google Play. Đảm bảo ứng dụng của bạn cũng tuân thủ nguyên tắc về chất lượng cho trải nghiệm sống động để mang lại trải nghiệm nhất quán và thoải mái cho người dùng trên Android XR.

Trình bổ trợ Unreal Engine cho Android XR

Có hai trình bổ trợ chính hỗ trợ việc tạo ứng dụng Unreal cho Android XR. Các trình bổ trợ này được quản lý thông qua trình đơn Plugins (Chỉnh sửa > Trình bổ trợ).

Trình bổ trợ OpenXR cho Android XR

Trình bổ trợ Android XR OpenXR là giao diện công cụ chính giúp thêm tính năng hỗ trợ Android XR vào Unreal. Nó triển khai các tiện ích OpenXR cần thiết cho việc theo dõi không gian, hiểu biết về môi trường và nhận thức. Để tìm hiểu cách thêm và định cấu hình trình bổ trợ này, hãy tham khảo tài liệu về OpenXR của Unreal Engine.

Tiện ích Android XR cho Unreal

Tiện ích Android XR cho Unreal (phiên bản 1.1.0, hỗ trợ Unreal Engine 5.6.x và 5.8.x) bổ sung cho tính năng hỗ trợ OpenXR cơ bản, bao gồm các tính năng bổ sung giúp bạn xây dựng trải nghiệm sống động như thực thể không gian, truyền tia không gian và chiều sâu, làm mờ khung nhìn, bản đồ khối ước tính ánh sáng, dữ liệu lưới tay nâng cao và các tính năng tối ưu hoá phần cứng cụ thể. Để tìm hiểu cách nhập và định cấu hình gói này, hãy làm theo hướng dẫn bắt đầu nhanh về Tiện ích Android XR hoặc khám phá tài liệu tham khảo API về Tiện ích Android XR cho Unreal.

Yêu cầu hỗ trợ

Nếu bạn gặp vấn đề, hãy xem phần hỗ trợ cho Unreal Engine trên trang hỗ trợ của chúng tôi để được trợ giúp.

Nhập và tương tác

Để tạo trải nghiệm không gian tương tác, bạn cần liên kết các chuyển động vật lý với các hành động kỹ thuật số. Unreal Engine sử dụng hệ thống Enhanced Input (Đầu vào nâng cao) kết hợp với OpenXR để xử lý cả bộ điều khiển chuyển động và tính năng theo dõi cử động của tay. Bằng cách thiết lập Hành động nhập và Ngữ cảnh ánh xạ dữ liệu đầu vào, bạn có thể tạo các hoạt động tương tác linh hoạt (như nắm, trỏ và điều hướng giao diện người dùng) hoạt động liền mạch trên nhiều phương thức nhập của Android XR.

Để biết hướng dẫn toàn diện về cách xây dựng các cơ chế này, hãy tham khảo tài liệu của Unreal Engine về Tạo trải nghiệm XR tương tác.

Android XR hỗ trợ các phương thức tương tác cụ thể sau đây trong Unreal Engine:

Hồ sơ tương tác

Bạn có thể định cấu hình hồ sơ tương tác trong phần Cài đặt dự án trong mục OpenXR. Điều này cho phép ứng dụng của bạn duy trì việc liên kết dữ liệu đầu vào nhất quán trên các bộ điều khiển và phương thức theo dõi khác nhau.

Tương tác bằng tay

Tính năng tương tác bằng tay được cung cấp thông qua tiện ích Theo dõi cử động của tay trong OpenXR. Bạn có thể truy cập vào dữ liệu và tư thế khớp tay thông qua các thành phần Theo dõi XR trong Bản thiết kế hoặc C++.

Tương tác bằng ánh mắt

Bạn có thể truy xuất dữ liệu về ánh mắt dưới dạng tư thế đầu vào chuẩn, cho phép bạn điều khiển tiêu điểm giao diện người dùng hoặc các tính năng hiện diện trên mạng xã hội. Bạn cần có quyền android.permission.EYE_TRACKING_FINE để thực hiện việc này.

Theo dõi khuôn mặt

Truy cập vào dữ liệu biểu cảm khuôn mặt theo thời gian thực để tạo ảnh động cho hình đại diện hoặc thúc đẩy hoạt động tương tác xã hội. Thao tác này sử dụng tiện ích XR_ANDROID_face_tracking.

Đuôi tệp được hỗ trợ

Các tiện ích OpenXR sau đây được hỗ trợ khi phát triển cho Android XR trong Unreal:

Tính năng hoặc khả năng Chuỗi tiện ích OpenXR Được cung cấp bởi

Lưu giữ điểm neo trên thiết bị

XR_ANDROID_device_anchor_persistence

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Raycast

XR_ANDROID_raycast

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Đối tượng có thể theo dõi (Mặt phẳng/Độ sâu)

XR_ANDROID_trackables

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Theo dõi đối tượng

XR_ANDROID_trackables_object

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Tạo lưới cảnh

XR_ANDROID_scene_meshing

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Theo dõi khuôn mặt

XR_ANDROID_face_tracking

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Theo dõi ánh mắt

XR_ANDROID_eye_tracking

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Trạng thái camera truyền qua

XR_ANDROID_passthrough_camera_state

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Lớp lưới truyền qua

XR_ANDROID_composition_layer_passthrough_mesh

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Hoạ tiết chiều sâu

XR_ANDROID_depth_texture

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Ước tính ánh sáng

XR_ANDROID_light_estimation

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Bản đồ khối ước tính ánh sáng

XR_ANDROID_light_estimation_cubemap

Tiện ích Android XR cho Unreal (phiên bản 1.1.0)

Chỉ số hiệu suất

XR_ANDROID_performance_metrics

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Giải pháp đề xuất

XR_ANDROID_recommended_resolution

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Tương tác bằng tay

XR_EXT_hand_interaction

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Tiện ích gỡ lỗi

XR_EXT_debug_utils

Unreal Native OpenXR

Cài đặt hiệu suất

XR_EXT_performance_settings

Unreal Native OpenXR

Tốc độ làm mới màn hình

XR_FB_display_refresh_rate

Unreal Native OpenXR

Lưới theo dõi cử động của tay

XR_FB_hand_tracking_mesh

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Space Warp

XR_FB_space_warp

Unreal Native OpenXR

Lớp kết hợp Equirect2

XR_KHR_composition_layer_equirect2

Unreal Native OpenXR

Cài đặt Thread trên Android

XR_KHR_android_thread_settings

Unreal Native OpenXR

Giảm độ sáng tổng thể của chế độ nhìn xuyên thấu

XR_ANDROID_global_passthrough_dimming

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Thuộc tính của tiện ích hệ thống

XR_ANDROID_enumerate_system_extension_properties

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Thực thể không gian

XR_EXT_spatial_entity

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Theo dõi mặt phẳng không gian

XR_EXT_spatial_plane_tracking

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Theo dõi điểm đánh dấu không gian

XR_EXT_spatial_marker_tracking

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Điểm cố định không gian và tính bền vững

XR_EXT_spatial_anchor, XR_EXT_spatial_persistence

Tiện ích Android XR cho Unreal (phiên bản 1.0.0)

Làm mờ khung nhìn

XR_ANDROID_viewport_feathering

Tiện ích Android XR cho Unreal (phiên bản 1.1.0)

Khám phá không gian và Truyền tia sâu

XR_ANDROID_spatial_discovery_raycast

Tiện ích Android XR cho Unreal (phiên bản 1.1.0)

Tiện ích được cung cấp bởi một trong các nguồn sau:

  • Tiện ích Android XR cho Unreal: Đây là các tiện ích dành riêng cho Google (ANDROID) và tiện ích thực thể không gian (EXT) được phát triển cho nền tảng Android XR. Để sử dụng các chức năng không gian này, hãy cài đặt và bật trình bổ trợ Android XR Extensions trong .uproject và xem Tài liệu tham khảo API Android XR Extensions cho Unreal để biết cách sử dụng Blueprint và C++.
  • Unreal Native OpenXR: Những tính năng này tận dụng các tiện ích tiêu chuẩn của Khronos (KHR), Extension (EXT) và Meta (FB) đã được tích hợp và duy trì trực tiếp trong trình bổ trợ OpenXR cốt lõi của Unreal Engine.