Ok, neste vídeo, eu vou te desafiar um pouco.
O que eu gostaria que você fizesse é manter a perseguição e a mecânica oculta como a que temos, mas
agora inclui uma variedade.
E se o policial estiver a uma distância de 10 do assaltante, o assaltante deve apenas passear.
Então deixe-me mostrar isso em ação.
OK, então ele agora vai se
esconder e pode aparecer nessa visão aqui.
Ele está escondido atrás das costas.
Aqui ele vem por aí.
E se eu puder, você pode ver que ele ficou maravilhado agora, o que eu vou fazer é apenas tentar fazer com
que ele me siga até aqui e eu vou ficar perto dele.
Então aqui vem ele.
Não quero me virar e assustá-lo.
ESTÁ BEM.
E agora eu vou muito rápido para sair de uma distância de 10, ponto em que ele só
vai passear e fazer suas próprias coisas.
Então ele apenas entra em uma janela.
Mas então, se eu voltar a ser visto de novo assim, ele decidirá que precisa se esconder de mim,
o que acabou de
fazer. Se eu me virar e ele voltar para dar uma olhada, ele não
sairá e vagará porque essa distância é 10, obviamente, em torno dessa área OK.
Então, veja se você consegue montar Pausa no vídeo agora e quando voltarmos, mostrarei como eu
o implementei.
Tudo certo.
Como você foi com isso?
Bem, a primeira coisa que você precisará é determinar se o policial está fora de alcance.
E para isso eu vou criar outro método.
Então, ele retornará um alvo de bull bull no intervalo.
Vamos ligar.
Agora você pode realmente passar isso por um intervalo específico, se desejar configurá-lo
para ter uma variável e usá-la para outras condições na atualização.
Mas não estamos fazendo isso.
Tudo o que vamos fazer é que se a distância do vetor 3 entre essa posição do ponto de
transformação de ponto e a posição do ponto de transformação de ponto alvo for menor que 10, retornaremos
ao caso contrário retornaremos falso.
ESTÁ BEM.
Então esse é o nosso objetivo no alcance.
Agora, apenas precisamos implementar isso em nossa atualização.
Então, onde vamos colocá-lo.
Bem, se o alvo está fora do alcance, realmente não depende se você pode ver algo ou se o alvo
pode apenas ver o simples fora do alcance.
Portanto, ele realmente precisa ser a primeira coisa na sua declaração if.
Então, se tivermos como alvo o alcance, então o que podemos fazer aqui é maravilhoso.
E não vou definir uma recarga para esse comportamento em particular, porque quero que ele pare
imediatamente de se perguntar se o agente entra em cena e pode continuar em altura e fazer todas essas outras coisas.
Agora precisamos colocar um outro aqui.
Então, estamos verificando se estamos fora do alcance, e queremos que a dúvida aconteça praticamente, não importa o quê.
É por isso que está no topo e na carne porque nós o fazemos com essas outras coisas.
Eles não tentarão substituí-lo se já estiver acontecendo ou se essa for uma condição verdadeira.
E é isso mesmo.
Tão simples.
Nós adicionamos apenas como um dois três quatro cinco seis sete oito nove linhas de volta 10 aqui apenas para fazer
isso.
E a maioria foi justamente em nossa condição que colocamos aqui.
Então, isso salvará o retorno à unidade e podemos pressionar o play e experimentar isso com nosso pequeno agente, que estamos
procurando para começar.
E então, se agora sairmos aqui, ele simplesmente sairá e vagará, e se voltarmos ao alcance, ele irá se
esconder, o que você não pode ver, porque ele está aqui agora.
Portanto, temos esse comportamento complexo e agora você pode duplicar seu robô e criar algumas versões dele para
poder ver como é se você tiver muitos agentes.
Então, vamos apenas selecioná-lo e controlar D para fazer uma cópia atingir a gaiola W para garantir que
ele possa
movê-los. Não sei quantos queremos quantos você realmente gosta.
OK.
E agora vamos pressionar play e todos eles vão se esconder.
Ou, na verdade, aqueles que estão no outro extremo e se perguntaram.
Alguns deles estão se escondendo.
Então, se levarmos o policial até esses caras, podemos fazê-los se esconder dele.
Eles vão se esconder atrás daquela árvore.
Veja se eu posso forçá-los a todos virem do outro lado e se esconderem dele.
Então ele vem um monte.
Eles estão escondendo os policiais atrás da casa.
E ele obviamente não tem colisores nessa casa.
Então, vamos reverter isso, porque a maioria das ações acontecem naquela área
de trás e fica ocupada.
Esses caras vão se esconder atrás daquela árvore ali.
E se eu me virar, todos aqueles caras voltarão e se esconderão atrás da casa, do outro lado, e
os outros vão se perguntar.
E nós temos um bom comportamento complexo.
Agora, se eu pegar meu policial, trazê-lo de volta para a
frente e tirá-lo totalmente do alcance de todos, então todos deveriam sair por conta própria.
Como você pode ver, eles estão andando alegremente e, se alguma vez vagam perto do policial,
são como se descobrissem que ele de repente existe.
Talvez se formos assim, então eles comecem a se aproximar dele e colocá-lo aqui.
Então, quando eles vagam dentro do alcance, é claro que não, porque eu estou querendo que eles estejam
agora.
Então, alguns deles agora se esgueiraram atrás dele e ele veio alguns outros se esgueirando por aqui.
Mas se eu me virar, vou forçá-los a fugir e me esconder de mim porque os notei que gosto de como todos tiveram que dar uma
olhada na esquina para ver se ele ainda estava lá.
Eu acho que esse é outro comportamento complexo que agora adicionamos ao nosso tipo sorrateiro de perseguição que
temos vagando e você pode escapar dessa se quiser colocar isso em vez de esconder que alguns poderiam escapar ou em algum
momento ele iria se esconder.
Ou, se você não estiver perto o suficiente de uma posição secreta específica, que é outra coisa que você poderia
programar, poderia entrar no modo de fuga.
Portanto, se você não encontrar nenhuma maneira de se esconder, comece a fugir de muitas possibilidades.
Agora que você tem esse conjunto simples de ferramentas para esses agentes.