Thiết kế và triển khai tính năng theo dõi tay trong Trí tuệ dữ liệu PlatoBlockchain 'Bí ẩn'. Tìm kiếm dọc. Ái.

Thiết kế và triển khai tính năng theo dõi bàn tay trong 'Myst'

Sử dụng API theo dõi tay được nâng cấp của Nền tảng hiện diện, chúng tôi đã giới thiệu tính năng Theo dõi bàn tay với bản cập nhật gần đây nhất của chúng tôi cho Myst trên Nền tảng Nhiệm vụ Meta, có tiêu đề 'Tay và hơn thế nữa'. Chúng tôi rất vui mừng vì cuối cùng đã cho phép mọi người chơi Myst trên Quest mà không cần bộ điều khiển vật lý! Trong bài đăng này, chúng ta sẽ thảo luận về sự phát triển và lặp lại của việc triển khai theo dõi bàn tay trong Myst—Và đặc biệt, bổ sung thêm hỗ trợ cho nó trong Unreal Engine 4.27.2.

Thiết kế và triển khai tính năng theo dõi tay trong Trí tuệ dữ liệu PlatoBlockchain 'Bí ẩn'. Tìm kiếm dọc. Ái.Bài viết của khách bởi Hannah Gamiel

Hannah Gamiel là Giám đốc phát triển tại Cyan— Studio đằng sau bản gốc 'Myst ' trò chơi — và giúp phát triển 'Myst (2020)'bao gồm hỗ trợ VR. Ban đầu xuất thân từ một nền tảng kỹ thuật thuần túy, giờ đây cô ấy giúp lãnh đạo sản xuất tất cả các tựa game và quản lý các nỗ lực kinh doanh & công nghệ tại Cyan. Cô ấy đã làm việc với các tựa phim như 'Myst' (2020), 'The Witness', 'Braid, Anniversary Edition', 'Obduction', 'Firmament' (sắp ra mắt!), V.v.

Giai đoạn Thiết kế & Cân nhắc

Thiết kế điều hướng để theo dõi tay

Hình ảnh chỉ ra nơi bạn muốn đến. Bạn có thể nghĩ đến việc chỉ tay, phải không? Đó là lý do tại sao chúng tôi chọn sử dụng phương pháp 'trỏ' để di chuyển trong Myst.

Khi bạn đang ở chế độ dịch chuyển, bạn có thể chỉ đến nơi bạn muốn đến và vòng dịch chuyển xuất hiện ở điểm đến của bạn. Khi bạn 'bỏ trỏ' (bằng cách mở rộng phần còn lại của các ngón tay hoặc đơn giản là kéo ngón tay trỏ lại vào lòng bàn tay), dịch chuyển sẽ được thực hiện.

Khi bạn đang ở chế độ chuyển động trơn tru, trỏ bằng tay thuận di chuyển tự do của bạn (có thể được định cấu hình trong cài đặt điều khiển của chúng tôi, nhưng là Tay trái theo mặc định) sẽ bắt đầu di chuyển bạn một cách trơn tru theo hướng bạn đang chỉ.

Khi nghịch chuyển chuyển động bằng cách chỉ tay, chúng tôi nhận thấy rằng việc theo dõi bàn tay đôi khi có thể không đáng tin cậy bằng ngón trỏ và ngón giữa của bạn khi nó bị phần còn lại của bàn tay bạn che mất. Hệ thống không chắc liệu những ngón tay đó có trỏ hoàn toàn hay hoàn toàn 'nằm gọn trong tay bạn. Chúng tôi đã thêm một chút yếu tố 'fudge' vào mã để giải thích cho việc bắt đầu / thực thi chuyển động ổn định hơn trên mặt trận này — mà chúng tôi sẽ đi vào một chút sau khi chúng tôi thảo luận về những thay đổi được thực hiện đối với Theo dõi tay xuất hiện hỗ trợ trong Unreal Engine.

Quay

