Hướng dẫn nhanh về Google Cardboard dành cho Unity

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ường PATH. 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.

  1. Mở Unity rồi tạo một dự án 3D mới.
  2. Trong Unity, hãy chuyển đến Window (Cửa sổ) > Package Manager (Trình quản lý gói).
  3. Nhấp vào + rồi chọn Add package from git URL (Thêm gói từ URL git).
  4. 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.
  5. 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ào Assets/Samples/Google Cardboard/<version>/Hello Cardboard.

Định cấu hình cảnh HelloCardboard

  1. 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.
  2. Mở trình đơn Lớp rồi chọn Chỉnh sửa lớp....
  3. Xác định một lớp mới có tên là "Tương tác".
  4. 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".
  5. 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).

  1. Chọn Android rồi chọn Switch Platform (Chuyển nền tảng).
  2. 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).

  1. Đặt Hướng mặc định thành Ngang bên trái hoặc Ngang bên phải.
  2. 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.

  1. Chọn OpenGLES2, OpenGLES3 hoặc Vulkan, hoặc bất kỳ tổ hợp nào của các API này trong Graphics API (API Đồ hoạ).
  2. Chọn Android 8.0 'Oreo' (API level 26) trở lên trong Minimum API Level (Cấp độ API tối thiểu).
  3. Chọn API level 35 trở lên trong Cấp độ API mục tiêu.
  4. Chọn IL2CPP trong Scripting Backend (Phần phụ trợ tập lệnh).
  5. 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).
  6. Chọn Require trong phần Truy cập Internet.
  7. Chọn Input System Package (New) trong Active Input Handling (Xử lý dữ liệu đầu vào đang hoạt động).
  8. Chỉ định miền của công ty bạn trong phần Package Name (Tên gói).
  9. 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).
  10. 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.

  1. Trong phần Build (Bản dựng), hãy chọn Custom Main Gradle TemplateCustom Gradle Properties Template.
  2. 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'
    
  3. 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).

  1. 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).

  1. 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).

  1. Chọn iOS rồi chọn Switch Platform (Chuyển nền tảng).
  2. 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).

  1. Đặ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.

  1. 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)..
  2. Trong Phiên bản iOS tối thiểu mục tiêu, hãy viết 12.0.
  3. Chỉ định miền của công ty bạn trong phần Package Name (Tên gói).
  4. Đánh dấu vào Top Edge, Left EdgeRight 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).

  1. 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).

  1. 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:

  1. 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).
  2. Giữ nút kích hoạt của thiết bị Cardboard trong ít nhất 3 giây.
  3. Nhả nút chụp.
  4. 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 Nút X 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.

Các bước tiếp theo