Memperkenalkan Pakej Sistem Input

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran pengesahan

Windows
  • Windows 11
Penyunting Perpaduan
  • 2020.3.25f1

Perihal Pakej Sistem Input

Pada zaman awal Perpaduan, kami menggunakan Pengurus Input sebagai mekanisme untuk menerima input daripada pengguna. Walau bagaimanapun, dalam persekitaran mempelbagaikan platform permainan, pengurus input telah menjadi ketinggalan zaman. Mekanisme baru untuk menguruskan input pengguna telah ditambah: Pengurus Sistem Input.

Sehingga 2022, kedua-dua "Pakej Sistem Input" dan "Pengurus Input" baharu untuk keserasian boleh didapati. Jika anda mempunyai projek lama, anda boleh menggunakan "Pengurus Input" seperti sedia ada, Saya fikir ia akan beralih kepada "pakej sistem input" baru pada masa akan datang, jadi dalam projek baru Gunakan Pakej Sistem Input.

Bahagian ini menerangkan cara menyediakannya.

Memasang Pakej Sistem Input

Sehingga Editor Perpaduan 2020.3.25f1, pakej Sistem Input diuruskan sebagai pakej yang tidak dipasang pada mulanya. Untuk memasang pakej:

Selepas membuat projek anda dan melancarkan Editor Perpaduan, pilih Pengurus Pakej > Tetingkap dari menu.

Apabila skrin Pengurus Pakej muncul, pilih "Pendaftaran Perpaduan" dari pakej.

Jika anda menatal ke bawah senarai di sebelah kiri, terdapat "Sistem Input", jadi pilih dan klik butang "Pasang" di bahagian bawah kanan.

Apabila dipasang, ia akan dipaparkan sebagai dipasang, jadi tutup dialog.

Jika dialog berikut dipaparkan selepas memasang pakej, klik butang "Ya" untuk mengkonfigurasi secara automatik "Aktifkan pakej sistem input" seterusnya. Dalam kes ini, Editor Perpaduan akan dimulakan semula.

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 pakej sistem input

Oleh kerana saya baru memasang pakej, saya mempunyai pengurus input ketinggalan zaman yang aktif pada masa ini. Tukar ini kepada pakej sistem input.

Pilih Edit > Seting Projek daripada menu.

Apabila dialog Seting Projek terbuka, pilih Pemain daripada menu kiri.

Dalam tab yang terletak di bawah, pilih PC, Mac.... Pilih tab Seting dan kembangkan Seting Lain dalam kumpulan di bahagian bawah.

Jika anda menatal ke bawah sedikit sebanyak, anda akan menemui item yang dipanggil "Pemprosesan input yang digunakan" dalam kategori "Tetapan", di mana anda boleh memilih "Pakej Sistem Input (Baru)". Anda boleh mengaktifkan kedua-duanya buat masa ini, tetapi ia mengelirukan, jadi dalam hal projek baru, lebih baik menggunakan hanya pakej sistem input.

Selepas membuat perubahan, dialog berikut akan muncul, jadi klik "Terapkan" untuk memulakan semula Editor Perpaduan.

Itu sahaja, anda sudah selesai!

Mengenai masalah menggunakan ruang nama "UnityEngine.InputSystem" dalam input kod yang mengakibatkan ralat

Saya belum memasukkan kod pada masa ini, jadi ia tidak akan menjadi ralat, Anda mungkin menerima ralat bahawa ruang nama tidak wujud apabila cuba menggunakannya semasa UnityEngine.InputSystem memasukkan kod (contohnya, Visual Studio).

Sebagai contoh, jika anda membuat skrip sebelum memasang "Pakej Sistem Input".

Ini kerana projek UnityEngine.InputSystem itu tidak mempunyai rujukan kepada . Untuk menyelesaikan masalah ini, lakukan perkara berikut:

Pilih Edit Keutamaan > daripada menu.

Pilih Alat Luaran daripada menu di sebelah kiri dan klik butang Jana semula fail projek.

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

Juga, kod itu bebas ralat.

Mengubah penerimaan input pengguna dalam UI kepada pakej sistem input

Medan ini tidak relevan jika anda tidak menggunakan UI Perpaduan, seperti medan input atau juntai bawah, dan harus diabaikan.

Apabila anda meletakkan medan input, juntai bawah atau sebagainya dalam pandangan, kanvas dicipta secara automatik dan objek UI diletakkan di sana. Pada masa yang sama, objek yang dipanggil "EventSystem" dicipta. Ini ialah objek yang menguruskan perkara yang berlaku apabila sesetengah input dilakukan dalam UI.

EventSystem ini pada mulanya dijalankan dengan pengurus input yang lebih lama. Jika hanya pakej sistem input didayakan, UI tidak akan berfungsi seperti sedia ada, jadi anda perlu menukar kepada pakej sistem input.

Untuk membuat perubahan, mula-mula pilih EventSystem.

Kemudian amaran dipaparkan dalam "Modul Input Kendiri" dalam pemeriksa.

Klik butang Ganti dengan InputSystemUIInputModule untuk menggantikan Modul Input Kendiri dengan Modul Input UI Sistem Input.

UI pada permainan anda kini harus menerima input dengan betul.