Phương pháp 'điểm' không hoạt động cho tất cả các cách sử dụng điều hướng. Khi nói đến quay, ban đầu chúng tôi kết hợp trỏ với xoay cổ tay. So sánh cổ tay của người chơi và vectơ chuyển tiếp của máy ảnh sẽ cho biết hướng rẽ (và độ lớn của ngã rẽ).

Tuy nhiên, các biến chứng đã phát sinh trong các bài kiểm tra tiện nghi. Trong chơi bóng, hầu hết người chơi sẽ hướng về phía trước với lòng bàn tay hướng xuống đất, như một người có thể sẽ làm như vậy khi cố gắng chỉ vào một thứ gì đó bên ngoài trò chơi. Xoay cổ tay của bạn sang trái và phải (xung quanh trục lên của cổ tay) trong khi lòng bàn tay hướng xuống đất là một thách thức và có phạm vi chuyển động rất hạn chế, đặc biệt nếu bạn cố gắng quay ra khỏi ngực.

Vấn đề này cũng giống như vậy ngay cả khi bạn yêu cầu một người chơi chỉ vào vật gì đó trước mặt họ với lòng bàn tay hướng vào trong. Bạn có thể uốn cong cổ tay của bạn trong đối với cơ thể của bạn một chút, nhưng bạn sẽ không nhận được cùng một phạm vi chuyển động khi bẻ cổ tay ra khỏi cơ thể.

Vậy chúng ta đã giải quyết điều này như thế nào? Chúng tôi đã kết thúc việc chuyển sang cử chỉ 'giơ ngón tay cái' thay vì cử chỉ trỏ ngón tay.

Hãy tưởng tượng bạn đang giơ ngón tay cái lên. Bây giờ xoay cổ tay của bạn sang phải và trái. Lưu ý rằng mặc dù bạn không có phạm vi chuyển động lớn, nó vẫn khá nhất quán khi trỏ 'trái' và 'phải' bằng ngón tay cái của bạn trong cử chỉ này.

Đây là những gì chúng tôi đã giải quyết để bật chế độ theo dõi tay. Mặc dù chỉ tay bằng ngón tay cái của bạn có vẻ không phải là cách trực quan nhất để quay lại, nhưng đã làm kết thúc là cách thoải mái và nhất quán nhất để làm như vậy.

Với tính năng xoay nhanh, xoay cổ tay của bạn sang trái hoặc phải từ vị trí không thích sẽ bắt đầu một lượt xoay. Sau đó, bạn phải đưa tay trở lại vị trí 'trung tâm' (hướng thẳng lên) để đặt lại snap và thêm vào đó, đợi thời gian hồi chiêu rất ngắn xảy ra để bắt đầu lại snap.

Với khả năng quay mượt mà, xoay cổ tay của bạn khi đang ở tư thế giơ ngón tay cái lên sẽ bắt đầu xoay bạn sang trái hoặc phải — khi bạn rời khỏi 'vùng chết' ngăn không cho quay đầu cho đến khi bạn vượt qua ngưỡng.

Xử lý xung đột giữa tư thế chuyển động và tương tác đối tượng

Tất nhiên, chỉ tay là một cử chỉ quá rộng để được cho là chỉ được sử dụng để điều hướng. Mọi người sẽ thực hiện cùng một cử chỉ trỏ để nhấn các nút hoặc tương tác với những thứ khác trên thế giới chỉ vì thói quen hoặc mong đợi của riêng họ. Sẽ khá chói tai nếu đi bộ đến (nhưng không ngay lên đến) một nút, trỏ ngón tay của bạn để nhấn vào nút đó, rồi đột nhiên (và không chủ ý) di chuyển đến gần nút đó trong trò chơi (hoặc bắt đầu dịch chuyển không chủ ý)!

