Quay lại phần Tin tức dành cho nhà phát triển

Xây dựng trải nghiệm VR nhiều người chơi

24 tháng 5, 2022Tác giảNavyata Bawa

Trải nghiệm nhiều người chơi ngày càng trở thành một phần quan trọng trong hệ sinh thái VR. Thông qua các tính năng nhiều người chơi, mọi người có thể dễ dàng tìm, mời và chơi cùng nhau trong nhiều game và ứng dụng. Trong loạt video và blog "Xây dựng trải nghiệm VR nhiều người chơi" gồm 4 phần này, chúng tôi sẽ thảo luận về các tính năng nhiều người chơi trong Quest thuộc SDK nền tảng bằng cách khám phá mẫu SharedSpaces nguồn mở (được tạo trong Unity) của chúng tôi, đồng thời chỉ cho bạn cách dùng mẫu này để xây dựng ứng dụng nhiều người chơi của riêng mình. Nếu bạn muốn tìm hiểu bằng cách xem hoặc nghe, hãy xem video này trên kênh YouTube nguồn mở của Meta.

Trong blog ngày hôm nay, chúng tôi sẽ đề cập đến các tính năng nhiều người chơi trong SDK nền tảng cũng như những trải nghiệm bạn có thể xây dựng dựa trên các tính năng này. Sau đó, chúng tôi sẽ đề cập đến mẫu Unity SharedSpaces của App Lab và xem cách hoạt động của các tính năng nhiều người chơi này trong thực tế.

Các tính năng nhiều người chơi

Với các tính năng nhiều người chơi trong Quest - Đích đến, Sự hiện diện trong nhóm, Lời mời, Liên kết mời, Danh sách người chơi và hơn thế nữa - người dùng có thể tìm, mời và chơi cùng nhau trong các ứng dụng VR. Nhờ có các tính năng này, hoạt động tương tác xã hội trong ứng dụng của bạn sẽ tăng lên, đồng thời những fan nhiệt thành nhất của bạn có thể mời người khác tham gia cùng họ, từ đó tạo ra trải nghiệm nhiều người chơi độc đáo. Trải nghiệm này sẽ mang lại cho người chơi cảm giác gặp mặt trực tiếp bạn bè trong ứng dụng.

Đích đến

Đích đến là những vị trí mà mọi người đi đến trong ứng dụng của bạn. Đây là tính năng quan trọng đối với quá trình phát triển các tính năng nhiều người chơi trong Quest. Hình dưới đây minh họa 3 đích đến trong ứng dụng mẫu SharedSpaces. Trong blog tiếp theo, chúng tôi sẽ đề cập đến các bước thiết lập đích đến cho ứng dụng của bạn.

Sự hiện diện trong nhóm

Tính năng Sự hiện diện trong nhóm cung cấp thông tin về ứng dụng mà người nào đó đang dùng: có trận đấu nào không, người đó có đang ở đích đến cụ thể nào không, người đó có thể tham gia hay không và hơn thế nữa. Để tìm hiểu thêm về tính năng đích đến và sự hiện diện trong nhóm, hãy xem tài liệu của chúng tôi về các trường hợp sử dụng khác nhau, cũng như cách dùng các tính năng này hiệu quả nhất trong ứng dụng của bạn.

Liên kết sâu

Với liên kết sâu, các nhà phát triển có thể chuyển người dùng vào một trải nghiệm cụ thể. Mỗi khi người nào đó khởi chạy ứng dụng của bạn để tham gia cùng bạn bè hoặc chuyển tới một đích đến, liên kết sâu sẽ có thông tin về đích đến mong muốn và bất kỳ sân chung/trận đấu nào.

Để hỗ trợ trải nghiệm nhiều người chơi, bước đầu tiên là tích hợp các tính năng đích đến, sự hiện diện trong nhóm và liên kết sâu. Trong blog tiếp theo, chúng tôi sẽ đề cập đến cách xây dựng phiên bản mẫu Unity SharedSpaces của riêng bạn, cũng như cách thiết lập phiên bản này cho ứng dụng của bạn.

Mời dùng ứng dụng

Với tính năng Mời dùng ứng dụng, người chơi có thể mời liền mạch bạn bè trong Quest và người dùng Cùng chơi gần đây vào sân chung hiện có thông qua menu Quest trong các game được hỗ trợ.

Khi bạn gửi lời mời, người được mời sẽ thấy một thông báo bật lên trong VR và trên ứng dụng Oculus dành cho di động. Đây là thông báo mời họ tham gia trải nghiệm.

Để tìm hiểu thêm về các API Mời dùng ứng dụng và cách bạn có thể dùng các API này trong trải nghiệm của mình, hãy truy cập trang tài liệu.

