Ievades sistēmas paketes ieviešana

Lapa atjaunota :
Lapas izveides datums :

Verifikācijas vide

Windows
  • Operētājsistēmā Windows 11
Vienotības redaktors
  • 2020.3.25f1

Par ievades sistēmas pakotni

Unity pirmsākumos mēs izmantojām ievades pārvaldnieku kā mehānismu, lai saņemtu informāciju no lietotājiem. Tomēr spēļu platformu dažādošanas vidē ievades pārvaldnieks ir novecojis. Ir pievienots jauns lietotāju ievades pārvaldības mehānisms: Input Systemu Manager.

No 2022. gada ir pieejama gan jaunā "Ievades sistēmas pakotne", gan "Ievades pārvaldnieks" saderībai. Ja jums ir vecs projekts, varat izmantot "Input Manager", kā tas ir, Es domāju, ka nākotnē tā pāries uz jaunu "ievades sistēmas paketi", tātad jaunā projektā Izmantojiet ievades sistēmas pakotni.

Šajā sadaļā ir aprakstīts, kā to iestatīt.

Ievades sistēmas pakotņu instalēšana

Sākot ar Unity Editor 2020.3.25f1, ievades sistēmas pakotnes tiek pārvaldītas kā pakotnes, kas sākotnēji nav instalētas. Lai instalētu pakotni:

Pēc projekta izveidošanas un Unity Editor palaišanas izvēlnē atlasiet Window > Package Manager.

Kad parādās ekrāns Package Manager, pakotnē atlasiet "Unity Registry".

Ja ritiniet uz leju sarakstu kreisajā pusē, ir "Ievades sistēma", tāpēc atlasiet to un noklikšķiniet uz pogas "Instalēt" apakšējā labajā stūrī.

Instalējot, tas tiks parādīts kā instalēts, tāpēc aizveriet dialogu.

Ja pēc pakotnes instalēšanas tiek parādīts šāds dialoglodziņš, noklikšķiniet uz pogas "Jā", lai automātiski konfigurētu nākamo "Aktivizēt ievades sistēmas pakotni". Šajā gadījumā Vienotības redaktors tiks restartēts.

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.

Aktivizējiet ievades sistēmas pakotni

Tā kā es tikko instalēju pakotni, man šobrīd ir aktīvs novecojis ievades pārvaldnieks. Pārslēdziet to uz ievades sistēmas pakotni.

Izvēlnē atlasiet Rediģēt > projekta iestatījumus.

Kad tiek atvērts dialoglodziņš Projekta iestatījumi, kreisās puses izvēlnē atlasiet Atskaņotājs.

Zemāk esošajā cilnē atlasiet Dators, Mac.... Atlasiet cilni Iestatījumi un apakšdaļā esošajā grupā izvērsiet Citi iestatījumi.

Ja zināmā mērā ritiniet uz leju, kategorijā "Iestatījumi" atradīsit vienumu ar nosaukumu "Izmantotā ievades apstrāde", kur varat izvēlēties "Ievades sistēmas pakotne (jauna)". Pagaidām jūs varat aktivizēt abus, bet tas ir mulsinoši, tāpēc jauna projekta gadījumā labāk ir izmantot tikai ievades sistēmas paketi.

Pēc izmaiņu veikšanas parādīsies šāds dialoglodziņš, tāpēc noklikšķiniet uz "Lietot", lai restartētu Unity Editor.

Tieši tā, jūs esat pabeidzis!

Par problēmu, kas saistīta ar nosaukumvietas "UnityEngine.InputSystem" izmantošanu koda ievadē, kā rezultātā rodas kļūda

Es šobrīd neesmu ievadījis kodu, tāpēc tā nebūs kļūda, Mēģinot to UnityEngine.InputSystem izmantot, ievadot kodu (piemēram, Visual Studio), var tikt parādīts kļūdas ziņojums, ka nosaukumvieta nepastāv.

Piemēram, ja izveidojat skriptu pirms "Ievades sistēmas pakotnes" instalēšanas.

Tas ir tāpēc, ka projektam UnityEngine.InputSystem nav atsauces uz . Lai to novērstu, rīkojieties šādi:

Izvēlnē atlasiet Rediģēt > Preferences.

Kreisās puses izvēlnē atlasiet Ārējie rīki un noklikšķiniet uz pogas Atjaunot projekta failus.

To darot, Visual Studio UnityEngine.InputSystem papildina atsauci.

Arī kods ir bez kļūdām.

Lietotāja ievades akceptēšanas maiņa lietotāja interfeisā uz ievades sistēmas pakotni

Šis lauks nav atbilstošs, ja neizmantojat Unity lietotāja interfeisu, piemēram, ievades laukus vai nolaižamās izvēlnes, un tas ir jāignorē.

Novietojot skatā ievades lauku, nolaižamo izvēlni vai tamlīdzīgi, automātiski tiek izveidots audekls un tur novietots UI objekts. Tajā pašā laikā tiek izveidots objekts ar nosaukumu "EventSystem". Šis ir objekts, kas pārvalda to, kas notiek, kad lietotāja saskarnē tiek veikta kāda ievade.

Šī notikumu sistēma sākotnēji darbojas ar vecāku ievades pārvaldnieku. Ja ir iespējota tikai ievades sistēmas pakotne, lietotāja interfeiss nedarbosies tā, kā tas ir, tāpēc jums ir jāmaina uz ievades sistēmas pakotni.

Lai veiktu izmaiņas, vispirms atlasiet EventSystem.

Pēc tam inspektora "Standalone Input Module" tiek parādīts brīdinājums.

Noklikšķiniet uz pogas Aizstāt ar ievades sistēmuUIInputModule, lai aizstātu savrupo ievades moduli ar ievades sistēmas UI ievades moduli.

Jūsu spēles lietotāja saskarnei tagad vajadzētu pareizi pieņemt ievadi.