Cách chúng tôi ngăn không cho chuyển động xảy ra trong khi người chơi có thể tương tác với thứ gì đó là ngăn không cho bất kỳ mã chuyển động nào phát ra khi tay thực hiện cử chỉ 'di chuyển' nằm trong một phạm vi nhất định của đối tượng có thể tương tác. Phạm vi này đã được điều chỉnh nhiều lần để đạt được 'điểm ngọt ngào' tốt dựa trên cách chơi.

Chúng tôi nhận thấy rằng điểm ngọt ngào này cách vị trí trong không gian thế giới của xương đầu ngón trỏ khoảng 25 cm. Myst chứa đầy các đối tượng tương tác với nhiều kích cỡ khác nhau (mọi thứ từ các nút nhỏ đến đòn bẩy rất lớn) được bố trí ở cả không gian rộng rãi và hành lang hẹp, vì vậy chúng tôi đã phải mất khá nhiều thử nghiệm để giải quyết con số này. Ban đầu, chúng tôi đã thử 60 cm (khoảng hai feet), nhưng điều đó đã ngăn chuyển động xảy ra khi người chơi vẫn cần đến gần một vật thể hơn. Tương tự như vậy, bất kỳ vật gì dưới 25 cm gây ra chuyển động không mong muốn của người chơi sẽ kích hoạt khi người chơi cố gắng lấy hoặc chạm vào một vật thể.

Một trong những khu vực thử nghiệm tốt nhất của chúng tôi là phòng máy phát điện trên Đảo Myst, nơi bạn đi qua một lối vào hẹp và sau đó ngay lập tức được chào đón bởi một bảng điều khiển đầy các nút. Khi khu vực thử nghiệm tương tác quá lớn, người chơi không thể di chuyển qua mục nhập và về phía bảng điều khiển vì nó phát hiện các nút trong phạm vi của ngón trỏ.

Điều đó nói rằng, 25 cm là những gì hoạt động cụ thể cho Myst. Các trò chơi khác có thể cần điều chỉnh con số này nếu họ muốn triển khai điều gì đó tương tự, có lưu ý đến tiêu chí của riêng họ.

Thiết kế tương tác đối tượng để theo dõi tay

Ngay bây giờ, tất cả các tương tác có thể lấy trong Myst được xây dựng để hoạt động với tính năng theo dõi bằng tay — vặn van, mở cửa, nhấn nút, lật trang sách, v.v.

Các tương tác dựa trên những gì chúng tôi đã thiết lập Myst với bộ điều khiển cảm ứng. Ở đó, nhấn nút nắm tay sẽ tự động kết hợp biểu diễn lưới trong trò chơi của bàn tay bạn thành tư thế 'nắm lấy', đặt tay bạn thành nắm đấm (nếu trống) hoặc nắm lấy một vật thể. Với tính năng theo dõi bàn tay, chúng tôi đã thêm mã sẽ đưa ra một phỏng đoán đủ điều kiện về thời điểm bạn cuộn ngón tay đủ để 'nắm lấy' thứ gì đó và bắt đầu logic tương tự như đã đề cập trước đây.

Ví dụ: khi bạn đang sử dụng tính năng theo dõi bàn tay và bàn tay của bạn di chuột qua thứ gì đó có thể nắm được, màu sắc bàn tay của bạn sẽ chuyển sang màu cam (đây chính xác là những gì sẽ xảy ra khi bạn không sử dụng tính năng theo dõi bàn tay trong Myst VR). Khi bạn nắm lấy một đối tượng có thể tương tác bằng cách bắt đầu cuộn các ngón tay lại thành nắm đấm, một quả cầu màu cam sẽ thay thế lưới tay của bạn và thể hiện vị trí bàn tay được gắn vào đối tượng.

Lý do tại sao chúng tôi sử dụng phương pháp này thay vì tạo các mắt lưới có thể đặt tùy chỉnh cho bàn tay của bạn — hoặc cho phép bàn tay / ngón tay của bạn có vẻ tương tác vật lý với các phần của các đối tượng này — là vì chúng tôi muốn các tương tác ngang bằng với những gì chúng tôi cung cấp trên phía bộ điều khiển cảm ứng hiện tại.

