Hướng dẫn này trình bày cách sử dụng Google Cardboard XR Plugin for Unity cho Unity để tạo trải nghiệm Thực tế ảo (VR) của riêng bạn.
Bạn có thể sử dụng Cardboard SDK để biến điện thoại di động thành một nền tảng thực tế ảo. Thiết bị di động có thể hiển thị cảnh 3D bằng tính năng kết xuất lập thể, theo dõi và phản ứng với chuyển động đầu, đồng thời tương tác với các ứng dụng bằng cách phát hiện thời điểm người dùng nhấn nút trên kính xem.
Để bắt đầu, bạn sẽ sử dụng HelloCardboard, một trò chơi minh hoạ các tính năng cốt lõi của Cardboard SDK. Trong trò chơi, người dùng khám phá một thế giới ảo để tìm và thu thập các vật thể. Tài liệu này hướng dẫn bạn cách:
- Thiết lập môi trường phát triển
- Tải xuống và tạo ứng dụng minh hoạ
- Quét mã QR của một kính xem Cardboard để lưu các thông số của kính
- Theo dõi cử động đầu của người dùng
- Kết xuất hình ảnh nổi bằng cách đặt độ biến dạng chính xác cho từng mắt
- Bật và tắt chế độ thực tế ảo
Thiết lập môi trường phát triển
Yêu cầu về phần mềm:
- Unity 2021.3.44f1 trở lên
- Nhớ thêm Android và iOS Build Support (Hỗ trợ bản dựng Android và iOS) trong quá trình cài đặt.
- Hãy nhớ cài đặt bản vá phiên bản 44f1 trở lên.
- Bạn phải cài đặt Git và tệp thực thi
git
phải nằm trên biến môi trườngPATH
. Hãy xem tài liệu Unity hỗ trợ git của trình quản lý gói để biết thêm thông tin chi tiết.
Nhập SDK và tạo một dự án mới
Hãy làm theo các bước sau để nhập Unity SDK và tạo một dự án mới.
- Mở Unity rồi tạo một dự án 3D mới.
- Trong Unity, hãy chuyển đến Window (Cửa sổ) > Package Manager (Trình quản lý gói).
- Nhấp vào + rồi chọn Add package from git URL (Thêm gói từ URL git).
- Dán
https://github.com/googlevr/cardboard-xr-plugin.git
vào trường nhập văn bản.
Gói này phải được thêm vào các gói đã cài đặt. - Chuyển đến gói Google Cardboard XR Plugin for Unity. Trong phần Samples (Mẫu), hãy chọn Import into Project (Nhập vào dự án).
Các thành phần mẫu phải được tải vàoAssets/Samples/Google Cardboard/<version>/Hello Cardboard
.
Định cấu hình cảnh HelloCardboard
- Chuyển đến
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
, chọn Add Open Scenes (Thêm cảnh mở) rồi chọn HelloCardboard để mở cảnh mẫu. - Mở trình đơn Lớp rồi chọn Chỉnh sửa lớp....
- Xác định một lớp mới có tên là "Tương tác".
- Nhấp vào GameObject Treasure (Kho báu) để mở cửa sổ Inspector (Trình kiểm tra). Đặt lớp của nó thành "Tương tác". Nếu một cửa sổ bật lên xuất hiện hỏi xem bạn có muốn đặt lớp thành Tương tác cho tất cả các đối tượng con hay không, hãy nhấp vào "Có, thay đổi các đối tượng con".
- Nhấp vào GameObject Player > Camera > CardboardReticlePointer để mở cửa sổ Inspector. Trong tập lệnh "Cardboard reticle pointer" (Con trỏ tâm ngắm Cardboard), hãy chọn "Interactive" (Tương tác) làm Reticle Interaction Layer Mask (Mặt nạ lớp tương tác tâm ngắm).
Định cấu hình chế độ cài đặt bản dựng Android
Chuyển đến File > Build Settings (Tệp > Cài đặt bản dựng).
- Chọn Android rồi chọn Switch Platform (Chuyển nền tảng).
- Chọn Add Open Scenes (Thêm cảnh mở) rồi chọn HelloCardboard.
Cài đặt trình phát
Chuyển đến Edit (Chỉnh sửa) > Project Settings... (Cài đặt dự án...).
Định cấu hình chế độ cài đặt Độ phân giải và Bản trình bày
Chuyển đến Player (Trình phát) > Resolution and Presentation (Độ phân giải và chế độ trình chiếu).
- Đặt Hướng mặc định thành Ngang bên trái hoặc Ngang bên phải.
- Tắt tính năng Tối ưu hoá tốc độ khung hình.
Định cấu hình chế độ cài đặt Khác
Chuyển đến phần Trình phát > Cài đặt khác.
- Chọn
OpenGLES2
,OpenGLES3
hoặcVulkan
, hoặc bất kỳ tổ hợp nào của các API này trong Graphics API (API Đồ hoạ). - Chọn
Android 8.0 'Oreo' (API level 26)
trở lên trong Minimum API Level (Cấp độ API tối thiểu). - Chọn
API level 35
trở lên trong Cấp độ API mục tiêu. - Chọn
IL2CPP
trong Scripting Backend (Phần phụ trợ tập lệnh). - Chọn các cấu trúc mong muốn bằng cách chọn
ARMv7
,ARM64
hoặc cả hai trong Target Architectures (Kiến trúc mục tiêu). - Chọn
Require
trong phần Truy cập Internet. - Chọn
Input System Package (New)
trong Active Input Handling (Xử lý dữ liệu đầu vào đang hoạt động). - Chỉ định miền của công ty bạn trong phần Package Name (Tên gói).
- Nếu
Vulkan
được chọn làm Graphics API (API Đồ hoạ):- Xoá hộp đánh dấu Áp dụng chế độ xoay màn hình trong khi kết xuất trong Vulkan Settings (Cài đặt Vulkan).
- Nếu phiên bản Unity là 2021.2 trở lên, hãy chọn
ETC2
trong Texture compression format (Định dạng nén kết cấu).
- Nếu phiên bản Unity là 2023.1 trở lên, hãy chọn
Activity
rồi xoáGameActivity
trong Application Entry Point (Điểm truy cập ứng dụng).
Định cấu hình chế độ cài đặt xuất bản
Chuyển đến Trình phát > Cài đặt xuất bản.
- Trong phần Build (Bản dựng), hãy chọn
Custom Main Gradle Template
vàCustom Gradle Properties Template
. Thêm các dòng sau vào phần phụ thuộc của
Assets/Plugins/Android/mainTemplate.gradle
:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
Thêm các dòng sau vào
Assets/Plugins/Android/gradleTemplate.properties
:android.enableJetifier=true android.useAndroidX=true
Định cấu hình chế độ cài đặt Quản lý trình bổ trợ XR
Chuyển đến XR Plug-in Management (Quản lý trình bổ trợ XR).
- Chọn
Cardboard XR Plugin
trong phần Nhà cung cấp trình bổ trợ.
Xây dựng dự án của bạn
Chuyển đến File > Build Settings (Tệp > Cài đặt bản dựng).
- Chọn Build (Tạo) hoặc chọn một thiết bị rồi chọn Build and Run (Tạo và Chạy).
Định cấu hình chế độ cài đặt dự án iOS
Chuyển đến File > Build Settings (Tệp > Cài đặt bản dựng).
- Chọn iOS rồi chọn Switch Platform (Chuyển nền tảng).
- Chọn Add Open Scenes (Thêm cảnh mở) rồi chọn HelloCardboard.
Cài đặt trình phát
Chuyển đến Edit (Chỉnh sửa) > Project Settings... (Cài đặt dự án...).
Định cấu hình chế độ cài đặt Độ phân giải và Bản trình bày
Chuyển đến Player (Trình phát) > Resolution and Presentation (Độ phân giải và bản trình bày).
- Đặt Hướng mặc định thành Ngang bên trái hoặc Ngang bên phải.
Định cấu hình chế độ cài đặt Khác
Chuyển đến phần Trình phát > Cài đặt khác.
- Trong phần Nội dung mô tả về việc sử dụng camera, hãy viết
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
. - Trong Phiên bản iOS tối thiểu mục tiêu, hãy viết
12.0
. - Chỉ định miền của công ty bạn trong phần Package Name (Tên gói).
- Đánh dấu vào
Top Edge
,Left Edge
vàRight Edge
trong mục Hoãn các cử chỉ hệ thống trên các cạnh.
Định cấu hình chế độ cài đặt Quản lý trình bổ trợ XR
Chuyển đến XR Plug-in Management (Quản lý trình bổ trợ XR).
- Chọn
Cardboard XR Plugin
trong phần Nhà cung cấp trình bổ trợ.
Xây dựng dự án của bạn
Chuyển đến File > Build Settings (Tệp > Cài đặt bản dựng).
- Chọn Build (Tạo) hoặc Build and Run (Tạo và chạy).
Căn lại chính giữa
Cardboard SDK cho phép bạn đặt lại tâm của thiết bị theo dõi đầu bằng cách sử dụng Recenter()
.
Hãy làm theo các bước sau để dùng thử bằng ứng dụng mẫu:
- Di chuyển thiết bị đến vị trí bạn muốn đặt lại tâm (sử dụng làm tư thế đầu nhìn về phía trước mới).
- Giữ nút kích hoạt của thiết bị Cardboard trong ít nhất 3 giây.
- Nhả nút chụp.
- Tư thế ban đầu hiện ở hướng mà camera đang hướng tới.
Bật và tắt chế độ thực tế ảo
API Quản lý trình bổ trợ Unity XR cho phép bạn bật hoặc tắt chế độ thực tế ảo cho Trình bổ trợ Google Cardboard XR cho Unity. Tài liệu dành cho người dùng cuối và các ví dụ về cách sử dụng có trong Tài liệu dành cho người dùng cuối của Unity.
Cảnh VrMode trong mẫu HelloCardboard cho thấy cách sử dụng cơ bản của API nêu trên. Trong cảnh này, bạn có thể tắt chế độ thực tế ảo bằng cách nhấn vào biểu tượng thoát
và có thể bật lại chỉ bằng cách nhấn vào bất kỳ vị trí nào trên màn hình. Hãy kiểm tra VrModeController.cs để biết thông tin chi tiết về cách thực hiện việc này.