Liên kết mời

Bạn cũng có thể dùng Liên kết mời để mở ra một Đích đến cùng với nhóm bạn bè qua ứng dụng Oculus dành cho di động.

Liên kết mời sẽ dùng API Sự hiện diện trong nhóm để đảm bảo mọi người đều vào cùng một phiên. Để tìm hiểu thêm về Liên kết mời, hãy truy cập trang tài liệu.

Danh sách người chơi

Thông qua Danh sách người chơi, người dùng có thể xem người bạn nào đang tham gia game với họ. Những người dùng mà game thêm vào danh sách sẽ có cùng ID phiên sân chung khi game đặt sự hiện diện của người dùng hiện tại. Trong mẫu SharedSpaces, danh sách người chơi sẽ hiển thị khi nhấn vào bảng điều khiển danh sách người chơi. Hình ảnh dưới đây minh họa ví dụ về cách danh sách người chơi cho biết ai đang chơi với bạn và ai đã được mời tham gia cùng bạn.

Mẫu Unity SharedSpaces

Chúng tôi vừa đề cập đến một vài tính năng nhiều người chơi trong SDK nền tảng. Giờ hãy cùng xem xét dự án mẫu có tên SharedSpaces để biết cách hoạt động của các tính năng nhiều người chơi này trong thực tế. Chúng tôi sẽ xem xét phiên bản Unity của mẫu này. Tuy nhiên, nếu muốn tìm hiểu phiên bản Unreal, bạn có thể tìm phiên bản đó trên App Lab.

Trước tiên, hãy cùng xem qua cách hoạt động của mẫu Unity SharedSpaces. Mẫu này sử dụng 3 tầng mạng:

  • SDK nền tảng của chúng tôi - cho phép đặt đích đến, sự hiện diện, sân chung và trận đấu.
  • Tầng giao vận của chúng tôi - Photon SDK - phụ trách hoạt động giao tiếp giữa những người dùng trong cùng một không gian.
  • Khả năng kết nối mạng - do Netcode for GameObjects SDK của Unity cung cấp.

Hình bên dưới tóm tắt 3 tầng mạng mà chúng tôi vừa thảo luận.

Cài đặt mẫu

Khi đã hiểu cơ bản về cách hoạt động của ứng dụng ShareSpaces, bạn có thể tải xuống mẫu Unity SharedSpaces của App Lab rồi dùng thử trên kính Quest của mình.

Chạy mẫu

Sau khi khởi chạy ứng dụng trên kính Quest, bạn sẽ thấy mình bắt đầu trong một căn phòng gọi là Sân chung. Người chơi được biểu thị qua một nhân vật đầy màu sắc mà bạn có thể điều khiển bằng bộ điều khiển của mình. Bộ điều khiển bên trái di chuyển người chơi xung quanh, còn bộ điều khiển bên phải di chuyển camera xung quanh để bạn có thể thoải mái nhìn thế giới quanh mình và chọn đi đến vị trí mong muốn. Khi bạn nhấn nút Y trên bộ điều khiển, người chơi sẽ nhảy lên.

Bảng điều khiển gỡ lỗi ở bên phải sẽ cho bạn biết trạng thái của các đích đến, tầng mạng và thông tin về người tham gia phòng đó. Ở bên trái, bạn sẽ thấy 3 đích đến riêng tư, còn ở bên phải bạn sẽ thấy một đích đến công khai. Đây đều là những đích đến bạn có thể vào.

Ở trên cùng bên trái, bạn sẽ thấy tùy chọn mời bạn bè cùng tham gia trải nghiệm này. Đây chính là tính năng Mời dùng ứng dụng mà chúng tôi thảo luận trước đó.

Ở trên cùng bên phải, bạn sẽ thấy một danh sách người chơi cho biết thông tin về sự hiện diện trong nhóm. Đây chính là cách tính năng Danh sách người chơi của SDK nền tảng hoạt động trong thực tế.

Phía sau bạn có một cửa hàng sơn. Tại đây, bạn có thể thay đổi màu sắc cho người chơi của mình. Bạn cũng có thể nhấn nút X trên bộ điều khiển để thay đổi màu sắc cho người chơi.

Ở dưới cùng bên trái và dưới cùng bên phải, bạn sẽ thấy tùy chọn hỏi bản thân và bạn bè để biết thêm thông tin về người chơi.

Tình huống thử nghiệm mẫu

Giờ bạn đã hiểu rõ về không gian này, hãy thử vào một trong các đích đến. Phòng màu tím là đích đến công khai mà ai cũng vào được và có thể vào từ bất kỳ sân chung nào. Giờ hãy quay lại sân chung.

