Bem-vindo de volta meus colegas desenvolvedores de jogos em um novo vídeo.
E como você pode ver,
agora temos um círculo amarelo.
O que esse círculo amarelo faz quando executamos nosso jogo?
Você pode ver que se eu entrar no círculo amarelo,
nada acontece e apenas tornar a velocidade inimiga um pouco menor.
Se eu entrar no círculo vermelho normalmente,
ele começa a nos perseguir.
Eu tentei fugir.
Estou dentro do círculo amarelo,
mas ele ainda está nos perseguindo.
O que está acontecendo?
A única maneira de ganhar é sair do círculo amarelo.
Além disso, é assim que você se afasta do
inimigo porque ele começou agora que não quer mais persegui-lo.
Então, não vamos perder mais tempo.
Vamos começar.
E esqueci de dizer que você precisa confirmar suas alterações no final.
Não se esqueça de fazer isso.
Então, vamos começar k.
Então agora temos o inimigo sabendo
onde o jogador está baseado em uma certa distância que ele está dele.
Quando o jogador chegar a uma certa distância,
um certo alcance de perseguição,
o inimigo saberá e ele começará a perseguir o jogador.
Bem, ele não faz isso fisicamente,
mas podemos ver pela lógica e pelo código que ele sabe,
como vamos fazer isso?
Primeiro, vamos determinar a direção em que esse inimigo se moverá.
Então, se a distância for menor que o alcance da perseguição do jogador,
vou parar a depuração e vou salvar que a direção para se mover, será igual ao
alcance da perseguição do jogador ou não alinhamento Eclair para perseguir camada para perseguir a camada
para perseguir posição de ponto menos a posição de transformação.
Então, isso é exatamente como a fórmula que usamos.
O 2 a arma e a direção certa,
escolhemos a posição,
removemos a posição do jogador para perseguir.
Subtraímos a posição do inimigo do
jogador para perseguir a posição e dessa forma obtemos a direção.
Portanto, é semelhante à maneira como estamos apontando para nós,
você pode voltar e ver como isso funciona.
Agora, o que vamos fazer depois de sabermos a direção em que estamos nos movendo,
vamos normalizar essa direção.
Porque não queremos que o inimigo seja mais rápido quando ele se move na diagonal.
Então, normalizamos.
E então vamos acessar o corpo rígido.
Assim, o corpo rígido inimigo obtém a velocidade e
será igual à direção para mover n vezes o inimigo.
Fale.
Salve isso.
E agora vamos voltar ao nosso jogo.
Vamos ver como isso funciona.
Vou definir a visualização do jogo ao lado da visualização de cena para que possamos ver como o alcance funciona.
Quando entrarmos no alcance,
vou executar o jogo.
Então, agora, quando me aproximo do inimigo,
sim, lá vamos nós, nada acontece.
Por que isso?
Bem, porque temos o pequeno erro aqui e que o objeto,
não temos uma referência à largura.
Por que isso?
Porque estamos tentando acessar o corpo rígido inimigo,
mas não o definimos.
Assim, o corpo rígido NMI,
o ponto é igual ao componente de dívida, corpo rígido 2D.
Lá vamos nós.
Ok, agora tudo deve estar funcionando bem.
Vamos parar o jogo, executá-lo novamente.
E agora estamos chegando perto. E lá vai você.
Você pode ver que o inimigo está realmente nos perseguindo.
E, obviamente, precisamos consertar algumas coisas,
mas está funcionando.
O que acontece se estivermos fora de alcance?
Estou tentando sair do alcance.
Certo. Então, não funciona.
Deixe-me primeiro, bem,
pelo menos está funcionando.
Não é perfeito, mas está funcionando.
Então deixe-me definir este.
Deixe-me tornar o alcance um pouco menor porque quero demonstrar algo.
E vamos fazer a velocidade também para que possamos escapar.
Vou executar o jogo.
Vou chegar perto do inimigo e depois vou parar, vou passar.
Então, como você pode ver,
o inimigo ainda está andando e finalmente ele bate em uma parede.
Então, qual é o problema aqui?
O problema é que o inimigo ainda terá o ímpeto com eles.
Então eu chego perto, eu me afasto.
E mesmo que eu não seja e o alcance ainda esteja andando sem mente, agora,
isso não seria muito ruim se ele fosse um zumbi,
mas aparentemente ele é um esqueleto,
então ele deveria parar.
Certo, eu deveria parar de piadas.
E vamos ver o que podemos fazer.
Então, aqui, o que devemos fazer é quando estamos ao alcance,
estamos perseguindo o inimigo.
Se estivermos fora do alcance,
a direção para se mover será igual ao vetor 3, 0.
Lá vamos nós. Essa era a direção para se mover e o vetor três
, ok, sim, era. Então, salve isso.
Então, agora, quando saímos do alcance,
devemos parar de perseguir o jogador.
Então, deixe-me saber o quê.
Vamos usar uma visão diferente, um layout diferente.
Podemos usar o dois por três.
Lá vai você. Essa é uma boa maneira também de visualizar o mecanismo Unity.
Então você pode ver agora mudar isso de três aspectos para 19 por 1920 por 1080.
Agora podemos ver a visualização da cena claramente e a visualização do jogo claramente.
Executamos o jogo e chegamos perto do alcance da perseguição.
Lá vamos nós.
Você pode ver que ele continua nos perseguindo quando estou fora desse alcance.
Você pode ver que ele pára imediatamente.
Lá vai você. Você pode ver assim que eu entrar, ele pára.
Quando estou fora, ele pára de perseguir.
Certo, ótimo.
Então, o que isso fez?
Espero que você goste.
Agora podemos fazer o alcance da perseguição um pouco maior
porque sabemos se ficarmos longe o suficiente do inimigo.
Lá vai você.
Você pode ver que ele pára de perseguir garotas.
Agora, você pode adicionar uma camada extra de inteligência ao inimigo, se quiser,
você pode criar um stop range.
Por exemplo, digamos que tenhamos esse intervalo,
temos outro intervalo.
E se o jogador,
se pudermos sair desse alcance,
o segundo, então o inimigo deixará de nos perseguir.
E isso será realmente um desafio para você.
Então, como você gosta das transições para o desafio agora, há melhores, certo?
Eu te peguei desprevenido lá, não foi?
Então, espero criar uma variável de intervalo de continuação perseguindo.
Você precisará desenhar esse intervalo usando os aparelhos.
Você precisa criar um booleano está perseguindo.
Isso é verdade quando perseguimos e falsa quando estamos fora do alcance certo.
E, finalmente, você precisará criar uma declaração else if que verifique se
estamos perseguindo e estamos dentro do intervalo de continuação perseguindo.
Então, espero que você tenha entendido o desafio.
É um pouco difícil.
Vai precisar de um pouco de configuração,
mas tenho certeza de que você está à altura do desafio.
Então, pause o vídeo agora mesmo e vá para o caso Shalon.
Então, a primeira coisa que vamos fazer é criar uma nova variável aqui,
que será a continuação perseguindo.
E vamos chamá-lo de o jogador manter o alcance do Chase.
E então criamos um booleano.
E aqui que vamos chamar,
vou torná-lo privado ou saber o que,
vamos torná-lo público para que possamos vê-lo e depois torná-lo privado.
E o booleano público está perseguindo.
Então, o próximo passo,
qual foi o próximo passo e o desafio que vemos, desenhar
, ok, então vamos desenhar o círculo aqui.
Só vou pegar isso e duplicar.
Então, controle D como sempre,
vamos torná-lo amarelo.
E este será o alcance do keep chases.
Salve isso.
E agora o que temos que fazer a seguir?
Precisamos criar um booleano como rastreamento com isso.
E tudo bem, então quando é verdade?
É verdade aqui quando estamos dentro do alcance e começamos a ir atrás do jogador.
Assim como perseguir é igual a verdadeiro.
Então, o que acontece se sairmos desse alcance?
A perseguição é falsa.
Mas no meio, queremos criar um if else ou então, if.
contrário, se o vetor ou a distância do jogador e do
inimigo ainda for menor que v0, mantenha o alcance do Chase.
E então isso é para, está perseguindo.
O que vamos fazer é manter a direção como ela é.
Lá vai você.
Vamos salvar isso. Vamos olhar mais uma vez e esse código e ver se tudo funciona.
Então, criamos o intervalo,
nós o tornamos amarelo.
O que acontece aqui é que quando o jogador entra no alcance da perseguição,
a direção se tornará o jogador a perseguir.
E então vamos definir que a perseguição é verdadeira.
Em seguida, vamos verificar se o jogador pode sair
ou se o jogador ainda está dentro do alcance do keep Chase.
E estamos perseguindo,
então teremos a direção para nos mover e ainda no jogador.
Else.
Se estivermos fora,
ambos os jogadores perseguem o alcance e eles mantêm o alcance do Chase,
então a perseguição é falsa.
E o que é ótimo nisso é que se entrarmos no jogador mantivermos o alcance do Chase,
o inimigo não nos seguirá porque está perseguindo como falso.
Então, vamos ver se isso realmente funciona.
E vou aumentar o alcance do Keep Chase.
Vamos fazer isso.
Sim, lá vamos nós. Acho que isso é bom o suficiente.
Vou executar o jogo.
E agora vamos ver se eu ando dentro do alcance do Keep Chase.
Nada acontece.
Se eu andar dentro do alcance da perseguição,
o inimigo começa a perseguir.
Se eu estiver, posso realmente empurrá-lo.
Se eu estiver fora do alcance da perseguição,
ele ainda me segue.
E se eu sair de ambos os intervalos?
Ele pára de seguir.
E você pode ver aqui que está perseguindo é falso.
Então ele não me persegue.
Quando a perseguição é verdadeira?
Ele continua perseguindo até eu sair do círculo amarelo.
Então, espero que você faça o desafio.
Espero que não tenha sido muito difícil.
Eu sei que quando fiz esse desafio,
senti que poderia ser um pouco difícil demais,
um pouco confuso demais.
Mas espero que você tenha entendido qual era o ponto do booleano.
Espero que você tenha entendido como as declarações mais se aqui funcionaram.
Se você não assistiu novamente ao vídeo,
acho que expliquei bem o suficiente,
então espero que você goste e eu o vejo no próximo vídeo, onde estaremos
realmente animando nosso inimigo.
Porque, como você pode ver,
ele é muito chato atualmente.
Até lá, tenha um bom dia e eu te vejo então.