Criando Animações para Jogos Top Down com 8 Direções na Unity

Na internet, há muitas informações sobre como fazer jogos estilo side scrollers e plataformas na Unity, mas é difícil encontrar assuntos relacionados a jogos no estilo top down 2D que expliquem detalhadamente como realizar o movimento dos personagens em oito direções. Neste sentido, este artigo descreve alguns pontos essenciais para a criação de animações no estilo top down com oito direções, abordando desde a criação dos sprites até sua implementação na Unity.

O desafio da animação top down

Em jogos side-scrollers, os personagens sempre ficam virados para a esquerda ou para a direita. Isso torna o manuseio da animação muito mais fácil, pois você só precisa animar em uma direção e depois espelhá-la ao longo do eixo X. Entretanto, em jogos top down, essa abordagem não pode ser aplicada, pois não é possível apenas virar ou rotacionar o personagem para cobrir todas as direções.

O desafio aqui é garantir que o personagem tenha animações suaves e coerentes para cada direção. Jogos com uma direção fixa, como RPGs clássicos, têm personagens que se movem apenas para cima, baixo, esquerda e direita. No entanto, em jogos mais dinâmicos, como roguelikes e jogos de ação, é comum ter oito direções: cima, baixo, esquerda, direita e suas combinações diagonais.

Você pode ver um exemplo de como um personagem se move em todas essas direções na Figura 1.0.

animação
animação

Figura 1.0 – Animação de movimento em 8 direções

Criação e Animação dos Sprites

Para criar a arte em pixel art, você pode usar ferramentas como Aseprite ou Pyxel Edit. Ambas as ferramentas são amplamente utilizadas por artistas de pixel art devido à sua interface intuitiva e funcionalidades especializadas.

Eu costumo usar o Pyxel Edit para criar meus assets em pixel art. Se você quiser ver alguns exemplos, pode procurar por timelapses de pixel art para entender melhor como funciona o processo de criação.

Agora que você definiu qual ferramenta usar, você precisa planejar quais as ações que seu personagem terá. As principais ações incluem:

  • Parado (Idle): Quando o personagem está estático.
  • Movendo-se (Walk ou Run): Para todas as oito direções.
  • Atacando (Attack): Caso o jogo possua combate.
  • Tomando dano (Hurt): Animação ao receber dano.
  • Morrendo (Death): Para quando o personagem for derrotado.

O número de animações pode variar dependendo do tipo de jogo que você está criando. Em alguns jogos, basta ter quatro direções e espelhar algumas delas, mas em outros, especialmente em jogos de tiro e ação, pode ser necessário ter todas as oito direções animadas separadamente.

“Você deve pensar, quantas direções você quer que seu personagem tenha.”

Como pode ser observado na Figura 1.0, o personagem possui 8 direções, ou seja, de forma cardeal. Porém, você pode encontrar jogos top down em que personagens ficam voltados para esquerda e direita. Independente das características das animações, você deve criar cada animação, respeitando a mesma cadência e tempos. Para melhor compreensão, dê uma olhada neste guia rápido de Sandy Gordon.

Depois do planejamento e criação das animações, pode-se importa-las para Unity.

Importando Ativos para a Unity

Para animar os personagens ou objetos, os spritesheets devem estar organizados de maneira que facilite o recorte das imagens. Normalmente, as sprites são dispostas em uma grade, e cada frame tem espaçamento igual entre eles para facilitar a importação e separação na Unity.

Na Unity, ao importar seu spritesheet:

  1. Selecione o arquivo da sprite na pasta Assets.
  2. No Inspector, altere a opção Sprite Mode para Multiple.
  3. Clique no botão Sprite Editor e divida os sprites manualmente ou usando a opção Slice (Automático).
  4. Certifique-se de que todas as animações estejam organizadas corretamente.

Com as imagens definidas e recortadas, pode-se criar os Animation Clips para cada direção e tipo de movimento.

Se você não sabe como fazer isso, sugiro assistir a tutoriais sobre animação na Unity, como “Animação 2D na Unity”.

CharacterDown

Figura 2.0 – Personagem em 16 pixel

Com as imagens definidas e recortadas, pode-se criar as Animations Clips.

Se você não sabe como fazer isso, sugiro ver este vídeo para ter uma ideia sobre animação: Animação 2D ou Animações de personagens.

Criando a Máquina de Estados e o Blend Tree

Para realizar as animações na Unity, recomenda-se criar um Controlador de Animação exclusivo para personagens e objetos animados. Esse controlador gerencia todas as transições entre animações e usa parâmetros para definir quando cada animação deve ser executada.

Para lidar com animações em oito direções, utilizamos o Blend Tree, que permite transições suaves entre direções com base na entrada do jogador.

  1. No Animator, crie um novo Blend Tree.
  2. Configure o Blend Type como 2D Simple Directional.
  3. Adicione os parâmetros xMovement e yMovement.
  4. Relacione as animações correspondentes a cada direção.

Veja a Figura 3.0 para mais detalhes.

Blend

Figura 3.0 – Blend Tree Walk

A Figura 3.0 traz a criação da animação de movimento utilizando o Blend Tree. Na propriedade Blend Type, está selecionada a opção 2D simple Directional e utilizando dois parâmetros. Desta forma, é possível aplicar as animações, “Walk Down”, “Walk Down Left”, Walk Down Right”,”Walk Left”, “Walk Right”, Walk Up”,Walk Up Right”, e Walk Up Left”.

Conclusão

Criar animações para um jogo top down 2D com movimento em oito direções pode parecer um desafio no início, mas com um bom planejamento e ferramentas adequadas, o processo se torna mais intuitivo.

Neste artigo, discutimos:

  • Os desafios da animação top down.
  • A criação de sprites e suas animações.
  • A importação e configuração na Unity.
  • O uso de Blend Trees para animação fluida.

Esperamos que estas informações auxiliem no desenvolvimento do seu jogo e tornem suas animações mais imersivas e responsivas!

Artigo sobre plano cartesiano para jogo