Samsung Galaxy XR đã ra mắt, chạy Android XR! Bài đăng trên blog này là một phần của Tuần lễ tiêu điểm Android XR, nơi chúng tôi cung cấp các tài nguyên (bài đăng trên blog, video, mã mẫu và nhiều tài nguyên khác) được thiết kế để giúp bạn tìm hiểu, xây dựng và chuẩn bị ứng dụng cho Android XR.
Chưa bao giờ có thời điểm nào tốt hơn để bắt đầu phát triển XR. Tháng 12 năm ngoái, chúng tôi đã công bố Android XR, nền tảng Android mới của Google được xây dựng dựa trên các tiêu chuẩn mở như OpenXR và Vulkan, giúp việc phát triển XR trở nên dễ dàng hơn bao giờ hết.
Khi kết hợp với các công cụ XR hiện có của Unity, bạn sẽ có được một ngăn xếp phát triển mạnh mẽ và hoàn thiện. Điều này giúp bạn có thể tạo và triển khai các ứng dụng XR hoạt động trên nhiều thiết bị.
Bất kể bạn đã từng phát triển XR hay chưa, chúng tôi đều muốn giúp bạn bắt đầu.
Blog này sẽ giúp bạn bắt đầu và chạy với quá trình phát triển Android XR và Unity. Chúng tôi sẽ tập trung vào các bước thực tế để định cấu hình môi trường, tìm hiểu hệ sinh thái gói và bắt đầu xây dựng.
Khi đọc xong blog này, bạn sẽ hiểu rõ về:
- Hệ sinh thái gói
- Các bước thiết lập thiết yếu
- Phương thức nhập
- Quyền riêng tư và quyền
- Lớp tổng hợp
Unity để phát triển Android XR
Bạn có thể chọn Unity vì khả năng tương thích nhiều nền tảng, cho phép bạn tạo một lần và triển khai cho Android XR và các thiết bị XR khác.
Khi sử dụng Unity, bạn sẽ được hưởng lợi từ hệ sinh thái và công cụ XR hoàn thiện của Unity. Unity đã có các gói đã thiết lập như XR Interaction Toolkit, trình bổ trợ OpenXR, lớp tổng hợp XR, XR Hands, một cửa hàng thành phần mở rộng chứa đầy các thành phần và mẫu sẵn sàng cho XR, cũng như các công cụ mô phỏng và kiểm thử XR. Và kể từ khi Unity 6 được phát hành vào tháng 11 năm ngoái, bạn cũng sẽ được hưởng lợi từ hiệu suất Universal Render Pipeline (URP) được cải thiện, khả năng hỗ trợ đồ hoạ Vulkan tốt hơn và các hồ sơ bản dựng nâng cao.
Dưới đây là một số dự án mẫu để bạn có thể hình dung về những việc có thể thực hiện:
Thiết lập thiết yếu: nền tảng phát triển
Yêu cầu và cách cài đặt Unity 6
Bạn cần có Unity 6 để tạo ứng dụng, vì các phiên bản trước không hỗ trợ Android XR. Trước tiên, hãy cài đặt Unity Hub, sau đó cài đặt Unity 6 bằng mô-đun Android Build Support (Hỗ trợ bản dựng Android) theo các bước sau.
Hồ sơ bản dựng Android XR: đơn giản hoá quá trình định cấu hình
Hồ sơ bản dựng Unity là các thành phần dự án lưu trữ chế độ cài đặt và cấu hình dành riêng cho nền tảng. Vì vậy, thay vì phải thiết lập thủ công 15 đến 20 chế độ cài đặt khác nhau trên nhiều trình đơn, bạn có thể sử dụng hồ sơ bản dựng để thực hiện việc này một cách tự động.
Bạn có thể tạo hồ sơ bản dựng của riêng mình, nhưng hiện tại, bạn nên sử dụng hồ sơ bản dựng Android XR chuyên dụng mà chúng tôi đã tạo.
Bạn có thể chọn hồ sơ bản dựng bằng cách chọn File > Build Profile (Tệp > Hồ sơ bản dựng) trong dự án Unity. Để xem hướng dẫn đầy đủ, hãy tham khảo trang quy trình làm việc Phát triển cho Android XR.
Nếu tự thực hiện bất kỳ thay đổi nào, bạn có thể tạo một hồ sơ bản dựng mới để chia sẻ với nhóm của mình. Bằng cách này, bạn sẽ đảm bảo trải nghiệm bản dựng nhất quán trên toàn bộ dự án.
Sau các bước này, bạn có thể tạo và chạy APK cho thiết bị Android XR.
API đồ hoạ: tại sao Vulkan lại quan trọng
Sau khi thiết lập dự án Unity bằng hồ sơ bản dựng Android XR, trước tiên, bạn nên đảm bảo rằng bạn đã đặt Vulkan làm API đồ hoạ. Android XR được xây dựng dưới dạng nền tảng ưu tiên Vulkan. Vào tháng 3 năm 2025, Google đã thông báo rằng Vulkan hiện là API đồ hoạ chính thức cho Android. Đây là một API đồ hoạ hiện đại, cấp thấp giúp nhà phát triển tối đa hoá hiệu suất của GPU hiện đại và mở khoá các tính năng nâng cao như dò tia và đa luồng cho hình ảnh trò chơi chân thực và sống động.
Các tiêu chuẩn này mang lại khả năng tương thích tốt nhất cho các ứng dụng hiện có của bạn và giảm thiểu các vấn đề cũng như chi phí chuyển đổi. Ngoài ra, các tiêu chuẩn này giúp bạn có thể bật các tính năng nâng cao của Android XR như URP Application Space Warp và kết xuất tập trung vào tiêu điểm.
Unity 6 tự động xử lý Vulkan, vì vậy, khi bạn sử dụng hồ sơ bản dựng Android XR, Unity sẽ định cấu hình Vulkan làm API đồ hoạ. Điều này đảm bảo bạn có quyền truy cập vào tất cả các tính năng nâng cao của Android XR mà không cần định cấu hình thủ công.
Bạn có thể xác minh chế độ cài đặt API đồ hoạ bằng cách chuyển đến phần "Edit" (Chỉnh sửa) > "Project Settings" (Cài đặt dự án) > "Player" (Trình phát) > "Android tab" (Thẻ Android) > "Other settings" (Các chế độ cài đặt khác) > "Graphics APIs" (API đồ hoạ).
Tìm hiểu hệ sinh thái gói
Có 2 gói khác nhau mà bạn có thể sử dụng cho Android XR trong Unity. Một gói là sử dụng Tiện ích Android XR cho Unity và gói còn lại là sử dụng gói Unity OpenXR: Android XR.
Có thể bạn sẽ thấy 2 gói này giống nhau, nhưng hãy kiên nhẫn với tôi.
Gói Unity OpenXR: Android XR là gói Unity chính thức để hỗ trợ Android XR. Gói này cung cấp phần lớn các tính năng của Android XR, được cung cấp thông qua các tiêu chuẩn OpenXR. Gói này cũng cho phép tích hợp AR Foundation cho các tính năng thực tế hỗn hợp. Lợi ích chính của việc sử dụng gói Unity OpenXR: Android XR là gói này cung cấp một API thống nhất để hỗ trợ các thiết bị XR.
Trong khi đó, Tiện ích Android XR cho Unity là gói XR của Google, được thiết kế riêng cho việc phát triển cho các thiết bị Android XR. Gói này bổ sung cho gói Unity OpenXR các tính năng bổ sung như chế độ kết hợp môi trường, tạo lưới cảnh, theo dõi hình ảnh và theo dõi cơ thể. Nhược điểm là bạn chỉ có thể phát triển cho các thiết bị Android XR.
Bạn chọn gói nào sẽ tuỳ thuộc vào nhu cầu cụ thể của mình, nhưng nói chung, bạn nên chọn gói Unity OpenXR: Android XR, vì gói này mang lại cho bạn tính linh hoạt hơn nhiều cho các thiết bị mà ứng dụng của bạn sẽ tương thích. Sau đó, dựa trên các yêu cầu của ứng dụng, bạn có thể thêm Tiện ích Android XR cho Unity.
Cách cài đặt gói
Để thêm một gói mới, hãy mở dự án trong Unity, chọn "Window" (Cửa sổ) > "Package Management" (Quản lý gói) > "Package Manager" (Trình quản lý gói).
Tại đây, bạn có thể cài đặt các gói này từ thẻ "Unity Registry" (Sổ đăng ký Unity):
- "Open XR: Android XR"
- 'XR Interaction Toolkit' (Bộ công cụ tương tác XR)
- "XR Hands" (Bàn tay XR)
Bạn có thể cài đặt gói Android XR cho Unity thông qua GitHub bằng cách chọn biểu tượng ➕, chọn "Install package from git URL" (Cài đặt gói từ URL git), sau đó nhập "https://github.com/android/android-xr-unity-package.git"
Các tính năng OpenXR bắt buộc
Bây giờ, bạn đã cài đặt các gói cần thiết, hãy bật một số tính năng cốt lõi để dự án của chúng ta hoạt động.
Bạn có thể bật chế độ cài đặt OpenXR cho Android: "Edit" (Chỉnh sửa) -> "Project Settings" (Cài đặt dự án) -> "XR Plugin Management" (Quản lý trình bổ trợ XR) -> Nhấp vào Android và bật OpenXR
Tiếp theo, chúng ta cần bật tính năng hỗ trợ cho: "Android XR support" (Hỗ trợ Android XR). Chúng ta sẽ đề cập đến các tính năng OpenXR khác khi cần. Hiện tại, chúng ta chỉ cần bật tính năng hỗ trợ Android XR.
Đầu vào
Android XR hỗ trợ đầu vào cho Bàn tay, Giọng nói, Theo dõi ánh mắt, Bàn phím và Bộ điều khiển. Bạn nên cài đặt XR Interaction Toolkit và XR Hands vì các gói này chứa các thành phần dựng sẵn tốt nhất để bắt đầu. Bằng cách sử dụng các thành phần dựng sẵn này, bạn sẽ có mọi thứ cần thiết để hỗ trợ Bàn tay và Bộ điều khiển trong ứng dụng.
Sau khi cài đặt cả XR Hands (Bàn tay XR) và XR Interactive toolkit (Bộ công cụ tương tác XR), bạn nên nhập Starter Assets (Thành phần khởi động) và Hands Interaction Demo (Bản minh hoạ tương tác bằng tay). Sau đó, bạn cần bật hồ sơ Hand Interaction (Tương tác bằng tay) và Khronos Simple Controller (Bộ điều khiển đơn giản Khronos), đồng thời bật tính năng Hand Tracking Subsystem (Hệ thống con theo dõi tay) và Meta Hand Tracking Aim (Theo dõi tay Meta).
Bạn có thể chỉnh sửa các chế độ cài đặt này bằng cách chuyển đến "Edit" (Chỉnh sửa) > "Project Settings" (Cài đặt dự án) > XR Plug-in Management" (Quản lý trình bổ trợ XR) > "OpenXR"
Bạn cũng nên sử dụng thành phần dựng sẵn của Unity, XR Origin, đại diện cho vị trí và hướng của người dùng trong không gian XR. Thành phần này chứa giàn máy ảnh và các thành phần theo dõi cần thiết để kết xuất trải nghiệm XR của bạn từ góc nhìn chính xác.
Cách đơn giản nhất để thêm thành phần dựng sẵn này là nhập thành phần đó từ bản minh hoạ tích hợp bàn tay mà chúng ta đã nhập trước đó. Bạn có thể tìm thấy bản minh hoạ này tại "Hands Integration Toolkit" (Bộ công cụ tích hợp bàn tay) > "Hand Interaction" (Tương tác bằng tay) > "Prefabs" (Thành phần dựng sẵn) > "XR Origin"
Bạn nên sử dụng thành phần dựng sẵn này thay vì tuỳ chọn "XR Origin" trong các đối tượng trò chơi vì thành phần này sử dụng XR Input Modality Manager (Trình quản lý phương thức nhập XR) tự động chuyển đổi giữa bàn tay và bộ điều khiển của người dùng. Điều này sẽ giúp bạn chuyển đổi giữa bàn tay và bộ điều khiển thành công nhất.
Quyền riêng tư và quyền: xây dựng lòng tin của người dùng
Bất kể bạn tạo gì, bạn cũng cần thu thập quyền trong thời gian chạy từ người dùng. Đó là vì tính năng hiểu cảnh, theo dõi ánh mắt, theo dõi khuôn mặt và theo dõi cử động của tay cung cấp quyền truy cập vào dữ liệu có thể nhạy cảm hơn đối với người dùng.
Các tính năng này cung cấp thông tin cá nhân chi tiết hơn so với các ứng dụng truyền thống trên máy tính hoặc thiết bị di động, vì vậy, quyền trong thời gian chạy đảm bảo người dùng có toàn quyền kiểm soát dữ liệu mà họ chọn chia sẻ. Do đó, để tuân thủ các chính sách bảo mật và quyền riêng tư của Android, Android XR có quyền cho từng tính năng này.
Ví dụ: nếu bạn sử dụng gói XR Hands (Bàn tay XR) cho các cử chỉ tay tuỳ chỉnh, bạn sẽ cần yêu cầu quyền theo dõi cử động của tay (xem bên dưới) vì gói này cần theo dõi nhiều thông tin về bàn tay của người dùng. Thông tin này bao gồm các yếu tố như theo dõi tư thế khớp tay và vận tốc góc và vận tốc tuyến tính;
Lưu ý: Để xem danh sách đầy đủ các tiện ích yêu cầu quyền, hãy xem thông tin trên trang web dành cho nhà phát triển XR.
const string k_Permission = "android.permission.HAND_TRACKING";
#if UNITY_ANDROID
void Start()
{
if (!Permission.HasUserAuthorizedPermission(k_Permission))
{
var callbacks = new PermissionCallbacks();
callbacks.PermissionDenied += OnPermissionDenied;
callbacks.PermissionGranted += OnPermissionGranted;
Permission.RequestUserPermission(k_Permission, callbacks);
}
}
void OnPermissionDenied(string permission)
{
// handle denied permission
}
void OnPermissionGranted(string permission)
{
// handle granted permission
}
#endif // UNITY_ANDROID
Nâng cao chất lượng hình ảnh bằng lớp tổng hợp
Lớp tổng hợp là cách được đề xuất để kết xuất các phần tử trên giao diện người dùng. Các lớp này giúp hiển thị các phần tử ở chất lượng cao hơn nhiều so với quy trình kết xuất tiêu chuẩn của Unity vì mọi thứ đều được kết xuất trực tiếp vào trình tổng hợp của nền tảng.
Ví dụ: nếu bạn đang hiển thị văn bản, thì quá trình kết xuất tiêu chuẩn của Unity có nhiều khả năng sẽ có văn bản bị mờ, các cạnh mềm và các hiện vật trực quan. Trong khi đó, với các lớp tổng hợp, văn bản sẽ rõ ràng hơn, đường viền sẽ sắc nét hơn và trải nghiệm tổng thể sẽ tốt hơn.
Ngoài văn bản, lớp này còn kết xuất video, hình ảnh và các phần tử trên giao diện người dùng ở chất lượng cao hơn nhiều. Lớp này thực hiện việc này bằng cách tận dụng khả năng hỗ trợ gốc cho các lớp trình tổng hợp của thời gian chạy.
Để bật Lớp tổng hợp, hãy mở Trình quản lý gói, chọn "Unity Register" (Đăng ký Unity), sau đó cài đặt "XR Composition Layers" (Lớp tổng hợp XR).
Tạo và chạy
Giờ đây, bạn đã cài đặt các gói OpenXR và bật các tính năng, thiết lập thành phần dựng sẵn cho chuyển động của tay và đầu. Bạn có thể tạo cảnh và triển khai trực tiếp vào thiết bị đeo đầu để kiểm thử.
Bước tiếp theo: mở rộng kỹ năng
Giờ đây, bạn đã thiết lập môi trường phát triển Android XR và hiểu các khái niệm chính. Dưới đây là các bước tiếp theo để tiếp tục hành trình phát triển XR:
Tài nguyên thiết yếu để tiếp tục học tập:
- Tài liệu dành cho nhà phát triển Android XR – hướng dẫn toàn diện cho tất cả các tính năng của Android XR
- Hướng dẫn phát triển XR của Unity – tài nguyên phát triển XR chính thức của Unity
Dự án mẫu để khám phá:
- Mẫu Android XR Unity – dự án mẫu chính thức của Google giới thiệu các tính năng khác nhau của Android XR
- Ví dụ về XR Interaction Toolkit (Bộ công cụ tương tác XR) của Unity – ví dụ toàn diện về các tương tác XR và cơ chế trò chơi
- Mẫu VR của Unity – điểm xuất phát hoàn chỉnh cho các dự án VR
- Mẫu nhiều người chơi VR – khám phá trải nghiệm XR trên mạng xã hội
Tiếp tục đọc
-
Hướng dẫn
Cho dù bạn đang sử dụng Gemini trong Android Studio, Gemini CLI, Antigravity hay các tác nhân của bên thứ ba như Claude Code hoặc Codex, thì sứ mệnh của chúng tôi là đảm bảo rằng bạn có thể phát triển Android chất lượng cao ở mọi nơi.
Adarsh Fernando, Esteban de la Canal • Đọc trong 4 phút
-
Hướng dẫn
Nhận thấy rằng tình trạng tiêu hao pin quá mức là điều đầu tiên trong tâm trí của người dùng Android, Google đã thực hiện các bước quan trọng để giúp nhà phát triển tạo các ứng dụng tiết kiệm pin hơn.
Alice Yuan • Đọc trong 8 phút
-
Hướng dẫn
Chúng tôi muốn cung cấp cho bạn các ví dụ về các tính năng hỗ trợ AI bằng cả mô hình trên thiết bị và mô hình trên đám mây, đồng thời truyền cảm hứng để bạn tạo ra trải nghiệm thú vị cho người dùng.
Thomas Ezan, Ivy Knight • Đọc trong 2 phút
Nhận thông tin cập nhật
Nhận thông tin chi tiết mới nhất về quá trình phát triển Android được gửi đến hộp thư đến của bạn hằng tuần.