Vi presenterar Input System-paketet

Sidan uppdaterad :
Datum för skapande av sida :

Verifiering miljö

Windows
  • Fönster 11
Unity-redaktör
  • 2020.3.25F1

Om Input System Package

I början av Unity använde vi Input Manager som en mekanism för att ta emot input från användare. Men i miljön för att diversifiera spelplattformar har inmatningshanteraren blivit föråldrad. En ny mekanism för hantering av användarinmatning har lagts till: Input Systemu Manager.

Från och med 2022 finns både det nya "Input System Package" och "Input Manager" för kompatibilitet tillgängliga. Om du har ett gammalt projekt kan du använda "Input Manager" som det är, Jag tror att det kommer att övergå till ett nytt "inmatningssystempaket" i framtiden, så i ett nytt projekt Använd inmatningssystempaket.

I det här avsnittet beskrivs hur du ställer in det.

Installera inmatningssystempaket

Från och med Unity Editor 2020.3.25f1 hanteras Input System-paket som paket som inte är installerade från början. Så här installerar du paketet:

När du har skapat projektet och startat Unity-redigeraren väljer du Fönster > Package Manager på menyn.

När skärmen Package Manager visas väljer du "Unity Registry" från paketet.

Om du rullar ner i listan till vänster finns det "Inmatningssystem", så välj det och klicka på "Installera" -knappen längst ner till höger.

När den är installerad visas den som installerad, så stäng dialogrutan.

Om följande dialogruta visas efter installationen av paketet klickar du på "Ja" -knappen för att automatiskt konfigurera nästa "Aktivera inmatningssystempaket". I det här fallet startas Unity-redigeraren om.

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.

Aktivera inmatningssystempaketet

Eftersom jag just installerat paketet har jag en föråldrad inmatningshanterare aktiv just nu. Byt detta till inmatningssystempaketet.

Välj Redigera > projektinställningar på menyn.

När dialogrutan Projektinställningar öppnas väljer du Spelare på menyn till vänster.

På fliken nedan väljer du PC, Mac.... Välj fliken Inställningar och expandera Fler inställningar i gruppen längst ned.

Om du rullar ner till viss del hittar du ett objekt som heter "Inmatningsbehandling som används" i kategorin "Inställningar", där du kan välja "Inmatningssystempaket (nytt)". Du kan aktivera båda för tillfället, men det är förvirrande, så när det gäller ett nytt projekt är det bättre att bara använda inmatningssystempaketet.

Efter att ha gjort ändringar visas följande dialogruta, så klicka på "Apply" för att starta om Unity Editor.

Det är det, du är klar!

Om problemet med att använda namnområdet "UnityEngine.InputSystem" i kodinmatning som resulterar i ett fel

Jag har inte angett koden just nu, så det kommer inte att vara ett fel, Du kan få ett felmeddelande om att namnområdet inte finns när du försöker använda det när UnityEngine.InputSystem du anger kod (till exempel Visual Studio).

Om du till exempel skapar ett skript innan du installerar "Input System Package".

Detta beror på att projektet UnityEngine.InputSystem inte har någon referens till . Lös problemet genom att göra följande:

Välj Redigera > Inställningar på menyn.

Välj Externa verktyg på menyn till vänster och klicka på knappen Återskapa projektfiler.

Genom att göra detta lägger Visual Studio UnityEngine.InputSystem till referensen.

Koden är också felfri.

Ändra acceptansen av användarindata i användargränssnittet till ett indatasystempaket

Det här fältet är inte relevant om du inte använder Unity-användargränssnittet, till exempel indatafält eller listrutor, och bör ignoreras.

När du placerar ett inmatningsfält, en listruta eller så vidare i en vy skapas automatiskt en arbetsyta och gränssnittsobjektet placeras där. Samtidigt skapas ett objekt som heter "EventSystem". Det här är ett objekt som hanterar vad som händer när vissa indata görs i användargränssnittet.

Detta EventSystem körs initialt med en äldre inmatningshanterare. Om endast inmatningssystempaketet är aktiverat fungerar inte användargränssnittet som det är, så du måste byta till inmatningssystempaketet.

Om du vill göra ändringar väljer du först EventSystem.

Då visas en varning i "Standalone Input Module" i inspektören.

Klicka på knappen Ersätt med InputSystemUIInputModule för att ersätta den fristående indatamodulen med inmatningssystemets UI-inmatningsmodul.

Användargränssnittet i ditt spel bör nu acceptera indata korrekt.