Mặc dù vậy, các nút nhấn hoạt động khác nhau. Không cần trừu tượng vì các nút không phải là đối tượng có thể lấy được và thay vào đó, chúng tôi cho phép bạn chỉ cần nhấn một nút bằng cách sử dụng máy va chạm viên nang được tạo giữa mỗi khớp ngón tay trên lưới tay có thể định vị. Bạn có thể làm tất cả những điều kỳ lạ và thú vị vì điều này — chẳng hạn như chỉ sử dụng ngón út hoặc đốt ngón tay đeo nhẫn của bạn để tương tác với mọi nút trong trò chơi, nếu bạn thực sự muốn.

Cách triển khai này hơi khác so với cách Bộ điều khiển cảm ứng tương tác với các nút trong trò chơi ở chỗ chúng tôi thường mong đợi người chơi sử dụng nút cầm trên bộ điều khiển của họ để đặt bàn tay thành lưới 'ngón tay trỏ' được định vị để có được nút trong trò chơi chính xác nhấn vào cuối của họ. Với tính năng theo dõi bàn tay, rõ ràng là có sự linh hoạt hơn đáng kể trong tư thế bạn có thể tạo bằng tay và do đó có nhiều cách hơn đáng kể để nhấn các nút với cùng mức độ chính xác.

Menu / Tương tác giao diện người dùng

Để tương tác với các menu, chúng tôi đã kết thúc với cùng một mô hình tương tác mà Meta sử dụng cho Nền tảng nhiệm vụ: chụm hai ngón tay giữa ngón cái và ngón trỏ ở một trong hai bàn tay. Điều này có thể được sử dụng cả để mở menu trong trò chơi của chúng tôi và tương tác với các phần tử trong menu. Không có ý nghĩa gì trong việc phát minh lại bánh xe ở đây khi người chơi đã được dạy làm điều này trong menu cấp hệ điều hành khi họ bật tính năng theo dõi tay lần đầu trên Quest!

Thông báo tất cả những điều này với người chơi

Bởi vì theo dõi bàn tay không phải là một đầu vào phổ biến trong Nhiệm vụ như Bộ điều khiển cảm ứng và vì có thể có một số người đang chơi Myst lần đầu tiên (hoặc thậm chí chơi trò chơi VR đầu tiên của họ!), chúng tôi đã cố gắng xem xét cách chúng tôi truyền đạt tất cả thông tin này về theo dõi bàn tay cho người chơi. Chúng tôi đảm bảo bao gồm một phiên bản khác của “sơ đồ bộ điều khiển” được điều chỉnh riêng để mô tả các tương tác theo dõi bàn tay (khi được bật trong Myst), và chúng tôi hiển thị cho người chơi các thông báo chuyên biệt cho người chơi biết chính xác cách di chuyển bằng tay.

Ngoài ra, chúng tôi nghĩ rằng điều quan trọng là phải nhắc nhở người chơi cách có trải nghiệm theo dõi bàn tay mượt mà, sau khi được bật. Người chơi được thông báo trong MystMenu của tính năng theo dõi tay ổn định sẽ tốt hơn nhiều nếu họ đảm bảo rằng họ đang ở trong một căn phòng đủ ánh sáng và để tay trong tầm nhìn của họ.

Meta cũng thông báo cho người chơi rằng đây là chìa khóa cho một môi trường theo dõi bàn tay được theo dõi tốt, nhưng chúng tôi nhận thấy rằng một số người chơi có thể nhảy vào trò chơi mà không phân tích cú pháp thông báo của Meta về điều này trước, vì vậy chúng tôi đã chọn nhắc nhở mọi người trong trường hợp họ quên.

Tiếp tục ở Trang 2: Các sửa đổi động cơ được thực hiện bằng cách không có thật »

Dấu thời gian:

Thêm từ Đường đến VR