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

arrow_back Aula 08 - Animação de Sprites – Parte II

2. Transição entre Animações

2.3 Criando as Transições

No começo da aula, discutimos o esboço básico da ideia de nossa animação. Vimos, a partir disso, que transições entre os estados de animação criados seriam necessárias para podermos manter o robô se movendo adequadamente. A partir da variável speed, criaremos, então, essas transições, para finalmente podermos trabalhar com os dois estados disponíveis.

Primeiramente, alteraremos de volta o estado padrão de animação, o qual havíamos modificado para o Walking para testar a animação. É só clicar com o botão direito no bloquinho de Idle e selecionar a opção “Set as Layer Default State”. Feito isso, agora sabemos que a animação será iniciada sempre no bloquinho correto, uma vez que o personagem inicia parado.

Em seguida, criaremos nossa primeira transição entre estados. Essa transição nos levará do estado Idle ao estado Walking quando nossa velocidade for maior que 0.1. De onde vem esse valor 0.1? Bem, foi um chute! Depois, com a animação concluída, poderemos testar outros valores e ver se de fato esse foi uma boa tentativa. Para criar essa transição, devemos clicar com o botão direito no bloco do Idle e, então, selecionar a opção “Make Transition”. Ao fazer isso, uma reta cinza, com uma setinha começará a acompanhar o cursor do mouse, indicando que devemos ligar esse bloco ao bloco para o qual desejamos fazer a transição. Nesse caso, cliquemos com o botão esquerdo no bloco Walking. Isso criará uma seta cinza entre os dois blocos, indicando uma transição.

Para facilitar a visualização do que estamos fazendo, espaçaremos um pouco mais os blocos. Para isso, basta clicarmos com o botão esquerdo em um bloco e arrastá-lo até a posição desejada. Após realizar esse procedimento da maneira que achar adequada, clique na nova transição que acabamos de criar. Isso fará o Inspector mostrar as propriedades dessa transição, como visto na Figura 5.

Transição entre os estados Idle (padrão) e Walking selecionada e exibida no Inspector.

Perceba: a transição em si tem diversas propriedades que podem ser configuradas para tornar a transição o quão consistente desejarmos. Mas nós estamos trabalhando em 2D! E aí as transições, na verdade, servem somente para trocar a sequência de sprites com os quais estamos trabalhando (pelo menos no caso do nosso jogo). Então, nesse caso, podemos basicamente tirar a existência da transição em si e deixá-la apenas como uma mudança de estado! Para isso, a primeira coisa que devemos alterar é propriedade Has Exit Time. Podemos desmarcar essa opção, pois não há um momento definido em que devemos sair dessa animação. Em seguida, podemos zerar a opção Transition Duration, pois não há necessidade de a transição ter qualquer duração. Isso fará a transição ser instantânea, levando o personagem de um estado para o outro diretamente.

Nesse momento, se apertarmos Play em nosso jogo veremos que o personagem executará uma vez a animação Idle, por ser a animação padrão, e, em seguida, alterará a animação para Walking, visto que há uma transição lá indicada. Veja isso acontecendo! Aperta o Play!

Versão 5.3 - Todos os Direitos reservados