Introduktion til inputsystempakken

Side opdateret :
Dato for oprettelse af side :

Miljø til bekræftelse

Windows
  • Windows 11
Enhedslistens redaktør
  • 2020.3.25f1

Om Input System Package

I de tidlige dage af Unity brugte vi Input Manager som en mekanisme til at modtage input fra brugere. Men i miljøet med diversificering af spilplatforme er inputmanageren blevet forældet. En ny mekanisme til styring af brugerinput er blevet tilføjet: Input Systemu Manager.

Fra 2022 er både den nye "Input System Package" og "Input Manager" for kompatibilitet tilgængelige. Hvis du har et gammelt projekt, kan du bruge "Input Manager" som det er, Jeg tror, at det vil overgå til en ny "input system pakke" i fremtiden, så i et nyt projekt Brug inputsystempakken.

Dette afsnit beskriver, hvordan du konfigurerer det.

Installation af inputsystempakker

Fra og med Unity Editor 2020.3.25f1 administreres inputsystempakker som pakker, der ikke oprindeligt er installeret. Sådan installeres pakken:

Når du har oprettet dit projekt og startet Unity Editor, skal du vælge Window > Package Manager i menuen.

Når skærmbilledet Package Manager vises, skal du vælge "Unity Registry" fra pakken.

Hvis du ruller ned på listen til venstre, er der "Input System", så vælg det og klik på knappen "Installer" nederst til højre.

Når den er installeret, vises den som installeret, så luk dialogen.

Hvis følgende dialog vises efter installation af pakken, skal du klikke på knappen "Ja" for automatisk at konfigurere den næste "Aktivér inputsystempakke". I dette tilfælde genstarter Unity Editor.

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.

Aktivér inputsystempakken

Siden jeg lige har installeret pakken, har jeg en forældet inputmanager aktiv i øjeblikket. Skift dette til inputsystempakken.

Vælg Rediger > Projektindstillinger i menuen.

Når dialogboksen Projektindstillinger åbnes, skal du vælge Player i menuen til venstre.

På fanen nedenfor skal du vælge PC, Mac.... Vælg fanen Indstillinger, og udvid Flere indstillinger i gruppen nederst.

Hvis du ruller ned til en vis grad, finder du et element kaldet "Inputbehandling i brug" i kategorien "Indstillinger", hvor du kan vælge "Input System Package (New)". Du kan aktivere begge for øjeblikket, men det er forvirrende, så i tilfælde af et nyt projekt er det bedre kun at bruge inputsystempakken.

Når du har foretaget ændringer, vises følgende dialog, så klik på "Anvend" for at genstarte Unity Editor.

Det er det, du er færdig!

Om problemet med at bruge navneområdet "UnityEngine.InputSystem" i kodeinput, hvilket resulterer i en fejl

Jeg har ikke indtastet koden i øjeblikket, så det vil ikke være en fejl, Du modtager muligvis en fejlmeddelelse om, at navneområdet ikke findes, når du forsøger at bruge det, når UnityEngine.InputSystem du indtaster kode (f.eks. Visual Studio).

For eksempel, hvis du opretter et script, før du installerer "Input System Package".

Dette skyldes, at projektet UnityEngine.InputSystem ikke har en henvisning til . Gør følgende for at løse dette:

Vælg Rediger > Indstillinger i menuen.

Vælg Eksterne værktøjer i menuen til venstre, og klik på knappen Regenerer projektfiler.

Ved at gøre dette føjer Visual Studio UnityEngine.InputSystem til referencen.

Koden er også fejlfri.

Ændre accepten af brugerinput i brugergrænsefladen til en inputsystempakke

Dette felt er ikke relevant, hvis du ikke bruger Unity-brugergrænsefladen, f.eks. inputfelter eller rullelister, og det skal ignoreres.

Når du placerer et inputfelt, en rullemenu osv. i en visning, oprettes der automatisk et lærred, og brugergrænsefladeobjektet placeres der. Samtidig oprettes et objekt kaldet "EventSystem". Dette er et objekt, der styrer, hvad der sker, når der udføres noget input i brugergrænsefladen.

Dette EventSystem kører i første omgang med en ældre input manager. Hvis kun inputsystempakken er aktiveret, fungerer brugergrænsefladen ikke, som den er, så du skal skifte til inputsystempakken.

Hvis du vil foretage ændringer, skal du først vælge EventSystem.

Derefter vises en advarsel i "Standalone Input Module" i inspektøren.

Klik på knappen Erstat med InputSystemUIInputModule for at erstatte det enkeltstående inputmodul med inputsystemets UI-inputmodul.

Brugergrænsefladen i dit spil bør nu acceptere input korrekt.