Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] UMA DAS ANIMAÇÕES SE SOBREPÕE A OUTRA

Inseri tanto a animação de "Idle" quanto a de "Correr", porém apenas a Idle funciona. Eu preciso de algum comando específico para que o personagem corra?

2 respostas
solução!

Olá, Daniel! Tudo bem?

Pelo que entendi da sua dúvida, você conseguiu inserir as animações de "Idle" e "Correr", mas somente a de "Idle" está sendo executada. Isso pode estar acontecendo porque você precisa configurar um "Animator Controller" para gerenciar quando cada animação deve ser executada.

O "Animator Controller" permite que você crie uma máquina de estados finitos para controlar as animações do seu personagem. Basicamente, você pode definir condições para transições entre diferentes estados de animação. Por exemplo, você pode ter um estado "Idle" e um estado "Correr", e definir que a transição do estado "Idle" para "Correr" ocorra quando a velocidade do personagem for maior que zero.

Aqui está um exemplo de como você pode fazer isso:

  1. Primeiro, crie um novo "Animator Controller" em "Project > Create > Animator Controller". Você pode nomeá-lo como quiser, por exemplo, "PersonagemController".

  2. Arraste e solte este "Animator Controller" que você acabou de criar para o componente "Animator" do seu personagem.

  3. Agora, abra a janela "Animator" em "Window > Animation > Animator". Você verá o "Animator Controller" que acabou de criar.

  4. Arraste e solte as animações "Idle" e "Correr" para a janela "Animator". Eles aparecerão como estados.

  5. Clique com o botão direito no estado "Idle" e selecione "Make Transition". Em seguida, clique no estado "Correr". Isso criará uma seta do estado "Idle" para o estado "Correr".

  6. No Inspetor, você pode ver as propriedades da transição que acabou de criar. Você pode adicionar uma condição clicando no botão "+" em "Conditions". Por exemplo, você pode adicionar uma condição que verifica se a velocidade do personagem é maior que zero.

  7. Faça o mesmo para criar uma transição do estado "Correr" para o estado "Idle", mas desta vez a condição pode ser a velocidade do personagem menor ou igual a zero.

Lembre-se de que você precisa ter uma variável "velocidade" no seu script que controla o personagem, e você precisa atualizá-la na função "Update()". Além disso, você precisa referenciar o componente "Animator" do seu personagem em seu script e usar a função "SetFloat()" para atualizar a variável "velocidade" no "Animator Controller".

Espero ter ajudado e bons estudos!

Obrigado. Eu assisti depois as aulas em sequência do curso e percebi que o professor explicava isso depois.