Introduzione al pacchetto del sistema di input

Pagina aggiornata :
Data di creazione della pagina :

Ambiente di verifica

Finestre
  • Windows 11
Unity Editor
  • 2020.3.25F1

Informazioni sul pacchetto di sistema di input

Nei primi giorni di Unity, abbiamo usato Input Manager come meccanismo per ricevere input dagli utenti. Tuttavia, nell'ambiente della diversificazione delle piattaforme di gioco, il gestore di input è diventato obsoleto. È stato aggiunto un nuovo meccanismo per la gestione dell'input dell'utente: Input Systemu Manager.

A partire dal 2022, sono disponibili sia il nuovo "Input System Package" che l'"Input Manager" per la compatibilità. Se hai un vecchio progetto, puoi usare "Input Manager" così com'è, Penso che passerà a un nuovo "pacchetto di sistema di input" in futuro, quindi in un nuovo progetto Utilizzare Input System Package.

In questa sezione viene descritto come configurarlo.

Installazione dei pacchetti di sistema di input

A partire da Unity Editor 2020.3.25f1, i pacchetti di Input System vengono gestiti come pacchetti non installati inizialmente. Per installare il pacchetto:

Dopo aver creato il progetto e avviato Unity Editor, selezionare Window > Package Manager dal menu.

Quando viene visualizzata la schermata Gestione pacchetti, selezionare "Registro unità" dal pacchetto.

Se scorri verso il basso l'elenco a sinistra, c'è "Sistema di input", quindi selezionalo e fai clic sul pulsante "Installa" in basso a destra.

Una volta installato, verrà visualizzato come installato, quindi chiudi la finestra di dialogo.

Se dopo l'installazione del pacchetto viene visualizzata la seguente finestra di dialogo, fare clic sul pulsante "Sì" per configurare automaticamente il successivo "Attiva pacchetto di sistema di input". In questo caso, Unity Editor verrà riavviato.

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.

Attivare il pacchetto del sistema di input

Dato che ho appena installato il pacchetto, ho un gestore di input obsoleto attivo al momento. Passare al pacchetto del sistema di input.

Selezionare Modifica impostazioni > progetto dal menu.

Quando si apre la finestra di dialogo Impostazioni progetto, selezionare Player dal menu a sinistra.

Nella scheda situata di seguito, seleziona PC, Mac.... Seleziona la scheda Impostazioni ed espandi Altre impostazioni nel gruppo in basso.

Se scorri verso il basso in una certa misura, troverai una voce chiamata "Elaborazione input in uso" nella categoria "Impostazioni", dove puoi selezionare "Pacchetto di sistema di input (nuovo)". È possibile attivare entrambi per il momento, ma è fonte di confusione, quindi nel caso di un nuovo progetto, è meglio utilizzare solo il pacchetto di sistema di input.

Dopo aver apportato le modifiche, verrà visualizzata la seguente finestra di dialogo, quindi fai clic su "Applica" per riavviare Unity Editor.

Ecco fatto, il gioco è fatto!

Informazioni sul problema dell'utilizzo dello spazio dei nomi "UnityEngine.InputSystem" nell'input del codice con conseguente errore

Non ho inserito il codice al momento, quindi non sarà un errore, È possibile che venga visualizzato un errore che indica che lo spazio dei nomi non esiste quando si tenta di utilizzarlo quando UnityEngine.InputSystem si immette codice (ad esempio, Visual Studio).

Ad esempio, se si crea uno script prima di installare il "Pacchetto di sistema di input".

Questo perché il progetto UnityEngine.InputSystem non ha un riferimento a . Per risolvere il problema, eseguire le operazioni seguenti:

Seleziona Modifica preferenze > dal menu.

Selezionare Strumenti esterni dal menu a sinistra e fare clic sul pulsante Rigenera file di progetto.

In questo modo, Visual Studio UnityEngine.InputSystem aggiunge al riferimento.

Inoltre, il codice è privo di errori.

Modificare l'accettazione dell'input dell'utente nell'interfaccia utente in un pacchetto del sistema di input

Questo campo non è rilevante se non si utilizza l'interfaccia utente di Unity, ad esempio campi di input o menu a discesa, e deve essere ignorato.

Quando si inserisce un campo di input, un menu a discesa o così via in una visualizzazione, viene creato automaticamente un oggetto Canvas e l'oggetto dell'interfaccia utente viene inserito lì. Allo stesso tempo, viene creato un oggetto denominato "EventSystem". Si tratta di un oggetto che gestisce ciò che accade quando viene eseguito un input nell'interfaccia utente.

Questo EventSystem è inizialmente in esecuzione con un gestore di input meno recente. Se è abilitato solo il pacchetto di sistema di input, l'interfaccia utente non funzionerà così com'è, quindi è necessario passare al pacchetto di sistema di input.

Per apportare modifiche, selezionare innanzitutto EventSystem.

Quindi viene visualizzato un avviso nel "Modulo di input autonomo" nell'ispettore.

Fare clic sul pulsante Sostituisci con InputSystemUIInputModule per sostituire il modulo di input autonomo con il modulo di input dell'interfaccia utente del sistema di input.

L'interfaccia utente del gioco dovrebbe ora accettare correttamente l'input.