Vì chúng tôi đã tạo thành công dự án Unity đầu tiên nhắm mục tiêu thiết bị Quest 2 trong bài đăng trước, bây giờ chúng tôi sẽ hiểu rõ hơn về một trong những bộ khả năng mạnh mẽ nhất do Meta cung cấp thông qua Nền tảng hiện diện.
Nền tảng hiện diện được thiết kế để tạo cảm giác hiện diện và tương tác được chia sẻ trong môi trường thực tế ảo. Nó cho phép mọi người kết nối, tương tác, tương tác với nhau trong không gian ảo đắm chìm bằng tai nghe VR.
Các tính năng và khả năng của Nền tảng hiện diện của Meta bao gồm:
Như bạn có thể thấy Nền tảng hiện diện là tập hợp toàn diện các tính năng/hệ thống phụ và tôi sẽ trình bày chi tiết từng tính năng, nhưng để bắt đầu - hãy bắt đầu từ theo dõi tay như một trong những yêu cầu cơ bản để phát triển trò chơi VR - chúng ta sẽ thiết lập , xây dựng và khởi chạy trò chơi theo dõi bàn tay như trải nghiệm.
Điểm khởi đầu hoàn hảo là trải nghiệm Unity-FirstHand do oculus-samples repo cung cấp.
Một lần nữa, vui lòng tham khảo bài viết trước về cách thiết lập môi trường phát triển và đảm bảo các phần phụ thuộc khác nhau đã được cài đặt.
Đảm bảo bạn đã cài đặt Git LFS, chạy lệnh này:
git lfs install
Sau đó, sao chép repo bằng "Mã", mở trong Github desktop và chạy lệnh sau:
git clone https://github.com/oculus-samples/Unity-FirstHand.git
Tất cả các tệp dự án thực tế đều có trong Tài sản → Dự án. Thư mục này bao gồm tất cả các tập lệnh và nội dung để chạy mẫu, ngoại trừ chính SDK tương tác. Dự án bao gồm phiên bản 41 của SDK Oculus, bao gồm cả SDK tương tác. Bạn có thể tìm SDK tương tác trong [Nội dung/Oculus/Tương tác]{Nội dung/Oculus/Tương tác).
Sau khi cài đặt tất cả các phụ thuộc cần thiết và định cấu hình bản dựng để chạy trên thiết bị Quest, bạn sẽ nhận được nội dung tương tự như trên trong trình chỉnh sửa của mình.
Chuyển đến Tệp → Cài đặt bản dựng nếu bạn đang sử dụng Mac.
Nếu bạn đã làm theo hướng dẫn từ bài đăng trước của tôi và kết nối thiết bị của mình, bên dưới là những gì bạn sẽ thấy trong Cài đặt bản dựng.
Nhấp vào Build and Run, đợi vài phút để Unity xây dựng và đợi thông báo rằng ứng dụng của bạn đang triển khai tới thiết bị Quest được kết nối.
Tôi thực sự khuyên bạn nên thử với ví dụ này và cố gắng tùy chỉnh các thành phần và tập lệnh để tìm hiểu cách thức hoạt động của nó bên trong, để có thể thực hiện nó trong phần Dự án của trình chỉnh sửa Unity của bạn và mở rộng hệ thống phân cấp thư mục dự án.
Chúng tôi sẽ tùy chỉnh LazerProjectile:
public class LazerProjectile : ActiveStateObserver { [SerializeField] Transform _target; [SerializeField] GameObject _effect; [SerializeField] float _rayCastDelay = 0.5f; [SerializeField] float _fadeOutTime = 0.1f; [SerializeField] float _delayBetweenShots = 0.5f; [SerializeField] AudioTrigger _chargeUp; [SerializeField, Optional] AudioTrigger _chargeUpComplete; protected override void Update() { base.Update(); Vector3 endPos = Vector3.Lerp(_target.position, transform.position + transform.forward * 20, 5 * Time.deltaTime); _target.position = endPos; } //...... }
Hãy tăng độ trễ cast của Ray và kiểm tra ứng dụng trên tai nghe bằng cách thay thế
float _rayCastDelay = 0.1f;
ĐẾN
float _rayCastDelay = 0.5f;
Đây là cách nó làm việc!
Hãy tự mình thử và cho tôi biết bạn muốn xây dựng gì bằng tính năng theo dõi tay.