Bemutatjuk a beviteli rendszer csomagot

Oldal frissítve :
Oldal létrehozásának dátuma :

Ellenőrzési környezet

Windows
  • Windows 11 esetén
Unity-szerkesztő
  • 2020.3.25f1

A bemeneti rendszercsomagról

A Unity korai napjaiban a bevitelkezelőt használtuk a felhasználók bemeneteinek fogadására szolgáló mechanizmusként. A játékplatformok diverzifikálásának környezetében azonban a bemeneti menedzser elavult. A felhasználói bevitel kezelésére szolgáló új mechanizmus került hozzáadásra: Input Systemu Manager.

2022-től mind az új "Input System Package", mind az "Input Manager" kompatibilitás érdekében elérhető. Ha van egy régi projektje, használhatja az "Input Manager" -t, ahogy van, Úgy gondolom, hogy a jövőben egy új "bemeneti rendszercsomagra" fog áttérni, tehát egy új projektben Használja a bemeneti rendszercsomagot.

Ez a szakasz a beállítását ismerteti.

Bemeneti rendszercsomagok telepítése

A Unity Editor 2020.3.25f1-től kezdve a bemeneti rendszercsomagok kezelése kezdetben nem telepített csomagokként történik. A csomag telepítése:

A projekt létrehozása és a Unity-szerkesztő elindítása után válassza a Window > Package Manager lehetőséget a menüből.

Amikor megjelenik a Csomagkezelő képernyő, válassza a "Unity Registry" lehetőséget a csomagból.

Ha lefelé görgeti a bal oldali listát, ott van a "Beviteli rendszer", ezért válassza ki, majd kattintson a jobb alsó sarokban található "Telepítés" gombra.

Ha telepítve van, akkor telepítettként jelenik meg, ezért zárja be a párbeszédpanelt.

Ha a csomag telepítése után a következő párbeszédpanel jelenik meg, kattintson az "Igen" gombra a következő "Bemeneti rendszercsomag aktiválása" automatikus konfigurálásához. Ebben az esetben a Unity-szerkesztő újraindul.

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.

A beviteli rendszercsomag aktiválása

Mivel most telepítettem a csomagot, jelenleg egy elavult bevitelkezelő van aktív. Kapcsolja át ezt a bemeneti rendszercsomagra.

Válassza az Edit > Project Settings (Projektbeállítások szerkesztése) lehetőséget a menüből.

Amikor megnyílik a Project Settings (Projektbeállítások) párbeszédpanel, válassza a Player lehetőséget a bal oldali menüből.

Az alábbi lapon válassza a PC, Mac.... Válassza a Beállítások lapot, és bontsa ki a További beállítások elemet az alsó csoportban.

Ha bizonyos mértékig lefelé görget, a "Beállítások" kategóriában talál egy "Bemeneti feldolgozás használatban" nevű elemet, ahol kiválaszthatja a "Bemeneti rendszercsomag (új)" lehetőséget. Egyelőre mindkettőt aktiválhatja, de ez zavaró, ezért új projekt esetén jobb, ha csak a bemeneti rendszercsomagot használja.

A módosítások elvégzése után a következő párbeszédpanel jelenik meg, ezért kattintson az "Alkalmaz" gombra az Unity-szerkesztő újraindításához.

Ez az, kész!

A "UnityEngine.InputSystem" névtér kódbevitelben való használatának hibáját okozó probléma

Jelenleg nem adtam meg a kódot, így nem lesz hiba, Előfordulhat, hogy hibaüzenet jelenik meg, amely szerint a névtér nem létezik, amikor megpróbálja használni a kód beírásakor UnityEngine.InputSystem (például Visual Studio).

Például, ha létrehoz egy szkriptet a "Bemeneti rendszercsomag" telepítése előtt.

Ennek az az oka, hogy a projekt UnityEngine.InputSystem nem hivatkozik a . A probléma megoldásához tegye a következőket:

Válassza az Edit > Preferences (Beállítások szerkesztése) lehetőséget a menüből.

Válassza a Külső eszközök lehetőséget a bal oldali menüből, majd kattintson a Projektfájlok újragenerálása gombra.

Ezzel a Visual Studio UnityEngine.InputSystem hozzáadja a hivatkozást.

Ezenkívül a kód hibamentes.

A felhasználói felületen a felhasználói bevitel elfogadásának módosítása bevitelirendszer-csomagra

Ez a mező nem releváns, ha nem használja a Unity felhasználói felületét, például beviteli mezőket vagy legördülő programokat, és figyelmen kívül kell hagyni.

Amikor beviteli mezőt, legördülő menüt stb. helyez el egy nézetben, a rendszer automatikusan létrehoz egy vásznat, és oda helyezi a felhasználói felület objektumát. Ugyanakkor létrejön egy "EventSystem" nevű objektum. Ez egy olyan objektum, amely azt kezeli, hogy mi történik, ha valamilyen bevitel történik a felhasználói felületen.

Ez az eseményrendszer kezdetben egy régebbi bemenetkezelővel fut. Ha csak a beviteli rendszercsomag van engedélyezve, a felhasználói felület nem fog működni úgy, ahogy van, ezért át kell váltania a bemeneti rendszercsomagra.

A módosításhoz először válassza az EventSystem lehetőséget.

Ezután figyelmeztetés jelenik meg az ellenőr "Önálló bemeneti moduljában".

Kattintson a Csere InputSystemUIInputModule modulra gombra az önálló beviteli modul lecseréléséhez a bemeneti rendszer felhasználói felületének bemeneti moduljára.

A játék felhasználói felületének most már megfelelően kell fogadnia a bevitelt.