Unity, OpenXR và WebXR cung cấp một bộ công cụ linh hoạt để tạo ra nhiều hoạt động tương tác trong trải nghiệm sống động. Mục tiêu là phát triển các ứng dụng sống động mà người dùng có thể tương tác bằng cách sử dụng các trải nghiệm đã học được. Bạn có thể thiết kế mọi thứ, từ các cử chỉ đơn giản đến các mô phỏng phức tạp dựa trên vật lý.
Xin lưu ý rằng các ứng dụng Unity, OpenXR và WebXR chỉ hoạt động ở chế độ Full Space (Không gian đầy đủ).
Tìm hiểu về các nguyên tắc thiết kế của Android XR.
Ngõ vào
Ứng dụng XR có thể bao gồm các hoạt động tương tác với tính năng theo dõi mắt, tay và khuôn mặt; cử chỉ; lệnh thoại; cũng như các thiết bị đầu vào truyền thống như bàn phím, chuột và tay điều khiển. Hãy cân nhắc xem ứng dụng của bạn cần loại dữ liệu đầu vào nào để mang lại trải nghiệm tự nhiên và dễ tiếp cận cho người dùng.
- Hỗ trợ các cử chỉ quen thuộc để giảm độ dốc học tập của ứng dụng. Khi tương tác với giao diện người dùng 2D, hãy sử dụng các cử chỉ hệ thống chuẩn như chụm. Đối với các hoạt động tương tác 3D như nhặt và ném bóng, bạn nên thiết kế bằng các cử chỉ mô phỏng hoạt động tương tác trong thế giới thực. Điều này dựa trên kiến thức hiện có của người dùng và giảm nhu cầu sử dụng hướng dẫn.
- Nếu cần thêm cử chỉ, hãy đảm bảo rằng các cử chỉ đó dễ học, dễ nhớ và dễ thực hiện. Tránh các cử chỉ phức tạp, nhiều bước hoặc tư thế không tự nhiên có thể gây khó chịu và mệt mỏi. Cân nhắc cung cấp hướng dẫn để dạy người dùng cách sử dụng cử chỉ tay.
- Đảm bảo trải nghiệm của bạn có thể sử dụng bằng tay trái hoặc tay phải. Nếu không thể, hãy làm theo lựa chọn ưu tiên về tay của hệ thống.
- Mặc dù tương tác bằng hai tay có thể mang lại trải nghiệm sống động, nhưng có thể gây khó khăn cho những người dùng có khả năng di chuyển hạn chế. Ưu tiên các thao tác tương tác bằng một tay cho các thao tác thiết yếu. Nếu cần cử chỉ hai tay, hãy cung cấp các phương thức một tay thay thế để đạt được cùng một kết quả.
- Ứng dụng Unity, OpenXR và WebXR không tự động hưởng lợi từ ngăn xếp lui của Android. Hãy cân nhắc việc triển khai ngăn xếp lui để cho phép người dùng truy cập vào cử chỉ quay lại của Android XR để huỷ các thao tác hoặc quay lại bằng thao tác điều hướng bằng cử chỉ.
Giao diện người dùng
Các thành phần giao diện người dùng như nút, bảng điều khiển và văn bản là yếu tố cần thiết để tương tác một cách tự nhiên trong ứng dụng XR. Thiết kế phải ưu tiên trải nghiệm người dùng liền mạch, trực quan. Các lựa chọn thiết kế giao diện người dùng cụ thể sẽ phụ thuộc vào các yêu cầu riêng của ứng dụng.
- Đặt các thành phần tương tác chính và nội dung quan trọng trong tầm nhìn tự nhiên và trường nhìn của người dùng. Điều này giúp tăng khả năng hiển thị và đảm bảo trải nghiệm thoải mái. Hãy cân nhắc cách người dùng dự định tương tác với giao diện để xác định khoảng cách đặt giao diện. Ví dụ: người dùng đang nhắm bằng con trỏ laser hay nhấn trực tiếp vào các nút bằng ngón tay? Định cấu hình kích thước giao diện dựa trên khoảng cách dự kiến của giao diện với người dùng. Tham khảo hướng dẫn về kích thước và tỷ lệ của Android XR.
- Khi thiết kế các thành phần giao diện người dùng tương tác như nút, hãy cân nhắc cách người dùng dự định tương tác với các thành phần đó, mức độ chính xác cần thiết cho từng phương thức nhập – theo dõi bằng tay so với chuột, đồng thời điều chỉnh các yếu tố như kích thước mục tiêu và khoảng cách cho phù hợp. Đảm bảo vị trí giao diện người dùng cho phép tương tác thoải mái. Cung cấp phản hồi bằng hình ảnh cho các hành động của người dùng. Tham khảo hướng dẫn về quy tắc lập trình Android XR.
- Giao diện người dùng 2D như bảng điều khiển rất phù hợp với các hoạt động tương tác dựa trên trình đơn. Giao diện người dùng 3D như các nút, cần gạt và công tắc thực tế có thể mang lại trải nghiệm sống động hơn khi tương tác với môi trường không gian. Việc cân bằng cẩn thận các hoạt động tương tác dựa trên bảng điều khiển để dễ đọc và các đối tượng 3D cho các hoạt động tương tác tập trung vào thế giới có thể tạo ra trải nghiệm mạnh mẽ và sống động.
- Đảm bảo văn bản dễ đọc bằng cách sử dụng cỡ chữ, loại chữ và độ tương phản phù hợp. Định vị giao diện người dùng dựa trên khoảng cách mà người dùng sẽ xem văn bản. Sử dụng phông chữ Trường khoảng cách đã ký để hiển thị văn bản mượt mà ở nhiều cỡ chữ. Tham khảo hướng dẫn về kiểu chữ Android XR.
Tương tác không gian
Một số hoạt động tương tác phong phú nhất trong XR liên quan đến khả năng người dùng tương tác trực tiếp với các đối tượng 3D. Việc này có thể đơn giản như việc nhặt, kiểm tra và ném một đối tượng. API này cũng bao gồm các hoạt động tương tác phức tạp hơn như kéo đòn bẩy, nhấn nút và tương tác với các thành phần mà người dùng đã giữ — chẳng hạn như phun bình xịt. Để tương tác với đối tượng 3D một cách trực quan, hãy thiết kế dựa trên kiến thức mà người dùng đã có về thế giới.
- Cân nhắc việc tích hợp công cụ vật lý nếu bạn muốn tạo các hành động chân thực. Nếu bạn đang xây dựng bằng Unity, thì công cụ này có tích hợp sẵn công cụ vật lý. Hãy lưu ý đến mức tiêu thụ sức mạnh xử lý của công cụ vật lý và tối ưu hoá hiệu suất.
- Tính chân thực quan trọng hơn tính thực tế. Ví dụ: nếu người dùng cho rằng họ đã ném một quả bóng thật mạnh, thì ứng dụng sẽ tăng thêm lực cho quả bóng ngoài mức mà cảm biến của thiết bị cho biết.
- Bạn nên tạo đối tượng sao cho phù hợp với các chức năng của đối tượng đó. Điều này có nghĩa là bạn phải tính đến mọi hành động mà người dùng có thể thực hiện trên hoặc với một đối tượng trong ứng dụng. Ví dụ: bạn có thể nhấc, ném và ăn một chiếc bánh rán. Thay vì ăn bánh rán, ứng dụng có thể sử dụng giọng nói để nói rằng "Tôi không đói ngay bây giờ". Các giải pháp này giải quyết những hành động mà người dùng dự kiến sẽ thực hiện với bánh donut.
- Bạn có thể giữ các đối tượng bằng nhiều kỹ thuật, bao gồm cả liên kết mẹ con, khớp vật lý, theo dõi và lực vật lý. Mỗi kỹ thuật đều có ưu điểm và nhược điểm riêng. Trước khi triển khai phương thức lấy dữ liệu tuỳ chỉnh, điều quan trọng là bạn phải nghiên cứu và thử nghiệm nhiều phương pháp để xác định phương pháp phù hợp nhất.
- Thiết kế công thái học là rất quan trọng khi thiết kế trong môi trường 3D. Để hỗ trợ tiếp cận, hãy cân nhắc thêm tay cầm vào các bề mặt phẳng để cho phép người dùng điều chỉnh tay cầm ở chiều cao thoải mái. Hãy nhớ kiểm thử từng đối tượng trong không gian với nhiều người dùng, vì cơ thể của mỗi người đều khác nhau.
Thiết kế cảnh
Cảnh có thể bao gồm từ thế giới ảo sống động đến trải nghiệm thực tế tăng cường kết hợp các thành phần ảo với môi trường xung quanh thực của người dùng. Thiết kế các cảnh thoải mái, hữu ích và tận dụng các tính năng độc đáo của XR.
- Hạn chế các cảnh di chuyển xung quanh người dùng, chẳng hạn như cảnh bay. Điều này có thể gây khó chịu, đặc biệt là nếu cơ thể thực của người dùng vẫn đứng yên. Một số kỹ thuật di chuyển như tầm nhìn đường hầm (mô tả trong phần tiếp theo) giúp giảm sự khó chịu.
- Để tạo trải nghiệm thực tế hỗn hợp, bạn có thể sử dụng các tính năng hiểu cảnh của Android XR để tích hợp các đối tượng ảo vào môi trường thực của người dùng.
- Đối với các ứng dụng thực tế ảo, bạn nên kết hợp các chế độ xem giới hạn của thế giới thực trong không gian ảo. Điều này giúp người dùng luôn nhận biết được môi trường xung quanh và tương tác với các vật thể thực tế mà không rời khỏi trải nghiệm sống động.
Di chuyển
Bạn nên cho phép người dùng tự do di chuyển trong không gian thực của họ theo giới hạn được định cấu hình trong trải nghiệm Android XR. Ví dụ: một số người dùng thấy rằng trải nghiệm ảo sẽ sống động hơn khi được thiết kế xung quanh một không gian không chuyển động do tác giả tạo. Nếu bạn muốn người dùng di chuyển trong một không gian ảo lớn hơn giới hạn cho phép, hãy cân nhắc sử dụng các kỹ thuật di chuyển giúp tăng cường chuyển động, chẳng hạn như dịch chuyển tức thời.
Với tính năng chuyển tức thì, người dùng sẽ trỏ và chọn hoặc sử dụng tay điều khiển để chuyển tức thì đến một vị trí mới. Đây là phương thức di chuyển tuyệt vời để di chuyển nhanh trên quãng đường dài và thường là phương thức di chuyển gây ra ít tình trạng say xe nhất. Việc che khuất màn hình trong thời gian ngắn trong quá trình chuyển đổi có thể giảm thiểu sự khó chịu.
Các phương thức di chuyển khác
Nếu bạn sử dụng các phương thức di chuyển khác, hãy cân nhắc cung cấp tính năng dịch chuyển tức thì làm phương án thay thế.
- Đi tại chỗ bằng cách vung tay: Mô phỏng việc đi bộ bằng cách vung tay hoặc di chuyển tay điều khiển lên và xuống. Một số người dùng có thể thấy việc này mệt mỏi hoặc kém trực quan.
- Di chuyển liên tục: Sử dụng cần điều khiển hoặc cần gạt của tay điều khiển để di chuyển bản thân ảo của bạn trong môi trường. Trong hầu hết trường hợp, bạn nên tránh sử dụng phương thức này vì đây là nguyên nhân phổ biến gây ra chứng say tàu xe.
Nếu bạn quyết định sử dụng tính năng di chuyển trong trải nghiệm của mình, hãy cung cấp nhiều lựa chọn để đáp ứng các lựa chọn ưu tiên của từng cá nhân và cải thiện trải nghiệm người dùng.
Tình trạng say khi di chuyển có thể xảy ra khi có sự ngắt kết nối giữa chuyển động thực tế của người dùng và trải nghiệm ảo của họ. Để tối ưu hoá sự thoải mái của người dùng trong quá trình di chuyển:
- Đảm bảo đường chân trời ảo luôn ổn định và bằng phẳng.
- Nếu cần chuyển động liên tục, hãy tránh tăng tốc hoặc giảm tốc dần. Duy trì tốc độ nhất quán.
- Chế độ thị giác đường hầm có thể giúp giảm tình trạng say tàu xe bằng cách thu hẹp trường nhìn của người dùng trong khi di chuyển, với hiệu ứng viền hình tròn giúp giới hạn chuyển động được nhận biết ở các khu vực ngoại vi.
- Đối với chế độ xoay, hãy chụp nhanh góc nhìn của người dùng theo các góc cụ thể. Điều này có thể gây mất phương hướng nhưng sẽ làm giảm tình trạng say tàu xe.
- Người dùng có mức độ chấp nhận khác nhau. Cho phép người dùng điều chỉnh các chế độ cài đặt thoải mái theo ý muốn, chẳng hạn như chọn phương thức di chuyển, bật hoặc tắt chế độ thị giác đường hầm hoặc điều chỉnh tốc độ di chuyển.
Âm thanh không gian
Âm thanh là một công cụ mạnh mẽ để tạo ra âm thanh sống động, đưa người dùng đến một thế giới khác và gợi lên những cảm xúc cụ thể. Âm thanh không gian xác định chính xác vị trí của âm thanh trong môi trường ảo.
- Âm thanh Ambisonics giống như một hộp bầu trời cho âm thanh, mang đến không gian âm thanh sống động cho người dùng. Sử dụng âm thanh ambisonics cho âm thanh môi trường xung quanh hoặc các trường hợp khác mà bạn muốn mô phỏng trường âm thanh hình cầu bao quanh người nghe.
- Các tín hiệu âm thanh không gian có thể hướng sự chú ý của người dùng.
- Tạo hiệu ứng âm thanh không gian để tăng độ chân thực.
- Việc tạo âm thanh không gian cho âm thanh giọng nói theo vị trí của người nói giúp người dùng có cảm giác như đang ở đó ngay cả khi họ không trực tiếp đối diện với người nói.
- Cho phép người dùng điều chỉnh âm thanh. Ví dụ: họ có thể muốn tắt hoặc thay đổi âm lượng của nhạc nền, hiệu ứng âm thanh hoặc lồng tiếng.
- Cân nhắc việc thêm phụ đề cho những người khiếm thính hoặc có thính giác kém.
Các yếu tố khác cần cân nhắc để đảm bảo sự thoải mái
Để ưu tiên khả năng hỗ trợ tiếp cận, hãy cung cấp các tuỳ chọn có thể tuỳ chỉnh để phù hợp với nhiều khả năng và lựa chọn ưu tiên. Điều này giúp đảm bảo nhiều người dùng có thể tận hưởng trải nghiệm sống động.
- Chạy ứng dụng ở tốc độ 72 khung hình/giây: Điều này sẽ giúp giảm thiểu hiện tượng giật hình và ngăn ngừa tình trạng buồn nôn.
- Cung cấp cho người dùng quyền kiểm soát: Để ứng dụng của bạn thân thiện với những người có mức độ tương đồng khác nhau với XR, hãy cho phép người dùng điều chỉnh trải nghiệm của họ bằng các chế độ cài đặt có thể tuỳ chỉnh. Cân nhắc cho phép người dùng ánh xạ lại các nút điều khiển và cử chỉ để phù hợp với nhu cầu hoặc lựa chọn ưu tiên của họ. Ví dụ: người dùng có khả năng di chuyển tay bị hạn chế có thể hưởng lợi từ các bố cục nút khác nhau hoặc các chế độ điều khiển đầu vào lớn hơn, đơn giản hơn.