Você pode resolver esse tipo de problema com o BlendTrees (em geral, é uma boa idéia confiar frequentemente em árvores de mistura). A árvore de mesclagem é um tipo de estado de multi-animação que, com base em um parâmetro (flutuante), decide qual das animações que ela contém está ativa no momento (ou a animação resultante pode ser uma mistura de várias animações). Mesmo quando as animações não são combinadas, mas trocadas, a troca ocorre no meio da animação (ou seja, se a animação "existente" estiver em 35%, a nova será reproduzida de 35% em diante). Do lado de fora, tudo isso está oculto como se fosse um estado simples / único.
Por exemplo, você tem uma árvore de mesclagem com 8 animações de sprite (inativa com 4 direções principais e 4 na diagonal). Existem 2 parâmetros nessa árvore de mistura - "horizontal" e "vertical". E com base nesses 2 parâmetros, a árvore de mistura decidirá qual animação reproduzir. Com base no parâmetro "horizontal", a árvore de mesclagem escolherá entre animação esquerda / direita e o parâmetro "vertical" decidirá a animação de cima para baixo. Então, quando combinadas, você terá todas as 8 animações com diagonais (é a mesma idéia que está por trás dos joypads / joysticks).
É um pouco confuso, portanto, mesmo que o StackExchange não goste de links, vincularemos um pequeno exemplo de vídeo que fiz. Observe a parte superior direita da tela. Os pontos cinzas são os "estados" / animações e o ativo é aquele que fecha o ponto vermelho. Como dito no começo, pode ser ainda mais complexo e cada animação tem uma influência / força com base em sua distância do ponto vermelho, resultando em uma mistura entre várias animações.
Do lado de fora, é apenas um estado (árvore de mistura) e quando você aplica o mesmo conceito para andar e atacar, você terá apenas 3 estados vinculados.
As árvores de mesclagem são criadas com o botão direito do mouse em uma área vazia do Animator Criar estado -> a partir da nova árvore de mesclagem. De lá, está tudo no inspetor. Com a árvore de mistura selecionada, você pode escolher o tipo da árvore de mistura (1D, 2D, etc.), adicionar animações, posicioná-las (em relação aos valores dos parâmetros) e selecionar os parâmetros de controle.
Se você quiser obter mais informações sobre o Blend Trees, a seguir, vídeos do Unity - Unite 2016 e Unity Tutorials .