Vì chúng tôi đã tạo thành công 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. dự án Unity đầu tiên Nền tảng hiện diện của Meta là gì? Nền tảng hiện diện được để 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. thiết kế 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: Nền tảng hiện diện cho phép người dùng tạo và tùy chỉnh hình đại diện kỹ thuật số đại diện cho họ trong thế giới ảo. Những hình đại diện này có thể bắt chước các chuyển động, biểu cảm và cử chỉ trong đời thực của người dùng, nâng cao cảm giác hiện diện và tương tác xã hội. Hệ thống hình đại diện: Người dùng có thể gặp gỡ và tương tác với bạn bè và những người khác trong môi trường ảo được chia sẻ. Họ có thể cùng nhau tham gia vào nhiều hoạt động khác nhau, chẳng hạn như chơi trò chơi, tham dự các sự kiện ảo, xem video, v.v. Tương tác xã hội: Nền tảng kết hợp âm thanh không gian, có nghĩa là âm thanh trong môi trường ảo dựa trên vị trí. Điều này tạo ra trải nghiệm âm thanh sống động và chân thực hơn vì người dùng có thể nghe thấy âm thanh phát ra từ các hướng cụ thể, giống như trong thế giới thực. Âm thanh không gian: Nền tảng Presence hỗ trợ công nghệ theo dõi bàn tay, cho phép người dùng sử dụng bàn tay và ngón tay của họ trực tiếp trong VR mà không cần bộ điều khiển. Điều này làm cho các tương tác tự nhiên và trực quan hơn. Theo dõi bàn tay: Nền tảng được thiết kế để hoạt động trên các tai nghe Oculus VR khác nhau, cho phép người dùng có các thiết bị khác nhau tham gia và tương tác với nhau một cách liền mạch. Hỗ trợ đa nền tảng: Đối với nhà phát triển, Nền tảng hiện diện cung cấp các công cụ và API để tạo và xuất bản các ứng dụng, trò chơi và trải nghiệm VR, cho phép một hệ sinh thái nội dung ảo phát triển mạnh. Công cụ tạo nội dung: Bắt đầu với Theo dõi tay 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 do oculus-samples cung cấp. Unity-FirstHand repo Một lần nữa, vui lòng tham khảo 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. bài viết trước Đả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. Xây dựng và chạy 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ùy chỉnh và thực hiện thay đổ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.