Bem-vindo de volta.
Não, você não está vendo o vídeo errado.
Voltei aqui para lembrá-los do código que escrevemos para que estes tanques contornassem estas
palmeiras.
Agora, originalmente tínhamos algum código de ponto de passagem para os próprios tanques, e eles teriam uma precisão de quão perto
chegavam da árvore, e então eles a modos de atualização para ir para a próxima árvore no circuito
particular.
E então atualizamos isso e fomos a um rastreador de progresso onde o rastreador realmente circulou nos tanques,
seguimos o rastreador.
O que eu gostaria que você fizesse para este vídeo em particular é voltar a pensar quando tínhamos apenas os tanques entre
as árvores sem o rastreador de progresso, porque não vamos usar o rastreador de progresso
neste caso em particular.
E também lhe dará uma boa experiência de escrita de código para conseguir algo para ir entre pontos de passagem.
Porque, acredite em mim, já o fiz, penso que um milhão de vezes.
Portanto, o que vamos fazer é nos lembrar disso para que vocês possam ir e descobrir onde está o seu e abrir
isso.
Por enquanto, vou colocar isso fora da estrada.
Agora, vamos voltar a este projeto.
E antes de tudo, vamos entrar no código gráfico porque quero fazer aqui uma pequena mudança.
A Lista de Caminhos será sua lista de nós que você deve seguir no tanque para ir de um local para
o outro.
Certo.
Agora, vamos precisar disto de volta em nosso código de acompanhamento, porque é o que vai seguir estes
nós ao longo destes nós.
Portanto, por enquanto vou tornar isto público, porque isso só vai tornar a vida muito mais fácil.
Se você quiser acrescentar métodos para obter a lista de caminhos e devolvê-la, isso depende completamente de você.
Mas isto é simplesmente mais fácil.
Portanto, vamos salvar isso aqui no gráfico.
Agora volte a fazer o acompanhamento.
O que eu gostaria que você fizesse como um desafio.
Sim.
É uma atualização tardia para começar.
E então, aqui dentro, escreva o código para que, se formos para o heli, a atualização tardia passe pelo processo
de mudança de um ponto de passagem para outro.
E, de fato, só para que isto comece a funcionar, no início, vamos colocar
uma invocação e vamos invocar para funcionar em 2 segundos.
Estamos fazendo isso para que o resto do código e o resto da unidade tenham cronometrado realmente todas as coisas no
inspetor que ele precisa fazer.
Porque se você executar tudo isso no início e depois estiver tentando ir à ruína, pode
ser que os waypoints não tenham sido estabelecidos atualmente no gerente do waypoint e que isso falhe porque não consegue
encontrar as posições inicial e final.
Confie em mim, eu sei porque eu realmente tentei e não funcionou.
É por isso que coloquei aqui a invocação por 2 segundos.
Agora a outra coisa que você pode gostar de fazer também, para que não acabe girando e correndo por aí.
Um dos pontos de passagem é chegar à precisão e mudar isso para um cinco.
Descobri que isso realmente funciona um pouco melhor para resolver este problema.
Muito bem, então vamos salvar isto.
Agora é a sua vez de ver se você pode escrever esse código de atualização tardia.
Portanto, faça uma pausa no vídeo e tente.
Quando voltarmos, eu passo por ela com você.
Bem-vindo de volta.
Como você foi com.
Essa foi uma grande tarefa.
Agora, há inúmeras maneiras de se estabelecer este código para que ele funcione.
Vou apenas mostrar-lhe o meu caminho.
Você pode vir com algo completamente diferente, que ainda funciona muito bem, e isso é absolutamente
bom.
Ok, então o que vamos fazer?
Primeiro de tudo, é verificar se temos um caminho que possamos seguir e que ainda não estamos no final do
caminho que estamos seguindo.
Portanto, se a contagem do comprimento dos pontos da lista de pontos G for igual a zero ou o ponto de passagem atual for igual a zero.
Portanto, o índice do ponto de passagem atual é igual à lista de pontos g de caminho.
Contagem de pontos.
Se for esse o caso, então vamos simplesmente voltar porque não temos para onde ir.
Ou não temos caminho ou estamos no final do caminho que estávamos seguindo.
Ok, então agora vamos testar se chegamos suficientemente perto do ponto de passagem para que possamos
mudar para o próximo ponto de passagem.
Portanto, se o vetor três pontos de distância da lista de trajetos de pontos g na posição WP atual.
Posição do ponto de transformação.
Agora esta é uma lista de caminhos de nós.
Agora isto será um ponto de identificação porque é isso que tem o objeto de jogo nele.
Queremos ter certeza de transformar o nó em objeto de jogo para obter a posição.
Agora a distância entre isso e onde o tanque atualmente está, que será esta posição de ponto de transformação
e que será então testada contra nossa precisão, que é a mesma coisa que fizemos onde
tínhamos os tanques correndo ao redor das palmeiras.
Certo, então se este for o caso, temos perto o suficiente do ponto de passagem para que possamos ir
para o próximo ponto de passagem.
Agora, se não estamos no final de nosso caminho, se ainda estamos seguindo os pontos de passagem,
vamos, se estamos em dia.
O ponto de passagem é menos do que a contagem de pontos da lista de pontos g de passagem.
Então nosso objetivo será igualar a lista de pontos g de caminho na posição.
O ponto de passagem de corrente recebe o ponto de id transformam vetor três.
Olhe para o objetivo.
Esta é a direção para a qual precisamos olhar para que possamos de fato fazer a rotação do nosso
tanque.
Novo vetor três vai ponto posição ponto x.
E então este ponto transformou o ponto y e depois o ponto z da posição de objetivo.
A razão pela qual estamos tomando a posição y dos tanques é para que o tanque não incline para frente ou para trás, para
que ele permaneça nivelado no Y.
Mesmo que você tenha colocado suas posições de waypoint ligeiramente para cima ou para baixo a partir da posição dos tanques, isto apenas garantirá
que você mantenha o nível do tanque.
Certo.
Agora o vetor três direções equivale a olhar para a meta menos esta posição do ponto transformador e então podemos fazer nossa rotação.
Portanto, esta rotação de pontos de transformação é igual a rotação de pontos de transformação e pode virar em pontos
de aparência.
Rotação em direção.
E então nossa velocidade, que será o tempo, tempo delta multiplicado pelo nosso valor de velocidade.
E então simplesmente empurramos nosso tanque para frente.
Portanto, este ponto transforma-se.
Traduzir ponto.
Pá zero multiplicada pelo tempo do ponto delta de tempo.
Uma coisinha que esqueci de colocar neste código antes de continuar é colocar nesta linha aqui para
que quando você chegar a um ponto de passagem, então este nó atual seja atualizado porque é este nó atual que está sendo
usado basicamente para definir a posição inicial do caminho em todas as suas viagens.
E se você não tiver isto, então ele simplesmente não agirá corretamente.
Então você quer definir o nó atual para o nó atual que você realmente acabou de encontrar, que é com esta coisa
da distância, então você pode atualizar o waypoint atual para ir para o próximo e quando ele encontrar o próximo
waypoint, ele atualizará isso para o nó atual também.
Muito bem, ótimo.
Poupe isso.
E agora estamos prontos para testá-lo.
Portanto, vamos voltar à unidade.
Certo.
Por isso, agora o que precisamos fazer é colocar nosso tanque ou está na hierarquia e temos este gerente de WP exposto
aqui.
Precisamos do gerente do WP para obter o gráfico e a lista de caminhos e todas essas coisas
de lá.
Certo?
Então vamos brincar com a imprensa e poderemos ver nosso tanque em movimento.
Vamos apenas ampliar a visão de cena aqui para que possamos ver o que está acontecendo.
Portanto, vamos começar de novo no Waypoint one agora depois de 2 segundos, vamos começar em nossa rota
e vamos por este caminho.
Bem, eu não deveria prever para onde isso vai.
Vai tomar o caminho mais curto que encontrou.
É claro que poderia ter dado a volta por aqui, creio eu, também, e ter chegado até lá.
Portanto, agora estamos aqui.
Portanto, podemos realmente programar neste ponto para voltar ao heliponto.
Portanto, ele deve dar a volta e seguir os pontos de volta e nós voltaremos e colocaremos alguns pequenos botões
para comandos na próxima palestra.
Mas, enquanto isso, você pode gostar de programar em alguns outros destinos.
Certo, então temos de ir para Heli, temos de ir para a ruína.
Poderíamos ter algo como ir ao que são estas bombas de óleo ou fábrica ou o que quer que seja, ir
para a fábrica, ir para lá.
A decisão é sua.
Portanto, basta colocá-los.
E isso entraria em nosso código de followpoints com nossos outros go tos aqui dentro.
E quando voltarmos na próxima palestra, mostrarei a você como colocar alguns
botões realmente rápidos na tela para chamá-los e fazer nosso tanque circular pelo ambiente.