Conteúdo do Curso
Jogo de Luta no Unity
Jogo de Luta no Unity
Animador e Animação
No Unity, o animator
desempenha um papel fundamental ao dar vida aos objetos do jogo por meio de animações. Ao vincular animation clips com transições e parâmetros, animadores criam movimentos e comportamentos dinâmicos para personagens e objetos dentro do mundo do jogo. Essas animações contêm dados de keyframe e configurações que definem como os objetos se movem e interagem, sendo essenciais para criar experiências de jogo imersivas e envolventes.
Animator
Para informar ao Unity que este objeto pode ter animações, é necessário adicionar o componente animator.
Também é necessário criar um controlador para adicioná-lo ao animator.
Em seguida, ao clicar no objeto na hierarquia e abrir o painel do Animator, será exibido algo semelhante a isto.
No painel Animator do Unity, os animadores controlam o fluxo das animações dentro de um jogo.
Parâmetros funcionam como variáveis que influenciam as transições entre estados de animação. O Estado de Entrada define a animação inicial quando o jogo começa, enquanto Any State permite transições a partir de qualquer estado. Parâmetros, incluindo booleanos, floats e inteiros, possibilitam mudanças dinâmicas de animação com base nas condições do jogo.
Animações
Primeiramente, ao clicar no seu objeto e abrir o painel de animações, ele aparecerá assim.
Como não há animações, será solicitado que você crie um clipe de animação para o objeto. Ao clicar em criar, será necessário selecionar um nome e um local para a animação. Após criar uma animação, o Animator e o painel de animações serão atualizados.
No painel Animation do Unity, desenvolvedores podem criar, editar e gerenciar animações para objetos do jogo. Os principais componentes incluem a Linha do Tempo da Animação, que exibe os quadros-chave e trilhas de animação, facilitando a edição precisa das animações ao longo do tempo. Para alterar parâmetros da animação, basta selecioná-la na pasta de assets e modificar conforme necessário.
Loop Time: A animação reinicia perfeitamente do final para o início;
Loop Pose: Transição suave do quadro final para o inicial para um loop contínuo;
Offset: Especifica o atraso de tempo para a reprodução da animação, útil para sincronização e variação.
Gravação no Painel de Animação
No painel de Animação do Unity, o botão Gravar é uma ferramenta essencial para animadores. Quando ativado, permite a gravação de animação por quadro-chave diretamente no Editor do Unity. Ao manipular as propriedades de um objeto (como posição, rotação ou escala) na visualização da Cena ou na janela Inspector durante a gravação, é possível criar quadros-chave automaticamente.
Adicionando Outro Clipe
É possível adicionar outro clipe ao objeto clicando em Criar Novo Clipe:
Transições Entre Animações
Após possuir diferentes clipes, é possível configurar as transições entre eles no Animator. Para criar a transição, primeiro selecione o alvo e clique em Make Transition, em seguida selecione o destino.
Dessa forma, existe uma transição entre essas duas animações.
Ao clicar na transição, esta visualização será exibida no Inspector:
Has Exit Time
Quando ativado, garante que a animação atual seja concluída antes de transitar para o próximo estado, com base no tempo de saída especificado na transição. Desabilitar o Has Exit Time permite transições mais dinâmicas e imediatas entre estados, geralmente baseadas em condições ou gatilhos. Veremos mais sobre os usos do Has Exit Time na prática.
Criar Parâmetros para Condição de Transição
Para configurar uma condição na transição, é necessário criar parâmetros.
Agora, crie uma condição pressionando o botão +.
Para a transição do estado A para o estado B, é necessário garantir que can_Translate = true
.
Exemplo: Ações Humanas
Imagine que estamos controlando um personagem em um jogo. Temos animações para brincar no computador, dormir e comer.
Condições para Transições
Para controlar quando nosso personagem muda entre animações, utilizaremos condições. Por exemplo, suponha que exista uma condição "hungry". Quando essa condição for verdadeira, queremos que nosso personagem transite de brincar no computador para comer.
Implementando a Transição
No Animator do Unity, criaremos uma transição do estado de animação "playing with computer" para o estado de animação "eating". Definiremos a condição para essa transição como o booleano "hungry". Assim, quando "hungry" se tornar true, o Unity fará automaticamente a transição do personagem de jogando para comendo.
Podemos adicionar mais condições e transições. Por exemplo, podemos ter uma condição "tired" que aciona uma transição de jogando para dormindo. Também é possível mesclar animações para transições mais suaves.
Portanto, o animator
no Unity funciona exatamente como nós: cada bloco é uma ação que podemos realizar em nosso cotidiano, e as setas contêm a condição para mudar para aquela animação.
Obrigado pelo seu feedback!