Bem-vindo de volta meus colegas desenvolvedores de jogos
um novo vídeo, onde vamos adicionar animações ao nosso inimigo.
Olha, ele está em marcha lenta.
Estou em marcha lenta.
Se eu chegar perto o suficiente e notar que ele está olhando para o meu caminho.
Se eu chegar perto o suficiente, lá vai você.
Você pode ver que ele começa a andar,
começa a tentar me matar.
Ainda posso empurrá-lo de volta.
Eu fugi. Ele está lá. Eu fugi.
Ele pára.
Ele começa a abrir os olhos. Eu chego perto.
Ele começou a ensinar. Posso atirar nele.
Ele não sente nada.
Ok, então vamos parar de perder tempo e vamos começar a animar nossos inimigos.
Caso 0.
Então, vamos animar nosso inimigo.
Então, se entrarmos nos sprites e aos inimigos, o
monstro, Monstros, e você tem
o esqueleto e você tem todos esses sprites diferentes.
Então, o que vou fazer é ir em frente e dissecar tudo isso.
E vou mostrar a vocês como vou fazer essa animação de forma diferente.
E então você vai fazer
todo o resto porque já sabe como criar animações.
Agora, a única diferença desta vez,
como vou seguir em frente e fazer as animações imediatamente no corpo.
E, em seguida, vou acessar o animador a partir da escrita do roteiro inimigo.
Vamos acessar o animador no corpo.
Por quê?
Bem, honestamente, é sempre melhor usar
as animações e criá-las da maneira que fizemos com o doom player.
Mas, por exemplo, acho que uma mudança na forma como criamos as coisas lhe dará
uma perspectiva melhor e uma compreensão mais ampla de como as coisas funcionam.
Além disso, temos a chance de usar um novo método,
que é obter o componente e filho,
que eu gostaria de mostrar todos os métodos possíveis e exatamente assim.
Então, vamos em frente e adicione um componente e, em seguida, você
pode escolher qual é a melhor maneira para você.
Enquanto a janela de animação,
ok, vamos para o Windows.
Então, talvez quando mudamos o layout, a animação desapareceu.
Vou definir a animação aqui.
Vou seguir em frente e criar uma animação no corpo do inimigo.
Então crie e as animações de ativos inimigos,
clique com o botão direito do mouse, crie o esqueleto e as animações.
Este será o esqueleto.
Esqueleto ocioso.
Salve isso.
Vou escolher a marcha lenta.
Onde está isso? Vou escolher todos esses,
arrastá-los para cá.
Então, agora, quando corremos,
você pode ver que ele está ocioso muito rápido.
Ele está extremamente animado por estar ocioso.
Vou movê-los.
Vamos ver como isso parece.
E por algum motivo.
Então eu acho que o primeiro,
segundo 1 são os mesmos.
E por que isso? É isso.
Então, vamos correr. Não, espere.
Oh, ok, então o primeiro,
segundo 1 por algum motivo que eu não escolho o Cisne.
Não se preocupe. Vamos seguir em frente e fazer isso.
Certo, ótimo.
Então você pode ver que o último já é semelhante ao primeiro. Ou não.
Vamos copiar isso.
Defina como o último. Veja como isso parece.
Sim, lá vamos nós. Isso parece muito melhor.
Devemos torná-lo mais rápido? Eu não sei.
Mas vamos salvar isso.
E esta é a entrada.
Então eu só queria mostrar como estamos fazendo isso.
Vamos continuar e eu escrevi esqueleto errado, não se preocupe com isso.
E vamos continuar assim no corpo.
E então vou usar a magia da edição para fazer tudo isso em alguns segundos.
Mas você toma seu tempo,
cria a fatia de animação dos sprites.
E eu vou te mostrar um desafio que é escolher um dos inimigos.
Não precisa ser o esqueleto.
Então crie o ataque ambulante da CID-10.
Você tem o ataque de lançar uma alma e você tem a animação de arremesso de espada.
Então eu acredito que há uma animação de arremesso de espada.
Então, pause o vídeo agora mesmo.
Slugs up os sprites, crie as animações.
Vejo você em um pouco.
Ei, como você se deu bem com isso?
Então, tenho cortado sprites.
Tenho criado animações.
Deixe-me mostrar o que eu fiz.
Se eu clicar no inimigo,
no corpo, você
pode ver que eu tenho ocioso, atacando,
andando e jogando o tipo.
Então eu jogo a espada, assim.
Eu ataco esse cara.
Correndo e andando muito fácil.
Foi assim que fiz tudo.
Espero que não tenha sido muito difícil para você.
Espero que você tenha certeza de que todos eles eram 150 por 150.
Então você pode ver todas as fatias precisam ser exatamente as
mesmas, como eu disse quando estávamos cortando para brincar de condenação.
Ok, e deixe-me mostrar o animador para que você possa ver que eu tenho
todos esses quatro agora nós não vamos fazer nada.
Não vamos ser jogados o sal ou o esqueleto atacar manterá isso para.
Mais tarde, estaremos andando.
Então, vou criar uma transição do esqueleto andando para o esqueleto ocioso.
Vou escolher os dois segurando o Controle, escolhendo os dois.
Remova na hora de saída em ambos,
remova a duração da transição em ambos.
Vou criar um parâmetro aqui que será chamado de andar.
Então, é o mesmo.
Oh, não, espere, eu criei o parâmetro errado.
Eu criei uma camada.
Vou criar um parâmetro booleano aqui está andando.
Lá vai você, e eu vou ficar.
Ok, então estou nessa transição,
vou adicionar os parâmetros aqui.
Então, se eu estou andando é verdade,
começamos a andar e andar,
falso, eu paro de andar.
Diga tudo isso.
Agora, vamos voltar à nossa cena e vamos abrir nossos roteiros aqui.
Então, o que deveríamos estar fazendo?
A primeira coisa que precisamos é uma referência ao animador.
Então, no controlador inimigo aqui,
vou criar um privado e ele vai ser o inimigo.
E ele fez para isso,
opa, é do tipo animador.
E ele pode, para salvar isso.
Vou pegar o componente.
Mas, como você viu,
o animador não está no inimigo,
então eu não posso acessá-lo.
Quando eu, como dissemos, Get componente,
os componentes devem estar no mesmo objeto que o script.
Então, para corrigir isso,
terei que acessar o animador no corpo.
Para fazer isso. Eu simplesmente vou dizer que o animador,
quero dizer o animador inimigo,
é igual a obter componente em crianças.
E você pode ver agora,
deixe-me terminar isso.
Vamos passar o mouse sobre ele.
Ok, então não há explicação,
mas acho que é um componente muito autoexplicativo como este,
mas em crianças, então encontramos o animador nas crianças,
e porque só temos um animador, isso não é problema.
Mas usamos isso com cuidado.
Então, a próxima coisa que vamos fazer,
vamos verificar quando adicionarmos uma velocidade.
Então, aqui, vamos verificar se a direção para se mover
e é diferente do vetor do 0 ou do vetor 3,
desculpe-me, porque este,
lembro que foi um fator três.
Oh, lá vai você.
Como esse preenchimento automático?
Eu nem sei.
Vou acessar o conjunto de pontos do animador inimigo Bool.
Então isso é extremamente fácil.
Acredito que todos já fizemos isso.
Então você só tem um pequeno pico nos bastidores.
Copie isso, cole-o aqui
e vamos defini-lo como verdadeiro.
Então, else declaração.
Vamos duplicar esta linha para ela
aqui e configurá-la como false e remover o espaço em branco extra.
Então, o que acontece aqui?
Assim que tivermos direção para avançar,
é diferente do vetor 3 0.
A animação está andando é definida como verdadeira e fazemos a transição para a animação.
Se não estamos andando, é falso.
Certo, ótimo. Vamos testar isso de volta em nosso jogo.
Vamos colocar o animador.
Onde devemos colocá-los todos? Vamos mantê-lo aqui.
Jogo, execute o jogo. Vamos ver.
Certo, então o inimigo está em marcha lenta.
Se eu chegar perto dele,
ele começará a andar.
E lá vai você. Você pode ver que ele está andando,
mas há um pequeno problema.
Sinto como se houvesse algo.
Certo. Então ele está pairando um pouco.
Por que ele ainda está pairando,
não ficamos bem.
Então, obviamente, não removemos o tempo de transição deste.
Execute o jogo novamente, ele deve começar a andar imediatamente assim que começar a se mover.
Lá vai você. Ele está caminhando em nossa direção.
Excelente.
Agora, mais uma coisa que precisamos tomar flecha e
essa é a direção que o inimigo está olhando.
Então, vou fazer uma coisa semelhante, assim como aqui.
Se a posição do mouse não agir como viramos nosso jogador,
vamos virar nosso inimigo.
Mas em vez de olhar para o ponto da tela,
vamos comparar a direção ou o x do jogador com os atos do inimigo.
Portanto, se a camada para perseguir o ponto,
o jogador para perseguir a posição do ponto,
ponto x é menor que a posição transform.py x.
o que vamos fazer é acessar a escala local de transformação.
E será igual a um novo vetor 3 e menos 1 f. O que é isso?
Minus1 f. E vamos manter o y o mesmo.
E o z, Z, z,
Z, o que quer que você queira chamá-lo, o mesmo.
E, caso contrário, se o jogador estiver do outro lado,
a escala local de transformação é igual a um novo vetor, três pontos um.
Se não me engano, No.1,
um, qual é o problema? Vetor 3.
Certo. Então eu não deveria colocar, deixe-me ver.
Certo, então não há novidade, com licença.
Então, sempre que não estamos criando um novo vetor 1,
temos apenas um vetor que estamos configurando
a escala local para salvar isso de volta em nosso jogo.
Vamos ver isso em ação.
Execute o jogo. E lá vai você.
Você pode ver que ele está olhando na direção certa.
Assim que chegamos perto,
ele começa a caminhar em nossa direção. Certo, ótimo.
Eu tentei fugir.
Ele olha para nós e continua perseguindo.
Agora, o único problema que notei é que
o inimigo está batendo nas paredes ou assim como temos o problema anteriormente.
Lembre-se de quando queríamos ter os inimigos.
Então você pode ver por causa do colisor no inimigo,
ele não pode passar por esta parede aqui mesmo você pode ver que essas são suas limitações.
Se você quiser tornar seu jogo mais detalhado,
eu recomendo que você adicione dois colliders,
assim como fizemos no doom Player.
Um deles será apenas para ser ouvido.
O segundo será apenas onde andamos.
Onde está nossa limitação?
Sinta-se à vontade para fazer isso.
Eu encorajo você a fazer isso. Este é o seu jogo.
Você pode torná-lo tão perfeito quanto quiser.
Com isso feito, obviamente vamos definir tudo aqui.
Você pode ver quantas animações eu criei.
Espero que você goste.
Vou encenar tudo isso e verei você no
próximo vídeo, onde estaremos realmente danificando nosso inimigo.
Atualmente, podemos atirar nele,
mas ele não sente nada.
Isso é o que vamos consertar no futuro.
E eu recomendo que você também crie a animação
para o ticket e a animação para Surdos, o
que será muito divertido de fazer o próximo vídeo.
Então, vejo você.