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 em dar vida aos objetos do jogo através de animações. Ao vincular clipes de animação com transições e parâmetros, os 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 cruciais para criar experiências de jogo imersivas e envolventes.
Animator
Para informar ao Unity que este objeto pode ter animações, precisamos adicionar o componente animator.
E também precisamos criar um controlador para adicioná-lo ao animator.
Em seguida, se clicarmos no objeto da hierarquia e abrirmos o painel do animator, será algo semelhante a isto.
No painel Animator do Unity, os animadores controlam o fluxo das animações dentro de um jogo.
Os parâmetros servem como variáveis que influenciam as transições entre estados de animação. O Estado de Entrada define a animação inicial quando um jogo começa, enquanto o Estado Qualquer permite transições de qualquer estado. Parâmetros, incluindo booleanos, floats e inteiros, permitem mudanças dinâmicas de animação com base nas condições do jogo.
Animações
Primeiro, quando você clica no seu objeto e abre o painel de animações, ele se parecerá com isto.
Como não há animações, ele pedirá para você criar um clipe de animação para o objeto. Quando você clicar em criar, ele pedirá para selecionar um nome e local para a animação. Após criar uma animação, o animator e o painel de animações mudarão.
No painel de Animação do Unity, os desenvolvedores podem criar, editar e gerenciar animações para objetos de jogo. Os componentes principais incluem a Linha do Tempo de Animação, que exibe quadros-chave e trilhas de animação, facilitando a edição precisa das animações ao longo do tempo. Se quisermos alterar os parâmetros da animação, podemos selecioná-la na pasta de ativos e alterá-la.
- Loop Time: A animação reinicia perfeitamente do fim para o início;
- Loop Pose: Transição suave do quadro final para o quadro inicial para um loop contínuo;
- Offset: Especifica o atraso de tempo para 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 crucial para animadores. Quando ativado, ele permite a gravação de animação de quadros-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 do Inspetor enquanto grava, os usuários podem criar quadros-chave automaticamente.
Adicionando Outro Clipe
Podemos adicionar outro clipe ao nosso objeto clicando em Criar Novo Clipe:
Transições Entre Animações
Depois de ter diferentes clipes, podemos configurar as transições entre eles no animador. Para criar a transição, primeiro selecionamos o alvo e clicamos em Fazer Transição, depois selecionamos o destino.
Assim, temos uma transição entre essas duas animações.
Se clicarmos na transição, teremos esta visualização no inspetor:
Tem Tempo de Saída
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. Desativar Tem Tempo de Saída permite transições mais dinâmicas e imediatas entre estados, muitas vezes baseadas em condições ou gatilhos. Veremos mais sobre os usos do Tem Tempo de Saída em ação.
Criar Parâmetros para Condição de Transição
Para configurar uma condição na transição, precisamos criar parâmetros.
Agora, crie uma condição pressionando o botão +.
Para transitar do estado A para o estado B, precisamos garantir que can_Translate = true
.
Exemplo: Ações Humanas
Imagine que estamos controlando um personagem em um jogo. Temos animações para jogar no computador, dormir e comer.
Condições para Transições
Para controlar quando nosso personagem transita entre animações, usaremos condições. Por exemplo, digamos que temos uma condição "fome". Quando essa condição é verdadeira, queremos que nosso personagem transite de jogar no computador para comer.
Implementando a Transição
No Animator do Unity, criaremos uma transição do estado de animação "jogando no computador" para o estado de animação "comendo". Definiremos a condição para essa transição como o booleano "fome". Assim, quando "fome" se tornar verdadeiro, o Unity automaticamente fará a transição do nosso personagem de jogar para comer.
Poderíamos adicionar mais condições e transições. Por exemplo, poderíamos ter uma condição "cansado" que desencadeia uma transição de jogar para dormir. Também podemos mesclar animações para transições mais suaves.
Assim, o animator
no Unity funciona exatamente como nós: cada bloco é uma ação que podemos realizar em nossa vida diária, e as setas mantêm a condição para mudar para essa animação.
Obrigado pelo seu feedback!