Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula

arrow_back Aula 02 - Entradas do jogador e movimento

Eixos virtuais

Os eixos são nomenclaturas especiais que cada projeto do Unity dá aos tipos de ações realizadas pelo usuário, por exemplo, mover horizontalmente, mover verticalmente, atirar, pular, entre outras.

Cada uma dessas ações tem um nome amigável e é mapeada para sua respectiva tecla do teclado, botão do joystick, etc. Assim você pode criar scripts que respondem, por exemplo, ao movimento no eixo horizontal (Horizontal), sem se preocupar se o jogador está usando um teclado, um joystick, o acelerômetro do celular ou qualquer outro dispositivo.

No que diz respeito aos scripts, cada eixo é acessado pelo seu nome. Apesar de você também ter a liberdade de especificar se deseja saber se uma tecla específica foi pressionada ou um botão específico do controle (joystick) foi ativado, é bem mais fácil criar scripts que simplesmente verificam se o jogador deseja atirar ou não. A fim de esse mapeamento de teclas->ações funcionar precisamos configurá-lo em cada projeto. Para facilitar, cada projeto do Unity já vem com uma configuração bem satisfatória, mapeando cada entrada dos dispositivos mais populares para sua ação correspondente.

Alguns exemplos das entradas padrões de cada projeto criado no Unity são:

Atenção

  • Horizontal e Vertical são mapeados para W, A, S, D e para as setas do teclado.
  • Fire1, Fire2, Fire3 são mapeados para Control, Alt e Shift e também para os três botões do mouse (pressionando o scroll temos um terceiro botão).
  • Mouse X e Mouse Y são os movimentos do mouse.

O local onde verificamos/alteramos esse mapeamento é no “Input Manager”. Para acessar o Input Manager, busque o “Edit->Project Settings->Input” e um painel será aberto com um elemento chamado “Axes” no qual você pode clicar para expandi-lo e mostrar várias de suas opções. Dentre elas, clique em uma chamada “Horizontal”, expandindo-a também e revelando as propriedades dela. Veja na Figura 2.

Input Manager.

Cada um dos “Axes” no Input Manager tem uma série de propriedades, as quais possuem funções distintas. Veja abaixo a lista.

  • Name arrow_drop_down

    Nome usado para identificar o axis a partir de um script.

  • Descriptive Name arrow_drop_down

    Descrição para o valor positivo desse axis. O valor positivo do axis Horizontal, por exemplo, é quando movimentamos para a direita, enquanto o negativo é para a esquerda.

  • Descriptive Negative Name arrow_drop_down

    Descrição para o valor negativo do axis.

  • Negative Button arrow_drop_down

    Botão utilizado para o axis na direção (valor) negativa.

  • Positive Button arrow_drop_down

    Botão utilizado para o axis na direção (valor) positiva.

  • Alt Negative Button arrow_drop_down

    Botão alternativo para a direção negativa.

  • Alt Positive Button arrow_drop_down

    Botão alternativo para a direção positiva.

  • Gravity arrow_drop_down

    Velocidade (em unidades por segundo) que o axis (eixo) volta para a posição neutra (zero) quando nenhum botão é pressionado.

  • Dead arrow_drop_down

    Tamanho da zona morta analógica no qual o dispositivo desconsidera qualquer tipo de movimento. Isso evita que ações indesejáveis sejam tomadas se um toque muito leve no controle ocorrer.

  • Sensitivity arrow_drop_down

    Velocidade (em unidades por segundo) que o axis se movimentará em direção ao alvo. Serve para dispositivos digitais, como o teclado, por exemplo.

  • Snap arrow_drop_down

    Se habilitado o valor do eixo vai ser imediatamente zerado caso seja pressionado o botão de direção oposta.

  • Invert arrow_drop_down

    Se habilitado, ocorre uma troca entre direções negativa e positiva. É útil quando, por exemplo, você deseja inverter os comandos de direção de um avião ou algo similar.

  • Type arrow_drop_down

    Tipo de entradas que irão controlar esse eixo.

  • Axis arrow_drop_down

    Eixos de um dispositivo conectado que irão controlar esse eixo virtual.

  • Joy Num arrow_drop_down

    Número do joystick que irá controlar esse eixo.

Quadro de notas

Para efeitos práticos iremos utilizar as configurações padrão do Unity para nossos projetos, mas você pode criar outros projetos e tentar modificar esses valores a fim de experimentar.

Versão 5.3 - Todos os Direitos reservados