Memperkenalkan Paket Sistem Input

Halaman Diperbarui :
Tanggal pembuatan halaman :

Lingkungan verifikasi

Windows
  • jendela 11
Editor Kesatuan
  • 25f1/3/2020

Tentang Paket Sistem Input

Pada hari-hari awal Unity, kami menggunakan Manajer Input sebagai mekanisme untuk menerima input dari pengguna. Namun, dalam lingkungan diversifikasi platform game, manajer input telah menjadi usang. Mekanisme baru untuk mengelola input pengguna telah ditambahkan: Input Systemu Manager.

Pada tahun 2022, "Paket Sistem Input" dan "Manajer Input" baru untuk kompatibilitas tersedia. Jika Anda memiliki proyek lama, Anda dapat menggunakan "Manajer Input" apa adanya, Saya pikir itu akan beralih ke "paket sistem input" baru di masa depan, jadi dalam proyek baru Gunakan Paket Sistem Input.

Bagian ini menjelaskan cara menyiapkannya.

Menginstal Paket Sistem Input

Pada Unity Editor 2020.3.25f1, paket Sistem Input dikelola sebagai paket yang awalnya tidak diinstal. Untuk menginstal paket:

Setelah membuat proyek Anda dan meluncurkan Editor Unity, pilih Window > Package Manager dari menu.

Ketika layar Manajer Paket muncul, pilih "Registri Unity" dari paket.

Jika Anda menggulir ke bawah daftar di sebelah kiri, ada "Sistem Input", jadi pilih dan klik tombol "Instal" di kanan bawah.

Ketika diinstal, itu akan ditampilkan sebagai diinstal, jadi tutup dialog.

Jika dialog berikut ditampilkan setelah menginstal paket, klik tombol "Ya" untuk secara otomatis mengkonfigurasi "Aktifkan paket sistem input" berikutnya. Dalam hal ini, Editor Unity akan dimulai ulang.

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.

Aktifkan paket sistem input

Karena saya baru saja menginstal paket, saya memiliki manajer input usang yang aktif saat ini. Alihkan ini ke paket sistem input.

Pilih Edit > Pengaturan Proyek dari menu.

Saat dialog Pengaturan Proyek terbuka, pilih Pemain dari menu sebelah kiri.

Pada tab yang terletak di bawah, pilih PC, Mac.... Pilih tab Setelan dan luaskan Setelan Lainnya di grup di bagian bawah.

Jika Anda menggulir ke bawah sampai batas tertentu, Anda akan menemukan item yang disebut "Pemrosesan input sedang digunakan" di kategori "Pengaturan", di mana Anda dapat memilih "Paket Sistem Input (Baru)". Anda dapat mengaktifkan keduanya untuk saat ini, tetapi membingungkan, jadi dalam kasus proyek baru, lebih baik hanya menggunakan paket sistem input.

Setelah melakukan perubahan, dialog berikut akan muncul, jadi klik "Terapkan" untuk memulai kembali Editor Unity.

Itu saja, Anda sudah selesai!

Tentang masalah penggunaan namespace "UnityEngine.InputSystem" dalam input kode yang mengakibatkan kesalahan

Saya belum memasukkan kode saat ini, jadi itu tidak akan menjadi kesalahan, Anda mungkin menerima galat bahwa namespace layanan tidak ada saat mencoba menggunakannya saat UnityEngine.InputSystem memasukkan kode (misalnya, Visual Studio).

Misalnya, jika Anda membuat skrip sebelum menginstal "Paket Sistem Input".

Ini karena proyek UnityEngine.InputSystem tidak memiliki referensi ke . Untuk mengatasi ini, lakukan hal berikut:

Pilih Edit > Preferensi dari menu.

Pilih Alat Eksternal dari menu di sebelah kiri dan klik tombol Regenerasi file proyek.

Dengan melakukan ini, Visual Studio UnityEngine.InputSystem menambah referensi.

Selain itu, kode ini bebas dari kesalahan.

Mengubah penerimaan input pengguna di UI menjadi paket sistem input

Bidang ini tidak relevan jika Anda tidak menggunakan UI Unity, seperti bidang input atau dropdown, dan harus diabaikan.

Saat Anda menempatkan bidang input, dropdown, atau sebagainya dalam tampilan, Canvas dibuat secara otomatis dan objek UI ditempatkan di sana. Pada saat yang sama, sebuah objek yang disebut "EventSystem" dibuat. Ini adalah objek yang mengelola apa yang terjadi ketika beberapa input dilakukan di UI.

EventSystem ini awalnya berjalan dengan manajer input yang lebih lama. Jika hanya paket sistem input yang diaktifkan, UI tidak akan berfungsi sebagaimana adanya, jadi Anda perlu mengubah ke paket sistem input.

Untuk membuat perubahan, pertama-tama pilih EventSystem.

Kemudian peringatan ditampilkan di "Modul Input Mandiri" di inspektur.

Klik tombol Ganti dengan InputSystemUIInputModule untuk mengganti Modul Input Mandiri dengan Modul Input UI Sistem Input.

UI pada game Anda sekarang harus menerima input dengan benar.