Pristatome įvesties sistemos paketą

Puslapis atnaujintas :
Puslapio sukūrimo data :

Tikrinimo aplinka

Windows
  • Langai 11
"Unity" redaktorius
  • 2020.3.25f1

Apie įvesties sistemos paketą

Pirmosiomis "Unity" dienomis įvesties tvarkyklę naudojome kaip vartotojų įvesties gavimo mechanizmą. Tačiau žaidimų platformų įvairinimo aplinkoje įvesties tvarkyklė paseno. Pridėtas naujas vartotojo įvesties valdymo mechanizmas: Input Systemu Manager.

Nuo 2022 m. yra ir naujasis "Įvesties sistemos paketas", ir suderinamumui skirta "Įvesties tvarkyklė". Jei turite seną projektą, galite naudoti "Input Manager" tokį, koks jis yra, Manau, kad ateityje jis pereis prie naujo "įvesties sistemos paketo", taigi ir naujame projekte Naudokite įvesties sistemos paketą.

Šiame skyriuje aprašoma, kaip jį nustatyti.

Įvesties sistemos paketų diegimas

Nuo Unity Editor 2020.3.25f1 įvesties sistemos paketai valdomi kaip paketai, kurie iš pradžių nėra įdiegti. Norėdami įdiegti paketą:

Sukūrę projektą ir paleidę "Unity Editor", meniu pasirinkite "Window > Package Manager".

Kai pasirodys paketų tvarkyklės ekranas, pakete pasirinkite "Unity Registry".

Jei slinksite žemyn sąrašu kairėje, yra "Įvesties sistema", todėl pasirinkite jį ir spustelėkite mygtuką "Įdiegti" apatiniame dešiniajame kampe.

Įdiegus jis bus rodomas kaip įdiegtas, todėl uždarykite dialogo langą.

Jei įdiegus paketą rodomas šis dialogo langas, spustelėkite mygtuką "Taip", kad automatiškai sukonfigūruotumėte kitą "Suaktyvinti įvesties sistemos paketą". Tokiu atveju "Unity" redaktorius bus paleistas iš naujo.

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.

Suaktyvinkite įvesties sistemos paketą

Kadangi ką tik įdiegiau paketą, šiuo metu turiu pasenusią įvesties tvarkyklę. Perjunkite tai į įvesties sistemos paketą.

Pasirinkite Redaguoti > Projekto nustatymai iš meniu.

Kai atsidarys dialogo langas Projekto nustatymai, kairiajame meniu pasirinkite Grotuvas.

Žemiau esančiame skirtuke pasirinkite PC, Mac.... Pasirinkite skirtuką Nustatymai ir apačioje esančioje grupėje išplėskite Daugiau nustatymų.

Jei tam tikru mastu slinksite žemyn, kategorijoje "Nustatymai" rasite elementą pavadinimu "Naudojamas įvesties apdorojimas", kuriame galite pasirinkti "Įvesties sistemos paketas (naujas)". Kol kas galite suaktyvinti abu, tačiau tai yra painu, todėl naujo projekto atveju geriau naudoti tik įvesties sistemos paketą.

Atlikus pakeitimus, pasirodys šis dialogo langas, todėl spustelėkite "Taikyti", kad iš naujo paleistumėte "Unity" redaktorių.

Viskas, viskas!

Apie problemą, susijusią su "UnityEngine.InputSystem" vardų srities naudojimu kodo įvestyje, dėl kurios atsiranda klaida

Šiuo metu neįvedžiau kodo, todėl tai nebus klaida, Galite gauti klaidą, kad vardų sritis neegzistuoja, kai bandote ją naudoti įvesdami UnityEngine.InputSystem kodą (pvz., "Visual Studio").

Pavyzdžiui, jei sukuriate scenarijų prieš diegdami "Įvesties sistemos paketą".

Taip yra todėl, kad projekte UnityEngine.InputSystem nėra nuorodos į . Norėdami išspręsti šią problemą, atlikite šiuos veiksmus:

Meniu pasirinkite Redaguoti > Nuostatos.

pasirinkti Išoriniai įrankiai iš meniu kairėje ir spustelėkite Atkurkite projekto failus mygtuką.

Tai darydama "Visual Studio" UnityEngine.InputSystem papildo nuorodą.

Be to, kodas yra be klaidų.

Pakeiskite vartotojo įvesties priėmimą vartotojo sąsajoje į įvesties sistemos paketą

Šis laukas neaktualus, jei nenaudojate "Unity" vartotojo sąsajos, pvz., įvesties laukų arba išskleidžiamųjų meniu, ir jo reikėtų nepaisyti.

Kai į rodinį įdedate įvesties lauką, išskleidžiamąjį meniu ar pan., automatiškai sukuriama drobė ir ten įdedamas vartotojo sąsajos objektas. Tuo pačiu metu sukuriamas objektas, vadinamas "EventSystem". Tai objektas, kuris valdo, kas nutinka, kai vartotojo sąsajoje atliekama tam tikra įvestis.

Ši "EventSystem" iš pradžių veikia su senesne įvesties tvarkykle. Jei įjungtas tik įvesties sistemos paketas, vartotojo sąsaja neveiks taip, kaip yra, todėl turite pakeisti į įvesties sistemos paketą.

Norėdami atlikti pakeitimus, pirmiausia pasirinkite EventSystem.

Tada inspektoriaus "Autonominiame įvesties modulyje" rodomas įspėjimas.

Spustelėkite mygtuką Pakeisti InputSystemUIInputModule, kad pakeistumėte atskirą įvesties modulį įvesties sistemos vartotojo sąsajos įvesties moduliu.

Jūsų žaidimo vartotojo sąsaja dabar turėtų tinkamai priimti įvestį.