Apresentando o pacote do sistema de entrada

Página atualizada :
Data de criação de página :

Ambiente de verificação

Windows
  • Janelas 11
Unity Editor
  • 25.3.2020F1

Sobre o pacote do sistema de entrada

Nos primórdios do Unity, usávamos o Input Manager como um mecanismo para receber informações dos usuários. No entanto, no ambiente de diversificação de plataformas de jogos, o gerenciador de insumos ficou ultrapassado. Um novo mecanismo para gerenciar a entrada do usuário foi adicionado: Input Systemu Manager.

A partir de 2022, tanto o novo "Input System Package" quanto o "Input Manager" para compatibilidade estão disponíveis. Se você tem um projeto antigo, você pode usar "Input Manager" como ele é, Acho que ele fará a transição para um novo "pacote de sistema de entrada" no futuro, portanto, em um novo projeto Use o pacote do sistema de entrada.

Esta seção descreve como configurá-lo.

Instalando pacotes do sistema de entrada

A partir do Unity Editor 2020.3.25f1, os pacotes do Input System são gerenciados como pacotes que não estão instalados inicialmente. Para instalar o pacote:

Depois de criar seu projeto e iniciar o Editor Unity, selecione Janela > Gerenciador de Pacotes no menu.

Quando a tela Gerenciador de Pacotes aparecer, selecione "Unity Registry" no pacote.

Se você rolar a lista para baixo à esquerda, há "Sistema de entrada", então selecione-o e clique no botão "Instalar" no canto inferior direito.

Quando instalado, ele será exibido como instalado, então feche a caixa de diálogo.

Se a caixa de diálogo a seguir for exibida após a instalação do pacote, clique no botão "Sim" para configurar automaticamente o próximo "Ativar pacote do sistema de entrada". Nesse caso, o Editor Unity será reiniciado.

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.

Ativar o pacote do sistema de entrada

Como acabei de instalar o pacote, tenho um gerenciador de entrada desatualizado ativo no momento. Alterne isso para o pacote do sistema de entrada.

Selecione Editar > configurações do projeto no menu.

Quando a caixa de diálogo Configurações do projeto for aberta, selecione Player no menu esquerdo.

Na guia localizada abaixo, selecione PC, Mac.... Selecione a guia Configurações e expanda Mais configurações no grupo na parte inferior.

Se você rolar para baixo até certo ponto, você encontrará um item chamado "Processamento de entrada em uso" na categoria "Configurações", onde você pode selecionar "Pacote do sistema de entrada (novo)". Você pode ativar ambos por enquanto, mas é confuso, então no caso de um novo projeto, é melhor usar apenas o pacote do sistema de entrada.

Depois de fazer alterações, a seguinte caixa de diálogo aparecerá, então clique em "Aplicar" para reiniciar o Editor Unity.

É isso, pronto!

Sobre o problema de usar o namespace "UnityEngine.InputSystem" na entrada de código resultando em um erro

Eu não inseri o código no momento, então não será um erro, Você pode receber um erro que o namespace não existe ao tentar usá-lo ao UnityEngine.InputSystem inserir código (por exemplo, Visual Studio).

Por exemplo, se você criar um script antes de instalar o "Input System Package".

Isso porque o projeto UnityEngine.InputSystem não tem uma referência a . Para resolver isso, faça o seguinte:

Selecione Editar > Preferências no menu.

Selecione Ferramentas Externas no menu à esquerda e clique no botão Regenerar arquivos de projeto.

Ao fazer isso, o Visual Studio UnityEngine.InputSystem adiciona à referência.

Além disso, o código está livre de erros.

Alterar a aceitação da entrada do usuário na interface do usuário para um pacote do sistema de entrada

Esse campo não é relevante se você não usar a interface do usuário Unity, como campos de entrada ou listas suspensas, e deve ser ignorado.

Quando você coloca um campo de entrada, uma lista suspensa ou assim por diante em um modo de exibição, um Canvas é criado automaticamente e o objeto da interface do usuário é colocado lá. Ao mesmo tempo, um objeto chamado "EventSystem" é criado. Este é um objeto que gerencia o que acontece quando alguma entrada é feita na interface do usuário.

Este EventSystem está inicialmente em execução com um gerenciador de entrada mais antigo. Se apenas o pacote do sistema de entrada estiver habilitado, a interface do usuário não funcionará como está, portanto, você precisará alterar para o pacote do sistema de entrada.

Para fazer alterações, primeiro selecione EventSystem.

Em seguida, um aviso é exibido no "Módulo de entrada autônomo" no inspetor.

Clique no botão Substituir por InputSystemUIInputModule para substituir o Módulo de Entrada Autônomo pelo Módulo de Entrada da Interface do Usuário do Sistema de Entrada.

A interface do usuário do seu jogo agora deve aceitar a entrada corretamente.