Giới thiệu gói hệ thống đầu vào

Trang Cập Nhật :
Ngày tạo trang :

Môi trường xác minh

Windows
  • cửa sổ 11
Biên tập viên Unity
  • 2020.3.25f1

Giới thiệu về gói hệ thống đầu vào

Trong những ngày đầu của Unity, chúng tôi đã sử dụng Trình quản lý đầu vào như một cơ chế để nhận đầu vào từ người dùng. Tuy nhiên, trong môi trường đa dạng hóa nền tảng trò chơi, trình quản lý đầu vào đã trở nên lỗi thời. Một cơ chế mới để quản lý đầu vào của người dùng đã được thêm vào: Trình quản lý hệ thống đầu vào.

Kể từ năm 2022, cả "Gói hệ thống đầu vào" mới và "Trình quản lý đầu vào" để tương thích đều có sẵn. Nếu bạn có một dự án cũ, bạn có thể sử dụng "Trình quản lý đầu vào" như hiện tại, Tôi nghĩ rằng nó sẽ chuyển sang một "gói hệ thống đầu vào" mới trong tương lai, vì vậy trong một dự án mới Sử dụng gói hệ thống đầu vào.

Phần này mô tả cách thiết lập.

Cài đặt gói hệ thống đầu vào

Kể từ Unity Editor 2020.3.25f1, các gói Hệ thống Đầu vào được quản lý dưới dạng các gói không được cài đặt ban đầu. Để cài đặt gói:

Sau khi tạo dự án của bạn và khởi chạy Unity Editor, hãy chọn Cửa sổ > Trình quản lý gói từ menu.

Khi mà Trình quản lý gói màn hình xuất hiện, chọn "Unity Registry" từ gói.

Nếu bạn cuộn xuống danh sách bên trái, có "Hệ thống đầu vào", vì vậy hãy chọn nó và nhấp vào nút "Cài đặt" ở dưới cùng bên phải.

Khi cài đặt, nó sẽ được hiển thị như đã cài đặt, vì vậy hãy đóng hộp thoại.

Nếu hộp thoại sau được hiển thị sau khi cài đặt gói, hãy nhấp vào nút "Có" để tự động định cấu hình "Kích hoạt gói hệ thống đầu vào" tiếp theo. Trong trường hợp này, Unity Editor sẽ khởi động lại.

This project is using the new input system package but the native platform backends for the new input system are not enabled in the player settngs. This means that no input from native devices will come through.

Do you want to enable the backends? Doing so *RESTART* the editor and will *DISABLE* the old UnityEngine.Input APIs.

Kích hoạt gói hệ thống đầu vào

Vì tôi vừa cài đặt gói, tôi có một trình quản lý đầu vào lỗi thời đang hoạt động vào lúc này. Chuyển điều này sang gói hệ thống đầu vào.

Chọn Chỉnh sửa cài đặt > dự án từ menu.

Khi hộp thoại Cài đặt dự án mở ra, hãy chọn Trình phát từ menu bên trái.

Trong tab nằm bên dưới, chọn PC, Mac.... Chọn tab Cài đặt và mở rộng Cài đặt khác trong nhóm ở dưới cùng.

Nếu bạn cuộn xuống một mức độ nào đó, bạn sẽ tìm thấy một mục có tên "Xử lý đầu vào đang sử dụng" trong danh mục "Cài đặt", nơi bạn có thể chọn "Gói hệ thống đầu vào (Mới)". Bạn có thể kích hoạt cả hai trong thời điểm hiện tại, nhưng nó gây nhầm lẫn, vì vậy trong trường hợp của một dự án mới, tốt hơn là chỉ sử dụng gói hệ thống đầu vào.

Sau khi thực hiện thay đổi, hộp thoại sau sẽ xuất hiện, vì vậy hãy nhấp vào "Áp dụng" để khởi động lại Unity Editor.

Vậy là xong, bạn đã hoàn tất!

Về sự cố sử dụng không gian tên "UnityEngine.InputSystem" trong đầu vào mã dẫn đến lỗi

Tôi chưa nhập mã vào lúc này, vì vậy nó sẽ không phải là lỗi, Bạn có thể nhận được lỗi không gian tên không tồn tại khi cố gắng sử dụng nó khi UnityEngine.InputSystem nhập mã (ví dụ: Visual Studio).

Ví dụ: nếu bạn tạo tập lệnh trước khi cài đặt "Gói hệ thống đầu vào".

Điều này là do dự án UnityEngine.InputSystem không có tham chiếu đến . Để giải quyết vấn đề này, hãy làm như sau:

Chọn Chỉnh sửa > Tùy chọn từ menu.

Chọn Công cụ bên ngoài từ menu bên trái và nhấp vào nút Tạo lại tệp dự án.

Bằng cách này, Visual Studio UnityEngine.InputSystem thêm vào tài liệu tham khảo.

Ngoài ra, mã không có lỗi.

Thay đổi việc chấp nhận đầu vào của người dùng trong giao diện người dùng thành gói hệ thống đầu vào

Trường này không liên quan nếu bạn không sử dụng giao diện người dùng Unity, chẳng hạn như trường nhập hoặc danh sách thả xuống và nên bỏ qua.

Khi bạn đặt trường đầu vào, danh sách thả xuống, v.v. trong chế độ xem, Canvas sẽ tự động được tạo và đối tượng UI được đặt ở đó. Đồng thời, một đối tượng có tên là "EventSystem" được tạo. Đây là một đối tượng quản lý những gì xảy ra khi một số đầu vào được thực hiện trong giao diện người dùng.

EventSystem này ban đầu đang chạy với trình quản lý đầu vào cũ hơn. Nếu chỉ bật gói hệ thống đầu vào, giao diện người dùng sẽ không hoạt động như hiện tại, vì vậy bạn cần thay đổi sang gói hệ thống đầu vào.

Để thực hiện thay đổi, trước tiên hãy chọn EventSystem.

Sau đó, một cảnh báo được hiển thị trong "Mô-đun đầu vào độc lập" trong trình kiểm tra.

Nhấn vào nút Thay thế bằng InputSystemUIInputModule để thay thế Mô-đun đầu vào độc lập bằng Mô-đun đầu vào giao diện người dùng hệ thống đầu vào.

Giao diện người dùng trên trò chơi của bạn bây giờ sẽ chấp nhận đầu vào chính xác.