Sau khi quay lại sân chung, hãy thử vào một phòng khác. Phòng màu đỏ, xanh da trời và xanh lá cây là các đích đến riêng tư và phải có lời mời thì mới vào được.

Trước khi vào một trong các phòng riêng tư, bạn có thể mời ai đó tham gia cùng mình. Hãy chuyển đến bảng điều khiển "Mời bạn bè" để xem danh sách bạn bè hiện có rồi mời một người bạn trong danh sách đó. Kể từ khi bắt đầu trải nghiệm tại sân chung, bạn sẽ là khách hàng chính trong sân chung của mình và bạn làm chủ sân chung đó.

Bạn bè được mời sẽ thấy một thông báo bật lên cho biết bạn đã mời họ cùng tham gia. Nếu họ chấp nhận lời mời tham gia cùng bạn, bạn sẽ thấy họ tại Sân chung của mình. Từ thời điểm đó trở đi, cả hai bạn sẽ có cùng một ID sân chung cho phiên này.

Giờ bạn có thể bắt đầu một trận đấu riêng trong Phòng màu xanh da trời. Khi vào Phòng màu xanh da trời, bạn có thể thấy rằng bạn bè đã vào phòng này trước mình. Vì vào trước nên họ sẽ làm chủ phòng đó và bạn được kết nối với họ. Bạn cũng có cùng ID phiên trận đấu tương ứng với Phòng màu xanh da trời. Bây giờ, nếu bạn rời khỏi Phòng màu xanh da trời, cả hai người đều sẽ trở lại sân chung của bạn vì các bạn có cùng ID sân chung.

Nếu mời bạn bè khi bạn đã ở trong Phòng màu xanh da trời và bạn bè ở sân chung riêng của họ, trong trường hợp họ chấp nhận lời mời của bạn thì ID trận đấu của họ sẽ chuyển thành chính ID phiên trận đấu tương ứng với Phòng màu xanh da trời. Tuy nhiên, ID sân chung của họ sẽ không thay đổi. Trong trường hợp đó, nếu cả hai người rời khỏi Phòng màu xanh da trời thì bạn sẽ trở lại sân chung của mình vì các bạn có ID sân chung khác nhau.

Trên đây là hướng dẫn nhanh về ứng dụng mẫu Unity SharedSpaces. Chúng tôi đã đề cập đến một số tính năng nhiều người chơi mà SDK nền tảng cung cấp, cũng như cách những tính năng này hoạt động trong ứng dụng Unity SharedSpaces trên Quest. Trong blog tiếp theo, chúng tôi sẽ đề cập đến cách xây dựng bản sao mẫu này của riêng bạn, bao gồm cả cách tải xuống mẫu từ Github cũng như xây dựng và chạy mẫu trên kính Quest của bạn.


Giới thiệu về loạt blog này

Trong loạt blog này, chúng tôi sẽ thảo luận về các tính năng nhiều người chơi của SDK nền tảng trong Quest bằng cách khám phá mẫu SharedSpaces nguồn mở (được tạo trong Unity) của chúng tôi. Đây là blog đầu tiên trong loạt blog gồm 4 phần hỗ trợ loạt video "Xây dựng trải nghiệm VR nhiều người chơi".

Để tìm hiểu thêm về các tính năng nhiều người chơi của SDK nền tảng cũng như cách hoạt động của mẫu SharedSpaces, hãy xem phiên Kết nối này. Đây là phiên thảo luận về cách xây dựng và phát triển ứng dụng nhiều người chơi cho Quest. Hãy dùng thử mẫu Unity SharedSpaces bằng cách truy cập vào App Lab và chạy mẫu đó trên kính của riêng bạn. Để tìm hiểu thêm về cách dùng các tính năng nhiều người chơi của SDK nền tảng trong ứng dụng của riêng bạn, hãy xem tài liệu của chúng tôi về các tính năng nhiều người chơi.

Để tìm hiểu thêm về Meta Quest, hãy truy cập trang web của chúng tôi, đăng ký theo dõi kênh YouTube của chúng tôi hoặc theo dõi chúng tôi trên TwitterFacebook. Nếu bạn có bất kỳ câu hỏi, gợi ý hoặc ý kiến đóng góp nào, vui lòng cho chúng tôi biết tại các diễn đàn nhà phát triển.

Để tìm hiểu thêm về Công nghệ nguồn mở của Meta, hãy truy cập trang web nguồn mở của chúng tôi, đăng ký theo dõi kênh YouTube của chúng tôi hoặc theo dõi chúng tôi trên TwitterFacebook.